Copy link to clipboard
Copied
Hello, I already asked guys from Starling and Minko forums. Nobody could help.
I use Starling for 2d(UI and background) combined with Minko for 3d (game content). Everything works perfect except on two devices I know: HTC ONE S, SONY Xperia T. (They have both Snapdragon S4 (GPU: Adreno 225)). Maybe the same GPU is a key for the problem.
On those devices the 3D content is not shown, when UI and Background is rendered. If I turn off the Background - 3D layer is displayed (I mean I dont add onRenderBackground() to afterClear Signal)
and here is the way it is done:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | tickProvider.add(renderMinko); _scene.afterClear.add(onRenderBackground); _scene.beforePresent.add(onRenderUI);
protected function renderMinko(time : Number) : void { _scene.render(this._viewport); }
private function onRenderUI(scene : Scene, viewport : Viewport, destination : BitmapData, time : uint) : void { _viewport.minko_render::context3D.invalidate(); for (var i:int = 0; i < 8; i++) { _stage3D.context3D.setVertexBufferAt(i, null); _stage3D.context3D.setTextureAt(i, null); } starlingMainView.setLayerUI(); _starling.nextFrame(); }
private function onRenderBackground(scene : Scene, viewport : Viewport, destination : BitmapData, time : uint) : void { _viewport.minko_render::context3D.invalidate(); for (var i:int = 0; i < 8; i++) { _stage3D.context3D.setVertexBufferAt(i, null); _stage3D.context3D.setTextureAt(i, null); } starlingMainView.setLayerBackground(); _starling.render(); } |
function renderMinko is called every frame and: onRenderUI() and onRenderBackground() they are called between rendering Minko.
is it clear enough?
Have something to add?
Find more inspiration, events, and resources on the new Adobe Community
Explore Now