我想实现一个像MeshNormalMaterial这样的着色器,但是我不知道如何将法线转换为颜色。
在THREE.js中:
我的测试1:varying vec3 vNormal;
void main(void) {
vNormal = abs(normal);
gl_Position = matrix_viewProjection * matrix_model * vec4(position, 1.0);
}
varying vec3 vNormal;
void main(void) {
gl_FragColor = vec4(vNormal, 1.0);
}
我的测试2:varying vec3 vNormal;
void main(void) {
vNormal = normalize(normal) * 0.5 + 0.5;
gl_Position = matrix_viewProjection * matrix_model * vec4(position, 1.0);
}
varying vec3 vNormal;
void main(void) {
gl_FragColor = vec4(vNormal, 1.0);
}
这只是测试,我找不到任何关于如何计算颜色的资源...有人可以帮帮我吗?
谢谢。