光在opengl中的差异

Difference between lights in opengl

本文关键字:opengl 光在      更新时间:2023-10-16

我有一个关于创建不同类型的光的问题。全向光和具有小截止角的光之间的区别是什么?我应该在OpenGL中使用什么来实现这些?

全向光模型和定向光模型的区别在于选择哪些片段受光影响的算法。

全向光影响所有碎片是所有方向,而定向光有一个方向和一个截止角(光锥)。光一般都有衰减系数,用来限制应用范围。

通常光通过添加颜色成分来贡献片段的颜色。颜色组件有环境色、漫反射色、高光色……每个组件都使用一些参数进行缩放,例如添加到视点的距离,或反射光线相对视点的角度(使用眼表面矢量和法线)。

使用固定管道(或兼容性配置文件),定义了启用照明的状态集。您可以启用或禁用有限数量的灯光,设置灯光模型和模型参数。光影响顶点颜色,不影响顶点光栅化产生的碎片。

使用可编程管道,灯光由着色器统一定义。由于着色器是可编程的,你必须使用着色器源定义自己的照明模型。

这个问题很宽泛