第十章 OpenGL 1.0版的光照效果
发布时间
阅读量:
阅读量
OpenGL
- 多光源
-
- 定向光
- 点光源
- 合并
多光源
前一章节介绍了OpenGL中的光照相关知识,并涵盖了冯氏着色(Phong Shading)、材质(Material)以及光照贴图(Lighting Map)等内容,并提到了不同类型的投光装置(Light Caster)。为了进一步完善这一部分的内容,请结合前面所学的知识,在场景中构建包含六个不同光源元素的情境。具体包括以下几种光源:方向光源、四个分散式的点光源以及一个手持式手电筒。在构建多光源场景时,请将这些光照计算过程封装到GLSL函数中进行处理。由于每种光源类型对应的光照计算方法各不相同。
GLSL中的功能类似于C语言的功能。每个功能都有明确的名字和返回类型。如果某个功能不在主程序前面定义,则必须在代码文件的顶端部分声明其原型。对于每种光照类型,我们都分别创建不同的功能模块:包括直接照明、点光源照明以及聚光。
为了确保每个片段都有一个独特的视觉表现,我们需要为每个片段分配一个独立的颜色向量来表示其输出颜色。对于每一个光源而言,在其照射下生成的片段会积累一种影响颜色,并将其叠加到该片段的整体输出颜色向量中。因此,在整个场景中会有多个光源分别对其所照射的区域进行评估,并将这些区域的颜色信息综合起来形成最终呈现的颜色结果。
out vec4 Fr
全部评论 (0)
还没有任何评论哟~
