shensunbo Blog

「离开世界之前 一切都是过程」

WSL ext4.vhdx 占用空间大

问题描述 WSL ext4.vhdx 占用空间很大,即使在虚拟机中删除了很多文件,但在windows侧ext4.vhdx并不会自动收缩,仍然占用大量磁盘空间。 解决方案 关闭虚拟机 1 2 3 4 5 6 PS C:\Users\***> wsl --shutdown PS C:\Users\***> wsl --list --verbose NAME ...

android aidl

AIDL 的学习日志 AIDL是什么(AI GENERATED) AIDL(Android Interface Definition Language)是Android平台上的一种接口定义语言,用于定义不同进程之间通信的接口。它允许开发者在不同的应用程序或服务之间进行跨进程通信(IPC),使得它们能够共享数据和功能。AIDL通过定义接口文件(.aidl文件)来描述服务端提供的接口和客户端调...

docker基础操作

Docker 使用说明 基本概念 Image(镜像):Docker 镜像是一个只读的模板,包含了运行应用所需的所有内容(代码、库、依赖、环境等)。可以理解为操作系统的快照。 Container(容器):容器是镜像的运行实例。它是一个隔离的进程环境,可以启动、停止、删除。容器基于镜像创建,但可以有自己的数据和状态。 对比项 镜像(Im...

开发板renderer第一次draw花费的时间很长

问题 第一次渲染循环(draw call)花费的时间特别长,超过了1s,后续的渲染循环时间正常,10ms左右。 解决方案 create的时候资源预热, 在create完成之后先draw一次 ✅ 现象解释 OpenGL 资源首次上传/懒加载现象 OpenGL 资源(VBO/VAO/纹理/UBO)通常在 glBufferData、glTexImage2D 等 API 调用时分配...

ImageMagick

修改分辨率 1 2 3 4 5 6 7 8 9 10 11 12 13 # 进入纹理目录 cd "path/to/your/texture/directory" # 创建输出目录 mkdir -p "../TEX_2K" # 批量处理所有PNG文件 for file in *.png; do echo "处理: $file" convert "$file" -resize...

测量OpenGL指令执行时间

CPU和GPU的执行是异步的,CPU发出OpenGL指令后,并不会等待GPU执行完成,而是继续执行后续代码。因此,直接在CPU端测量OpenGL指令的执行时间是不准确的。 glFlush() vs glFinish() 方面 glFlush() glFinish() 作用 发送命...

使用FreeType字体库为NV12的图像叠加水印

reference CPU方案,仅适用于简单的字符水印,比如时间戳等。复杂的水印建议使用GPU方案。 这个方案存在字体边缘有黑色边框的问题 😁 fixed TODO list 优化处理速度,目前X86上叠花费大概300us,FT_Load_Char总共占了200us,后续修改为将字符预渲染到查找表中,查表替代实时渲染。 已经修改...

HDRI图像制作skybox cubemap

使用到的网站 HDRI资源网站:Poly Haven 立方体贴图制作网站:HDRI to CubeMap 制作流程 从Poly Haven网站下载HDRI图像资源,选择合适的分辨率和格式(建议使用HDR格式以保留高动态范围信息)。 打开HDRI to CubeMap网站,上传下载的HDRI图像。 CUBEMAP VIEW可以调整显示区域和曝光度 点击sav...

尝试的优化渲染速度的方法-启动速度

加载模型-assimp 😫aiProcessPreset_TargetRealtime_Quality,这个配置包含了大量的计算 aiProcess_CalcTangentSpace:计算切线空间 🔴 高 aiProcess_JoinIdenticalVertices - 合并重复顶点 🔴 高 aiProcess_GenSmoothNorm...

blender制作各种纹理

AO 贴图 使用 使用乘法器与漫反射贴图相乘,增强阴影效果 制作 创建一个image texture 节点 new 一个纹理,命名为 *.png 选择render→cycles, 使用GPU计算 找到bake选项,bake type 选择 ambient occlusion, 点击其中的bake按钮开始制作AO贴图 切换至texture节点,保存纹理图片到...