如何以编程方式在OpenGL中为给定图像制作法线贴图?

时间:2015-06-12 10:37:22

标签: android image-processing opengl-es

我想使用法线图像到照明和阴影。 我有以下图片,

enter image description here

我想要上面图片的法线贴图,例如enter image description here

我想在OpenGL中以编程方式做同样的事情。 给出一些建议来实现它。 或者让我知道从哪里开始实现这一点。

1 个答案:

答案 0 :(得分:1)

这实际上是不可能的。如果您有高度图,则可以通过获取衍生物轻松创建法线贴图。使用Sobel滤波器可以获得很好的平滑效果。

请参阅:Generating a normal map from a height map?

但是你有一张照片,它可以让你从场景中的物体反射光线。要获得法线贴图,您需要有关几何体的信息。有一些图像处理技术可以猜测这些信息,对图像中的光照条件和形状做出假设,但结果永远不会完美。

可以简单地假设颜色是高度并生成一个看起来很正常的地图,它可能会在你的模型上给出一些非常漂亮的镜面细节,但它不正确,如果你看起来会很奇怪太近了。