GPU 决定 Mipmap 层级(Level of Detail, 简称 LOD)的核心逻辑是:计算纹理坐标在屏幕空间中的最大变化率,然后通过对数运算将其映射到对应的 Mipmap 层级。

OpenGL Mipmap

阅读全文 »

在看separable-sss的shader的时候,关注了一下其中点光源生成shadowmap的投影矩阵的处理,方法来自于Linearized Depth using Vertex Shaders,生成[0, 1]的线性深度。这也让我意识到,对于z在管线每一步的计算中,什么时候是线性的,什么时候变得不线性,我并没有掌握所有细节。

1
2
3
4
5
6
7
8
9
10
/**
* This is for rendering linear values:
* Check this: http://www.mvps.org/directx/articles/linear_z/linearz.htm
*/
D3DXMATRIX linearProjection = projection;
float Q = projection._33;
float N = -projection._43 / projection._33;
float F = -N * Q / (1 - Q);
linearProjection._33 /= F;
linearProjection._43 /= F;

阅读全文 »

以前记录的旧文档,先简单整理一下,免得遗失

jitter sample

sample
1
View.ViewMatrices.HackAddTemporalAAProjectionJitter(FVector2D(SampleX * 2.0f / View.ViewRect.Width(), SampleY * -2.0f / View.ViewRect.Height()));
阅读全文 »

2026年, 又是夏天。 还记得小时候的暑假, 醒来时的午后, 蝉鸣,也不显得聒噪, 时间温润的大手, 抚过我的记忆, 那是人生至享的时刻。 那时候, 父母也还年轻, 青山绿水,天总是很蓝, 我挥动竹竿, 追逐满天的蜻蜓, 我以为拥有了整个夏天。

本文基于AI生成步骤和具体实践整理。

步骤一:下载Command Line Tools

  1. 打开 https://developer.android.com/studio?hl=zh-cn#command-line-tools-only,下载 Windows 版的 command line tools 压缩包(名字类似 commandlinetools-win-xxxxxxx_latest.zip)。

  2. 在某个目录创建 SDK 根文件夹,比如 C:\android-sdk

  3. 解压压缩包,你会得到一个 cmdline-tools 文件夹,里面有 binlib 等。注意:需要再套一层 latest,最终目录结构必须是这样:

阅读全文 »

之前在Bufferless rendering in OpenGL提到使用一个三角形渲染全屏的方法,没想到此处犹有后续。使用包含全屏范围的三角形和scissor test,实现一个三角形渲染全屏的效率,比两个三角形组合成一个全屏quad的方法更高效。

Optimizing Triangles for a Full-screen Pass

What’s the best way to draw a fullscreen quad in OpenGL 3.2

阅读全文 »

记录一下渲染子进程中的截帧工具的使用,记录原因是,一开始并不顺利。目标程序是一个launcher进程,然后需要截帧的是子进程,渲染时OpenGL的,话说几个月前,通过RenderDoc的Capture Child Processes配置是成功截取过的,但是这次失效了,连同Nsight Graphics也遇到了问题。经过一些摸索,最终在两个工具中都能顺利截帧,在此记录一下。

RenderDoc

RenderDoc设置Capture Child Processes,但是启动子进程一直失败,先是尝试使用File>Attach to runing Instance未奏效,然后尝试进程注入。

阅读全文 »

不太会画各种流程图,但是有时候又不得不画一个糙图交差。之前倒是用过puml,但是想用一个又简单又能立即显示的工具,简单找了一下文本生成流程图的做法,第一种markdown中写mermaid最为简单直观;第二种\(\LaTeX\)TikZ,很重型了,但是排版起来会很好看。

Mermaid

Mermaid 是一个用纯文本生成图表的 JavaScript 库。通过mermaid语法描述图的结构和关系,它就能自动渲染成流程图、时序图、甘特图等可视化图表,不需要手动拖拽画图。

阅读全文 »
0%
×