2012-02-19 38 views
0

我刚开始使用LWJGL,并纹理绘制到屏幕 不过,我要经常改变这个纹理的像素数据避免在轻量级Java游戏重装质地图书馆

我目前做到这一点通过改变我的BufferedImage,然后转换到这个贴图,我用一个例子质感装载此刻重绘在OpenGL

:​​

我觉得我不应该不断地重新加载质地,但是,我害怕我通过调用con来浪费资源vertImageData函数在游戏循环中 如何避免这种情况?

编辑:好的,我自己一点通过存储字节缓冲区以及与简单地修改它,接着快乐:

glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA8,800,600,0,GL_RGBA,GL_UNSIGNED_BYTE,缓冲);

而不是做整个转换。我认为这很好

回答

0

您可以使用FBO(帧缓冲区对象)渲染到纹理。

看看在LWJGL wikithis example

+2

请注意,您应该在此处发布答案的有用观点,或将您的帖子风险删除为[“未回答”](http://meta.stackexchange.com/q/8259) 。如果您愿意,您可能仍然包含链接,但仅作为“参考”。答案应该独立,不需要链接。 – 2013-02-21 18:39:06

0

在我看来,你想动画的纹理。这可以使用spritesheet轻松完成;如果可能,将所有动画阶段绘制到纹理上,然后根据要使用的精灵动画调整纹理坐标。