【问题标题】:Android OpenGL lighting depends on face sizeAndroid OpenGL 光照取决于人脸大小
【发布时间】:2012-04-14 05:32:14
【问题描述】:

我目前正在研究一些 opengl 2D 的东西。我有一个聚光灯,它可以到达两个不同宽度和高度的面。不知何故,脸上的光梯度取决于它们的大小。如何使渐变与人脸大小无关?

【问题讨论】:

    标签: android opengl-es lighting


    【解决方案1】:

    如果没有图像,很难说出您的确切问题是什么,但最可能的问题是在顶点处评估照明,然后在三角形上进行插值。不同大小的 tris 会给出不同的插值。这在灯光范围边缘的衰减中变得更加成问题。

    如果您想要一个更准确的光照模型,那么您可能需要分解片段着色器并改为进行逐像素/片段光照。

    【讨论】:

    • 如何开启逐像素光照?
    • @Zolex:你不启用它,你开发它。 swiftless.com/tutorials/glsl/5_lighting_perpixel.html
    • 我猜这在 opengl es 1.0 中是不可能的?!
    • @Zolex:可以通过定向照明和 GL_DOT3_RGB(以及其他方法)来完成......但是没有着色器的每像素照明总是很困难......它绝对可行。如果您正确理解纹理级联,您可以获得各种有趣的照明效果,但要笼统地解释这将是一篇很长的文章。
    • 好吧,坦克无论如何,但我决定省略这个项目的照明。下一个将使用gles20
    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多