Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
Actionscript 3 Flash Stage3D:渲染/更新程序纹理?_Actionscript 3_Flash_Gpu_Stage3d_Procedural Generation - Fatal编程技术网

Actionscript 3 Flash Stage3D:渲染/更新程序纹理?

Actionscript 3 Flash Stage3D:渲染/更新程序纹理?,actionscript-3,flash,gpu,stage3d,procedural-generation,Actionscript 3,Flash,Gpu,Stage3d,Procedural Generation,我需要经常更新3D对象的纹理。 (这是一个程序生成的模式,因此无法缓存,必须在每一帧中动态生成) 最快的方法是什么 首先,我想到通过copyPixels()更新bitmapData,然后通过 uploadFromBitmapData()每个帧,但我听说这非常慢(因为将数据从系统RAM移动到GPU RAM) 在GPU上直接操作纹理的任何方法,这样我就可以避免这一步了?如果是程序生成的图案,那么可以在GPU上完成。如果这是不可能的,那么唯一的方法就是你描述的方法——这是最快的方法。是的,这是一个缓慢

我需要经常更新3D对象的纹理。 (这是一个程序生成的模式,因此无法缓存,必须在每一帧中动态生成)

最快的方法是什么

首先,我想到通过copyPixels()更新bitmapData,然后通过 uploadFromBitmapData()每个帧,但我听说这非常慢(因为将数据从系统RAM移动到GPU RAM)


在GPU上直接操作纹理的任何方法,这样我就可以避免这一步了?

如果是程序生成的图案,那么可以在GPU上完成。如果这是不可能的,那么唯一的方法就是你描述的方法——这是最快的方法。是的,这是一个缓慢的过程。

您能否给出一些更具体的说明,比如GPU程序纹理绘制/更新如何工作?我猜这将涉及通过setRenderToTexture/optimizeForRenderToTexture=true进行渲染。但是几乎没有任何有用的教程或信息!福。这里是一个蜗牛式的回答——我不知道你指的是什么样的程序生成模式。但是,如果您可以在gpu上生成它,那么您可以将它渲染为您提到的纹理。看看我的教程就知道了。