【发布时间】:2018-05-22 11:08:51
【问题描述】:
我想实现像MeshNormalMaterial 这样的着色器,但我不知道如何将法线转换为颜色。
在三个.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);
}
这些只是测试,我找不到任何关于如何计算颜色的资源......
谁能帮帮我?
谢谢。
【问题讨论】:
标签: three.js glsl webgl shader normals