随笔分类 - LearnOpenGL
摘要:# 一、理论 ## 1. 反射率方程 反射率方程应该这样理解: * 辐射radiance某个着色点或者
阅读全文
摘要:# 一、Blinn-Phong model * 冯氏模型的镜面反射采取了观察方向与反射方向的夹角,这样会造成当夹角大于九十度时,就会造成镜面反射光为零,这样一般情况下问题不大,但是当镜面反射的glossy程度比较大时,就会出现镜面反射边缘的截断现象。 * Blinn-Phong model改用半程向
阅读全文
摘要:# 一、深度测试 ## 1. 深度缓冲 * 深度缓冲记录了屏幕空间内的像素深度(width*height),它会以16、24或32位float的形式储存它的深度值。在大部分的系统中,深度缓冲的精度都是24位的。 ## 2. gl_FragCoord * 对于每一个片段的深度,可以从GL_FragCo
阅读全文
摘要:# 一、Assimp * Assimp可以将模型导成如下的格式: * 首先,该模型被打包成一个**scene**对象,是aiScene类型的,一般是导出为指向常量的指针。在scene中保存着三个对象: * 第一个是一个aiNode类型的指针,即根节点scene->mRootNode。 * 第二个是一
阅读全文
摘要:# 一、颜色 * 对光源和物体写不同的shader * 物体:反射颜色是自身反射率与光源颜色的乘积 ```cpp #version 330 core layout(location = 0) in vec3 aPos; layout(location = 1) in vec3 aColor; lay
阅读全文
摘要:# 一、OpenGL ## 1. 核心模式与立即渲染模式 * 早期的OpenGL使用立即渲染模式(Immediate mode,也就是固定渲染管线),OpenGL的大多数功能都被库隐藏起来。 * 从OpenGL3.2开始,规范文档开始废弃立即渲染模式,并鼓励开发者在OpenGL的核心模式(Core-
阅读全文