顶点置换:Displacement Mapping - MartinRGB/GLES30_ProgrammingGuide_NDK GitHub Wiki

顶点位置置换

根据点点着色器中的纹理查找值,让顶点沿着顶点法线移动位置。


void main() {
    v_color = a_color;
    float displacement = texture2D(displacementMap,a_texcoord).a;
    //让顶点沿法线方向移动
    vec4 displaced_position = a_position + vec4(a_normal * displacement,0.0); //*(sin(time)+1.)/2.
    gl_Position = u_mvpMatrix * (displaced_position);

}