Because the Sprite class uses a static GEOM using it inside another context will fail as the context dependent buffers like vertex and index will be associated with the first context.
If you modify sprite to use a new BillboardGeometry instance it works fine.
Using any of the static getters in any of the Geometry classes will fail in the same way. e.g. QuadGeometry.quadGeometry
Pseudo Code:
// Open new view
var viewport:Viewport = new Viewport();
var scene:Scene = new Scene();
var sprite:Sprite = new Sprite();
scene.addChild(sprite);
...
scene.render(viewport);
...
// Close view
viewport.dispose();
...
// Open new view
var viewport:Viewport = new Viewport();
var scene:Scene = new Scene();
var sprite:Sprite = new Sprite();
scene.addChild(sprite);
...
scene.render(viewport); // Will fail here with Error #3601: No valid index buffer set
Because the Sprite class uses a static GEOM using it inside another context will fail as the context dependent buffers like vertex and index will be associated with the first context.
If you modify sprite to use a new BillboardGeometry instance it works fine.
Using any of the static getters in any of the Geometry classes will fail in the same way. e.g. QuadGeometry.quadGeometry
Pseudo Code: