代码问题

来源:17-10 添加场景扫描线

SapereAudor

2023-05-08

输入正文

fragmentShader: `

           varying vec3 v_position;


           uniform vec3 u_city_color;

           uniform vec3 u_head_color;

           uniform float u_size;


           uniform vec3 u_up_color;

           uniform float u_height;


               void main() {

                   vec3 base_color = u_city_color;

                   base_color = mix(base_color, u_head_color, v_position.z / u_size);

                   

                   if(u_height > v_position.z && u_height < v_position.z + 3.0){

                       base_color = u_up_color;

                   }

                   

                   gl_FragColor = vec4(base_color, 1.0);

               }

           `

createMesh()里边。

v_position.z

高度不应该是y吗,这里为什么要用z


写回答

1回答

yancy

2023-05-08

这里是根据模型来的,有的模型在创建的时候做过旋转,这时候就需要对应的调整代码实现

0
0

WebGL+Three.js 入门与实战,系统学习 Web3D 技术

前端的技术蓝海,涨薪好选择

1081 学习 · 294 问题

查看课程