简单记录一下ue中global shader的注册、编译和使用。ue的shader里面各种宏乱飞,不得不说,宏是各种引擎里面,最恶心的地方了,尤其是uber shader的大一统写法,不过也算是有舍有得。

本文以PostProcessSubsurface.cpp/PostProcessSubsurface.usf的MainIndirectDispatchCS为例。

  1. global shader中宏的声明
阅读全文 »

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未奏效,然后尝试进程注入。

阅读全文 »
0%
×