Iphone 如何在OpenGL中将场景渲染为遮罩?
我在CAEAGLLayer中绘制了一个EagleContext(通过iPhone SDK中的标准GLGravityView示例) 我试图做的是将我的视图放在另一个视图的顶部,并使用我在OpenGL中渲染的内容来屏蔽底层视图 假设底部视图是一幅花的图片,我将我的OpenGL视图放在顶部,我将OpenGL的“透明颜色”设置为“不透明黑色”,然后渲染球体。我想让球体穿过黑色,只露出花朵图片的圆形部分。更好的办法是同时显示球体(半透明)和花朵,将黑色部分切掉 我打过电话Iphone 如何在OpenGL中将场景渲染为遮罩?,iphone,opengl-es,Iphone,Opengl Es,我在CAEAGLLayer中绘制了一个EagleContext(通过iPhone SDK中的标准GLGravityView示例) 我试图做的是将我的视图放在另一个视图的顶部,并使用我在OpenGL中渲染的内容来屏蔽底层视图 假设底部视图是一幅花的图片,我将我的OpenGL视图放在顶部,我将OpenGL的“透明颜色”设置为“不透明黑色”,然后渲染球体。我想让球体穿过黑色,只露出花朵图片的圆形部分。更好的办法是同时显示球体(半透明)和花朵,将黑色部分切掉 我打过电话 glView.backgroun
glView.backgroundColor = [UIColor clearColor];
glClearColor(0.0, 0.0, 0.0, 1.0);
当我设置视图并调用
glColor4f( 1.0, 1.0, 1.0, 0.5 );
在渲染球体之前
它只是使球体变成白色,而不显示下面的花。我对此并不感到惊讶
有人知道如何制作面具吗
谢谢你的帮助。我只用“EAGLayer”或其他名称做了类似的事情。先画背景,然后在上面画更多的东西。这是因为底部“层”的攻丝功能要么没有,要么最小。当我想要在底部“层”中点击功能时,我只是在某些xy坐标附近寻找点击(而不是像在真实层中那样拖放按钮)
这实际上取决于你想对底层做什么。如果你想要的只是花的图片,那么我的方法就行了。如果您想拖放更复杂的UI控件,那么我的方法将不起作用。我只使用了“EAGLayer”或其他类似的名称。先画背景,然后在上面画更多的东西。这是因为底部“层”的攻丝功能要么没有,要么最小。当我想要在底部“层”中点击功能时,我只是在某些xy坐标附近寻找点击(而不是像在真实层中那样拖放按钮)
这实际上取决于你想对底层做什么。如果你想要的只是花的图片,那么我的方法就行了。如果您想拖放更复杂的UI控件,那么我的方法将不起作用。您现在可能已经放弃了,但以防万一 我认为您的glClearColor(0.0,0.0,0.0,1.0)应该是glClearColor(0.0,0.0,0.0,0.0),因为您希望将视图清除为Alpha=0的“透明黑色”,而不是Alpha=1的“不透明黑色”
您还应该确保您的OpenGL视图没有标记为不透明。您现在可能已经放弃了,但以防万一 我认为您的glClearColor(0.0,0.0,0.0,1.0)应该是glClearColor(0.0,0.0,0.0,0.0),因为您希望将视图清除为Alpha=0的“透明黑色”,而不是Alpha=1的“不透明黑色”
您还应该确保您的OpenGL视图没有标记为不透明。Yep-这是meYep的解决方案-这是我的解决方案