gpt4 book ai didi

ios - OpenGLES阴影体积

转载 作者:行者123 更新时间:2023-12-01 17:00:13 25 4
gpt4 key购买 nike

我在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 );
}

其次,在搜索上述问题时,我发现影子卷zfail方法(我实现的方法)已申请专利,这是真的吗?这是否意味着我不能在App Store的商业应用程序中使用它?

TIA!

最佳答案

在较远的剪辑平面上加油,z / w =1。因此,您需要通过投影来变换eyepos和ldir,然后向视点添加尽可能多的ldir,使其最终在远平面处。但是,这可能很棘手,因为如果远切平面正好位于多边形上,则远裁剪平面可能会裁剪多边形,因此可能需要进行一些调整。

关于ios - OpenGLES阴影体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7701211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com