シェーダとクリップ

本物のページはこちら→shader

Included page "clip:shader" does not exist (create it now)

cppにて

glEnable(GL_CLIP_PLANE0);

する、
頂点シェーダでgl_ClipVertexに値を渡さない限りは、実際にクリップされることはない。
uniform mat4 ModelView;
uniform mat4 Proj;
void main(){
    gl_ClipVertex= ModelView*gl_Vertex;
    gl_Position =Proj * gl_ClipVertex;
    gl_TexCoord[0]=gl_MultiTexCoord0;
    vec3 vol_range=clamp(gl_Vertex.xyz,-0.5,0.5);//地図のうち、雲の範囲を切り取り
    vol_range+=vec3(0.5,0.5,0.0);//0.0-1.0に正規化
    gl_TexCoord[1]=vec4(vol_range,1.0);
}

サポートサイト Wikidot.com