Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jogl直接从volatileImage创建纹理_Java_Textures_Volatile_Jogl - Fatal编程技术网

Java 使用Jogl直接从volatileImage创建纹理

Java 使用Jogl直接从volatileImage创建纹理,java,textures,volatile,jogl,Java,Textures,Volatile,Jogl,我正在创建一个java植入,作为一个爱好项目。我使用HW accelerated Graphics2D在volatile图像上绘制多边形,然后我想从volatileImage创建一个纹理,这样我可以使用glReadPixels将生成的图像与原始图像(也是一个纹理)进行比较 在过去的两个小时里,我浏览了各种纹理文档,但似乎没有一种简单的方法可以从一个图像中创建纹理。我是错过了什么,还是这根本不可能?我知道可以将volatileImage转换为BuffereImage,然后创建纹理,但这种方法非常慢

我正在创建一个java植入,作为一个爱好项目。我使用HW accelerated Graphics2D在volatile图像上绘制多边形,然后我想从volatileImage创建一个纹理,这样我可以使用glReadPixels将生成的图像与原始图像(也是一个纹理)进行比较


在过去的两个小时里,我浏览了各种纹理文档,但似乎没有一种简单的方法可以从一个图像中创建纹理。我是错过了什么,还是这根本不可能?我知道可以将volatileImage转换为BuffereImage,然后创建纹理,但这种方法非常慢。考虑到性能对该程序至关重要,这是一件坏事。

没有直接的方法,因为VolatileImage没有获取图像数据的API,除非使用snapshot()进行复制


在实践中,只需从一开始就使用BuffereImage—BuffereImage的引擎盖下有一些魔力,可以在可能的情况下利用硬件加速。您必须避免的一件事是获取BuffereImage的DataBuffer的引用,这可能会破坏加速。

看来您是对的,我将所有内容都更改为BuffereImage并添加了setAccelerationPriority(1),应用程序大大加快了速度。谢谢,也许他应该放弃使用任何BuffereImage,正如我在这里解释的: