【发布时间】:2011-10-09 03:14:40
【问题描述】:
我在 iOS 上成功实现了阴影体积。
但是我遇到了以下问题,如何像 NV_depth_clamp 在 GLSL 中那样将顶点位置剪辑到远平面?这是我的顶点着色器代码:
void main( void ) {
highp vec3 eyepos = vec3( MODELVIEW * vec4( VERTEX, 1.0 ) );
normal = normalize( NORMALMATRIX * NORMAL );
highp vec3 ldir = normalize( LIGHTPOS - eyepos );
highp float ndotl = max( dot( normal, ldir ), 0.0 );
// How can I clip that to the far plane automatically!??!!?
if( ndotl > 0.0 ) gl_Position = PROJECTION * vec4( eyepos + ( ldir * -2000.0 ), 1.0 );
else gl_Position = PROJECTION * vec4( eyepos, 1.0 );
}
其次,在搜索上面的问题时,我发现shadow volume zfail方法(这是我实现的)获得了专利,是真的吗?这是否意味着我不能在 App Store 的商业应用程序中使用它?
TIA!
【问题讨论】:
标签: ios opengl-es opengl-es-2.0