顶点置换: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);
}