纹理是否正常根据纹理的每个纹素的颜色计算?

时间:2015-03-18 14:48:43

标签: opengl glsl

在法线贴图中,除纹理颜色外,使用的纹理还具有纹理法线,就像下面的片段着色器代码一样:

#version 420 core
out vec4 color;
// Color and normal maps
layout ( binding = 0) uniform sampler2D tex_color;
layout ( binding = 1) uniform sampler2D tex_normal;

但我不明白的是,什么类型的图像具有正常的纹理'? 我还搜索了一些用于计算纹理法线的解决方案,使用它的RGB颜色:

Red maps from (0-255) to X (-1.0 - 1.0)
Green maps from (0-255) to Y (-1.0 - 1.0)
Blue maps from (0-255) to Z (0.0 - 1.0)

1 个答案:

答案 0 :(得分:3)

法线贴图通常是一个独立的图像 - 它不是嵌入在另一个图像中的东西。如您所发现的描述所示,给定点处的法线是从该点处的法线贴图图像的RGB值确定的。以下是Wikipedia article on normal mapping

中的一个示例

normal map example

您发布的着色器代码需要两个单独的纹理,第一个是材质的颜色,第二个是法线贴图。