gpt4 book ai didi

android - CCRenderTexture、GL11ExtensionPack、Libgdx 如何操作

转载 作者:行者123 更新时间:2023-11-30 03:56:06 24 4
gpt4 key购买 nike

我目前正在研究诸如“小翅膀”之类的效果 http://www.raywenderlich.com/3857/how-to-create-dynamic-textures-with-ccrendertexture ,然后找到 CCRenderTexture 就是解决方案。所以我想知道如何在 android 上制作这种效果,最后我找到了这个链接 https://github.com/ZhouWeikuan/cocos2d/blob/master/cocos2d-android/src/org/cocos2d/opengl/CCRenderTexture.java显示其GL11ExtensionPack

GL11ExtensionPack egl = (GL11ExtensionPack)CCDirector.gl;
egl.glGetIntegerv(GL11ExtensionPack.GL_FRAMEBUFFER_BINDING_OES, oldFBO_, 0);
...

但是在 GLWrapperBase.java 中,它显示

// Unsupported GL11ExtensionPack methods
public void glBindFramebufferOES (int target, int framebuffer) {
throw new UnsupportedOperationException();
}

gdx 好像没有实现这个功能。我想知道 libgdx 有什么相同的功能,或者如何在桌面上使用 GL11ExtensionPack ~谢谢

最佳答案

在 libGDX 中,您想使用 FrameBuffer 对象来执行与“CCRenderTexture”等效的操作。 FrameBuffer 基本上允许您使用 OpenGL 命令绘制到屏幕外缓冲区中,然后您可以稍后将该缓冲区的内容显示为纹理。参见 http://code.google.com/p/libgdx/wiki/OpenGLFramebufferObject .请注意,FrameBuffer 对象仅在您的应用需要 OpenGL ES 2.0 时可用。

根据您想绘制的内容,您还可以查看 Pixmap libGDX 中的类。这支持一些简单的运行时绘图操作(如线条、矩形和像素)。同样的想法是,您绘制到该纹理中,然后稍后在屏幕上渲染生成的纹理。这在 OpenGL ES 1.0 中也可用。

FrameBuffer 和 Pixmap 都应该在 Android 和桌面上运行良好(我相信在 GWT 和 iOS 上也是如此......)

当您的应用暂时失去焦点(OpenGL 上下文丢失导致某些纹理内容消失)时,请仔细了解 Android 上会发生什么。

关于android - CCRenderTexture、GL11ExtensionPack、Libgdx 如何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337936/

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