全屏四边形渲染(Fullscreen Quad Rendering) 渲染全屏四边形(或填充整个屏幕的东西)是 3D 实时图形中的一项常见任务,因为许多效果依赖于在 [0..1] 范围内使用适当的 uv 坐标在整个屏幕上渲染纹理。这适用于后期处理(光照计算、ssao)、延迟着色或程序生成的输出。 渲染此类全屏四边形的最先进方法是设置包含顶点(可选纹理坐标)和索引的缓冲区,用于渲染由两个三角形组成的四边形,绑定这些缓冲区并将它们作为着色器的输入属性。虽然这在 Open 2026-06-06 Graphics #PostProcessing
延迟渲染(Deferred Shading) 1. 基本概念正向渲染下,是否丢弃某片元的操作是在各种测试之后,如果在frag阶段做大量算法(如光照计算),而后进行的测试将该片元舍弃,等于做了无用功。当光照数量可观时,严重消耗了算力。 而延迟渲染下,先渲染场景一次,记录有效的 位置向量(Position Vector)、颜色向量(Color Vector)、法向量(Normal Vector)和/或镜面值(Specular Va 2026-06-06 Graphics #Lighting
级联阴影映射(Cascaded Shadow Map) 让我们近距离观察一下: 阴影的质量不高,因为这种块效应,将其称为透视锯齿,视图空间中的大量像素被映射到阴影贴图中的同一像素,这意味着所有这些像素要么处于阴影中,要么处于光亮中,从而产生块状感。换句话说,由于阴影贴图的分辨率不够高,因此无法充分覆盖视图空间。解决这个问题的一个明显方法是增加阴影贴图的分辨率,但这会增加我们应用程序的内存占用,因此它可能不是最好的做法。 处理此问题的另一种方法是注意 2026-06-06 Graphics #Shadow
前向多光照改进渲染(Forward Plus Shading) Tiled-based Deferred Shading在进入正题之前,我们先回顾一下Intel在SIGGRAPH Courses 2010里提到的Tiled-based Deferred Shading。它的算法框架是: 生成G-Buffer,这一步和传统deferred shading一样。 把G-Buffer划分成许多16×16的tile,每个tile根据depth得到bounding b 2026-06-06 Graphics #Lighting
集群前向多光照渲染(Clustered Forward Shading) 基本概念cluster shading是将相机的Frustum按x y z切块成cluster,记录每个cluster 受哪些实时光源影响,再对有效的cluster进行光照计算。 痛点解决tbdr和观察物体有强关联,在深度不连续的地方,会导致开销增大的问题。 基本步骤 pre depth,只渲染不透明物体 计算保存 有效的cluster 根据lighting(pos,range)计 2026-06-06 Graphics #Lighting
遮蔽_AO 遮蔽是一个重要的暗化因素, 用于在各种尺度下重建阴影: 小尺度: 微遮蔽, 用于处理折痕, 裂缝和空洞 中等尺度: 宏遮蔽, 用于处理物体自身几何遮蔽或法线贴图(砖块等)中烘焙几何体的遮蔽. 大尺度: 遮蔽来自物体之间的接触, 或来自物体自身的几何. 微遮蔽: 在漫反射贴图中预先烘焙漫反射微遮蔽, 并在反射纹理中预先烘焙镜面微遮蔽. 在我们的系统中, 微遮蔽可以简单地在基色图中烘焙. 这必须在知道 2025-05-05 Graphics #PostProcessing
延迟渲染-deferred_shading 以高通骁龙8 elite为例:在手机任务场景里,大2缓的架构设计,表现得最佳!其实手机端的进程通常都是独立的,很少会出现大规模的并发任务数量,也不存在一堆前台并行运行处理的APP,因此,大多数的手机任务,只要请求的进程数不超过核簇规模,就无需3缓做核间通信,3缓面积留给2缓的架构设计,让巨大的2缓带来最大化的单核能效,多核场景就直接调用。 2025-05-05 Graphics #Lighting
debian搭建github博客手册 安装npm node.js 1234sudo apt install node.js npm安装 hexonpm install hexo 验证 hexo 123456hexo -v创建blog仓库mkdir blog_repo_namecd blog_repo_namehexo init 安装主题 12#此方法安装的主题文件位于node_modules,亦可下载主题包放在themes文 2025-05-05 Toolchain #Blog
debian配置手册 配置clash 网络代理配置 设置->网络->网络代理 http 127.0.0.1 7890 https 127.0.0.1 7890 socket 127.0.0.1 7891 开机自启 创建 1sudo nano /etc/systemd/system/clash.service 配置 123456789101112[Unit]Descr 2024-04-04 Toolchain #OS
oh-my-posh配置手册 安装oh-my-posh 1winget install JanDeDobbeleer.OhMyPosh -s winget 配置 1code $PROFILE 按需求配置 PROFILE 1234567891011121314151617#根据爱好设置主题名(exp:robbyrussell)oh-my-posh init pwsh --config $env:POSH_THEME 2024-04-04 Toolchain #Shell