光在opengl中的差异
Difference between lights in opengl
我有一个关于创建不同类型的光的问题。全向光和具有小截止角的光之间的区别是什么?我应该在OpenGL中使用什么来实现这些?
全向光模型和定向光模型的区别在于选择哪些片段受光影响的算法。
全向光影响所有碎片是所有方向,而定向光有一个方向和一个截止角(光锥)。光一般都有衰减系数,用来限制应用范围。
通常光通过添加颜色成分来贡献片段的颜色。颜色组件有环境色、漫反射色、高光色……每个组件都使用一些参数进行缩放,例如添加到视点的距离,或反射光线相对视点的角度(使用眼表面矢量和法线)。
使用固定管道(或兼容性配置文件),定义了启用照明的状态集。您可以启用或禁用有限数量的灯光,设置灯光模型和模型参数。光影响顶点颜色,不影响顶点光栅化产生的碎片。
使用可编程管道,灯光由着色器统一定义。由于着色器是可编程的,你必须使用着色器源定义自己的照明模型。
这个问题很宽泛
相关文章:
- OpenGL glGetUniformBlockIndex 在 nvidea GPU 上返回INVALID_INDEX
- OpenGL不在Linux中绘制
- 在 OpenGL 中在 Mac 上编译着色器时出现"version not supported"错误
- OpenGL ES:在顶点着色器中计算顶点位置时性能不佳
- 为什么 OpenGL 不在此代码中绘制多边形?
- 现代OpenGL,在对象上获得白色纹理
- OpenGL代码在GLFW上工作,但在QT OpenGL上不起作用
- 安装OpenGL并在Windows上使用命令行编译
- OpenGL 对象在移动一段距离后振动
- OpenGL 着色在形状中
- C++ OpenGL glCreateProgram 在 Windows 上返回 0
- Qt 4/5与opengl API在opengl速度上的差异
- OpenGL /Glut在Maineventloop()之后创建窗口
- OpenGL VAO - 在多个上下文中处理 VAO
- 如何渲染成不同的层,然后将它们与OpenGL组合在一起
- 如何检测opengl是否在Desktop或ES上运行
- OpenGL ES在带有C++的iPhone上
- OpenGL程序在Qt Creator中没有启动
- 如何避免光在OpenGL中旋转
- 光在opengl中的差异