Actionscript 3 空气阶段3D-将GPU过滤器效果限制在阶段部分

Actionscript 3 空气阶段3D-将GPU过滤器效果限制在阶段部分,actionscript-3,air,gpu,stage3d,Actionscript 3,Air,Gpu,Stage3d,用于在应用程序中创建过滤效果。我遇到的问题是,效果应用于整个舞台,而不仅仅是一部分 有人知道在Stage3D层上定义“窗口”或“视口”的方法吗?我查看了Stage3D的文档,但似乎没有任何有用的内容。您可以在Context3D的configureBackBuffer方法中设置宽度和高度,并在Stage3D实例中设置x和y: stage3D.x = stage3D.y = 0; context3D.configureBackBuffer(width, height, antiAlias, enab

用于在应用程序中创建过滤效果。我遇到的问题是,效果应用于整个舞台,而不仅仅是一部分


有人知道在Stage3D层上定义“窗口”或“视口”的方法吗?我查看了Stage3D的文档,但似乎没有任何有用的内容。

您可以在Context3D的configureBackBuffer方法中设置宽度和高度,并在Stage3D实例中设置x和y:

stage3D.x = stage3D.y = 0;
context3D.configureBackBuffer(width, height, antiAlias, enableDepthAndStencil);
在库中,您使用的宽度和高度设置为与stageWidth/stageHeight匹配。链接到特定代码行:


你可能会认为是这样,但我尝试将值硬编码为100100,过滤效果仍然适用于整个舞台!也许可以尝试使用fillMode和GPUImage.init中的值。一定有一些缩放或调整大小的事情发生了!
stageW = stage.stageWidth;
stageH = stage.stageHeight;

// Setup context
var stage3D:Stage3D = stage.stage3Ds[0];
stage3D.removeEventListener(Event.CONTEXT3D_CREATE, onContextCreated);
context3D = stage3D.context3D;
context3D.configureBackBuffer(
     stageW,
     stageH,
     antiAlias,
     enableDepthAndStencil
);