- 博客(133)
- 收藏
- 关注
原创 [图形学]在半球面上按照微表面模型采样
本文介绍了如何根据 pbr 中的法向分布函数(Normal Distribution Function, NDF)在半球上进行采样。
2025-03-25 22:37:09
410
原创 [OpenGL]使用OpenGL实现基于物理的渲染模型PBR(上)
本文介绍了 **基于物理的渲染(Physically Based Rendering, PBR)** 的基本概念,实现流程和简单的代码实现。
2025-03-10 20:18:58
860
原创 [OepnGL]使用OpenGL实现级联阴影(Cascaded Shadow Map)
本文介绍了 **级联阴影贴图(Cascaded Shadow Mapping, CSM)** 的基本概念,实现流程和简单的代码实现。
2025-03-04 10:58:36
625
原创 [OpenGL]实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)
本文介绍了 **屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)** 的基本概念,实现流程和简单的代码实现。实现 SSAO 时使用到了 OpenGL 中的[延迟着色 (Deferred shading)技术](https://blog.youkuaiyun.com/Strengthennn/article/details/144849902)。
2025-01-21 11:39:48
1392
原创 [OpenGL]使用OpenGL实现延迟着色Deferred Shading
本文介绍了延迟着色(Deferred shading)的基本概念,实现流程和简单的代码实现。
2025-01-06 15:00:09
951
原创 [OpenGL]使用glsl实现smallpt
本文介绍了如何使用 OpenGL,使用 glsl 语言在 Fragment shader 中实现 smallpt。
2024-12-30 21:38:38
618
原创 [OpenGL]使用 Compute Shader 实现矩阵点乘
本文介绍了如何使用 OpenGL 中的 compute shader 进行矩阵相乘的并行运算。代码目标是,输入两个大小为 10*10 的矩阵 A 和 B,计算 A*B 的结果并存储到矩阵 C 中。
2024-12-23 17:25:49
860
原创 [OpenGL]使用TransformFeedback实现粒子效果
本文介绍了如何使用OpenGL中的TransformFeedback实现粒子效果。
2024-12-21 17:25:10
1030
原创 [OpenGL] Transform feedback 介绍以及使用示例
本文介绍了 OpenGL 中 Transform Feedback 方法的基本概念和代码示例。
2024-12-14 23:55:34
1530
原创 [OpenGL]使用GeometryShader实现法线可视化
本文介绍了 OpenGL 中 Geometry Shader 的基本用法。包括对 Geometry Shader 的简介,并给出了如何使用 Geometry Shader 从线段生成多边形、从三角形生成点、从三角形生成四边形 和 显示模型顶点法线 这几种情况的代码示例。
2024-12-08 11:06:51
817
原创 [OpenGL]使用OpenGL实现透明效果
本文介绍了如何使用OpenGL实现透明效果(transparent),并在最后给出了全部的代码。在实现透明效果时,使用OpenGL中的混合(Blend)功能,根据纹理贴图的 alpha 分量将各像素(片段)对应的多个颜色值进行混合。
2024-11-15 20:51:15
1743
原创 [OpenGL]使用OpenGL实现天空盒(skybox)
本文介绍了如何使用OpenGL实现天空包围盒(skybox)效果。场景中包含一个模型,模型使用Blinn-Phong光照模型。
2024-11-12 23:23:53
1755
原创 [OpenGL]使用OpenGL实现软阴影效果
本文介绍了如何使用OpenGL,基于 percentage-closer filtering, PCF算法,实现软阴影效果。并在最后给出了全部的代码。
2024-11-09 22:02:58
820
原创 [OpenGL]在CPU中读取纹理对象的数据
本文介绍了如何在cpu中读取textaure中的数据,并且将各个坐标(u,v)处的纹理颜色值打印在屏幕上。
2024-11-05 16:26:28
316
原创 [OpenGL]使用OpenGL实现模糊效果(Blur Effect)
本文介绍了如何使用OpenGL实现模糊效果(Blur Effect),并在最后给出了全部的代码。
2024-10-31 15:08:27
1079
原创 [OpenGL]使用OpenGL实现Phong、Blinn-Phong模型
本文介绍了如何使用OpenGL实现Phong,Blinn-Phong光照模型
2024-10-20 23:25:40
887
原创 [图形学]蒙特卡洛积分方法介绍及其方差计算
蒙特卡洛积分算法是一种数值积分算法,用于对复杂函数进行积分。∫abfxdx(1)∫abfxdx1其中fxf(x)fx很复杂,无法找到解析解。我们可以在fxf(x)fx的定义域ab[a,b]ab上按照任意的概率密度函数pxp(x)px进行采样。
2024-10-18 14:58:15
1163
原创 [图形学]smallpt代码详解(下)
本文继续详细讲解中的main函数部分,包括渲染场景的定义相机的设置光线的生成滤波处理减少噪点和保存最终渲染结果几部分。
2024-10-08 22:49:26
764
原创 [图形学]smallpt代码详解(中)
smallpt源代码在第41到47行声明定义了clamp()toInt()和0 : x>1?1 : x;clamp()函数将输入参数x限制在[0,1]范围内,避免浮点数计算出错,出现小于0.0或者大于1.0的计算结果。toInt()函数将输入的在[0,1]范围内的输入参数x先进行伽马矫正(Gamma Correction),伽马校正线性颜色空间转换为 sRGB 颜色空间。伽马校正有助于提高图像在显示器上的视觉效果。,然后映射到范围[0,255]。// n 为场景中的球面物体个数。
2024-10-07 16:46:26
701
原创 [图形学]在半球面上均匀采样和cos加权采样
本文介绍了如何在半球表面上进行半球面均匀采样半球面cos加权采样采样。给出了相关公式推导和python代码实现。
2024-10-06 17:48:07
1376
原创 [C++]CMake使用OpenMP并行加速
OpenMP (Open Multi-Processing) 是一个用于并行编程的应用程序接口(API),它支持多平台共享内存的多线程并行化。本文介绍了如何在CMake项目中使用OpenMP进行并行加速。
2024-10-02 11:12:29
583
原创 [OpenGL]使用OpenGL绘制三维立方体
本文介绍了如何使用OpenGL使用OpenGL绘制三维立方体。在绘制三维立方体时,使用glm库确定对顶点进行坐标变换的矩阵。
2024-09-23 19:54:32
1359
原创 [OpenGL]使用OpenGL配合EBO绘制多个三角形
本文介绍了如何使用OpenGL绘制多个三角形。在绘制多个三角形时,使用EBO管理顶点数据,使用5个顶点数据,绘制出两个三角形。其中第一个三角形使用顶点0,顶点1和顶点2。第二个三角形使用顶点0,顶点3和顶点4。
2024-09-15 11:33:03
571
原创 [Pyplot]设置图中字体为TimesNewRoman
本文介绍了如何在linux环境下在python中使用绘制图表时,令其中的文字字体为Times New Roman。
2024-08-29 09:44:30
866
OpenGL实现屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)
2025-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人