【OpenGL】计算着色器入门

摘要 OpenGL4.3 引入了 计算着色器(Compute Shader) 这使得我们可以在 GPU 上直接利用 GPU 的并行计算能力来处理非图形任务,标志着 OpenGL正式具备了 GPGPU(通用图形处理器计算)的能力 这篇文章将会以例子的角度来介绍如何使用 Compute Shader ...

March 21, 2026 · 4 min · 1844 words · 氧均竭
cover

【Rendering】延迟渲染基于OpenGL

延迟渲染(Deferred Rendering) 是一种专为高效处理海量光源而设计的渲染技术,旨在解决传统前向渲染(Forward Rendering) 在多光源场景下的性能瓶颈。在前向渲染中,每个物体在绘制时都必须遍历场景内的所有光源并逐一计算光照。这意味着,若场景中有 $n$ 个几何片段和 $m$ 个光源,计算复杂度将达到 $O(n \times m)$。当光源数量增加时,渲染开销会呈线性爆发式增长。 ...

March 19, 2026 · 3 min · 1495 words · 氧均竭
cover

【CG】HDR & Tone Mapping

HDR 传统的显示设备使用的是 LDR 模式,即线性 Device-Independent-RGB 模式,它通常使用 8 位来代表一个每个颜色通道的值。 但是在 LDR 模式下所有的颜色都被限制到了 0 到 1 之间,这导致如果场景中存在一个颜色值超过 1 的物体,那么这个物体的颜色就会变成纯白。 HDR 模式则允许颜色的值超过 1,因此 HDR 模式下可以处理更丰富的场景。 如下图所示,LDR 模式下物体的纹理细节根本看不见 ...

March 17, 2026 · 2 min · 644 words · 氧均竭
cover

【CG】Shadow Mapping 使用OpenGL实现

如果你玩过现代 3D 游戏那么其中大多数的的动态物体阴影都是 **阴影映射(Shadow Mapping)**这个算法的变种。 所以为了研究其他的现代的实时动态阴影我们必须先学习一下 Shadow Mapping 的原理,以及如何使用OpenGL去实现。 ...

March 16, 2026 · 6 min · 2707 words · 氧均竭
cover

【OpenGL】使用曲面细分着色器绘制Bezier曲线

【OpenGL】使用曲面细分着色器绘制Bezier曲线 这篇文章将直接介绍使用曲面细分着色器绘制Bezier曲线,而不会介绍Bezier曲线,但是会介绍 OpenGL 的曲面细分着色器的简单用法以及相关内容。 介绍 曲面细分着色器(Tessellation Shaders) 是在 OpenGL4.0 版本引入的。在这之前,有一些私有扩展可以使用,但是直到 4.0 曲面细分才正式成为 OpenGL 的一部分。 ...

March 15, 2026 · 7 min · 3289 words · 氧均竭