AIR Stage3D-将GPU过滤器效果限制在舞台的一部分

时间:2014-03-01 13:40:36

标签: actionscript-3 air gpu stage3d

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

有谁知道在Stage3D图层上定义“窗口”或“视口”的方法?我检查了Stage3D的文档,但似乎没有任何东西可以帮助。

1 个答案:

答案 0 :(得分:0)

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

stage3D.x = stage3D.y = 0;
context3D.configureBackBuffer(width, height, antiAlias, enableDepthAndStencil);

在lib中你使用的宽度和高度被设置为匹配stageWidth / stageHeight。链接到特定的代码行:

https://github.com/inspirit/GPUImage/blob/12d32dab0e479620fd6420dc3fa7fcfe726502d2/examples/GPUImageShowcase.as#L120

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
);