java - 漫反射着色和环境着色

标签 java graphics

我有一些关于计算机图形学的问题:

  • 如何在 Java 中使用多个光源计算漫反射着色?

  • 如何在 Java 中使用多个光源计算环境着色?

最佳答案

与光源数量无关,光照计算如下:

ambient = material.ambient * light.ambient
diffuse = material.diffuse * light.diffuse * dot(normal, direction_to_light)

方向 vector 和法 vector 必须标准化。此外,如果 dot() 小于零,则生成的漫反射颜色仅为黑色。

如果有多个灯光,每个灯光都会添加到结果中。所以例如

result = ambient_light1 + diffuse_light1 + ambient_light2 + diffuse_light2 ...

关于java - 漫反射着色和环境着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13045152/

相关文章:

java - Scala 重载不选择最具体的方法

c# - 如何使用图形对象渲染 WPF Hwnd

java - 绘制多边形: unable to find error

graphics - glUseProgram 后丢失/重置什么状态?

java - 如何删除一个框以继续 java 中的 'for' 循环?

vb.net - OpenGL:glDrawElements 给出未处理的异常:System.AccessViolationException

java - 何时具体说明您想要的列表类型

java - 如果不先滚动,则不会显示 RecyclerView 项目中的图像

java - 有没有办法在 IntelliJ IDEA 中使用单个运行配置运行多个 Spring Boot 应用程序?

OSX 10.9 上的 Java 速度变慢