逐片元渲染的点位和向量获取问题

发布于 2025-03-14 14:34:05

precision mediump float;

    varying vec4 v_Normal;
    varying vec4 v_position;
    uniform vec3 u_PointLightPosition;
    uniform vec3 u_DiffuseLight;
    uniform vec3 u_AmbientLight;
    void main(void){
    vec3 normal = normalize(v_Normal.xyz);
    vec3 lightDirection = normalize(u_PointLightPosition - vec3(v_position.xyz));
    float nDotL = max(dot(lightDirection, normal), 0.0);
    vec3 diffuse = u_DiffuseLight * vec3(1.0,0,1.0)* nDotL;
    vec3 ambient = u_AmbientLight * vec3(1.0,0,1.0);

      gl_FragColor =vec4(diffuse + ambient, 1);
    }

按照课程里面的逐片元渲染的情况,点位和向量都是从顶点着色器来的,是不是在片元渲染的时候也是获取的点坐标和向量也是根据差值来

查看更多

关注者
0
被浏览
184
1 个回答
Jsonco
Jsonco 图形社区官方人员 2025-03-14
奔驰的蜗牛

是的,逐顶点和逐片元算法其实是一样的,只不过逐片元颗粒度更细致一些。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览