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



我想要上面图像的法线贴图,

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

最佳答案

这是不可能的。如果有高度图,则可以通过获取导数轻松地创建法线贴图。使用Sobel滤波器可以得到很好的平滑效果。

看到此:Generating a normal map from a height map?

但是,您有一张照片,可以为您提供从场景中的对象反射的光。要获取法线贴图,您需要有关几何的信息。有图像处理技术可以猜测此信息,并对图像中的照明条件和形状做出假设,但结果永远都不完美。

您可以简单地假设颜色为高度,并生成外观正常的贴图,该贴图可能会在模型上提供一些漂亮的镜面反射细节,但它并不正确,如果您看起来太近,则看起来会很奇怪。

10-06 10:01