【发布时间】:2019-07-17 00:23:09
【问题描述】:
我正在尝试计算一个着色器,该着色器需要在法线垂直于相机的面上变暗(点积为 0)。那么基本上我如何获得这个点积? 如何解决以下问题?
uniform float time;
uniform vec3 eye_dir;
varying float darkening;
void main(){
float product=dot(normalize(eye_dir),normalize(normal.xyz));
darkening=product;
gl_Position=
projectionMatrix*
modelViewMatrix*
vec4(position,1.);
}
// in THREE.js
this.camera.getWorldDirection(this.eyeDir);
...
cell.material.uniforms.eye_dir = new Uniform(this.eyeDir);
【问题讨论】: