spe*_*wah 3 opengl iphone eaglview uikit uiview
我在EAGLView图层上有一个opengl场景渲染,在UIView(它是EAGLView的兄弟,位于它上面)上呈现了一些其他元素(圆圈等).是否可以在两层之间混合颜色?我想做一些差异混合,以获得EAGLView颜色的反转效果.
我一直在玩CGBlendMode,但它似乎只影响我在当前视图中绘制的内容.我认为这与CGContext有关,但我对细节有点模糊,我可以强制UIView和EAGLView使用相同的CGContext,以便它们之间的混合有效吗?
帮助,更正,澄清都很受欢迎.在此先感谢,-S
简短的回答是你不能.答案如下.
通过EAGLView
您的意思是必须的子类UIView
中包含了OpenGL ES模板在Xcode.这个类的特殊之处在于,layerClass
类方法被重写并返回CAEAGLLayer
类而不是CALayer
类,默认情况下.
UIView
并CALayer
成对工作.所有UIView
对象都由a支持CALayer
,CALayer
是负责布局和渲染到屏幕的对象.本UIView
为代表的CALayer
,并负责在需要时绘制它的图形.
CALayer
会让它的委托(the UIView
)绘制成一个CGContextRef
.它是一个上下文UIView
,因此您不能使用它CGBlendMode
来混合多个视图,因为它只能在一个单独的UIView上下文中运行.
CALayer
应使用过滤器属性进行混合.这些是为iPhone OS定义的,但根据文档未定义可用的过滤器.这是因为目前iPhone OS上没有Core Image.
归档时间: |
|
查看次数: |
2069 次 |
最近记录: |