k.shabordin Posted July 25, 2012 Posted July 25, 2012 ObjectGuiMesh mesh; WidgetSpriteVideo video; ... void test(string meshname, string filename) { mesh = add_editor(new ObjectGuiMesh(meshname,"core/gui/")); mesh.setMaterial("gui_base","*"); mesh.setProperty("surface_base","*"); Gui gui = mesh.getGui(); video = new WidgetSpriteVideo(gui,filename); gui.addChild(video,GUI_ALIGN_EXPAND); video.setLoop(1); video.play(); } ... \ Result - GLESFrameBuffer::enable(): unsupported OpenGLES error: invalid framebuffer operation ObjectGui obj; WidgetSpriteVideo video; void test_gui(string filename) { obj = add_editor(new ObjectGui(20.0f,15.0f,"core/gui/")); obj.setWorldTransform(Mat4(translate(-2.5f,2.0f,-3.0f))); obj.setMaterial("gui_base","*"); obj.setProperty("surface_base","*"); obj.setMaterialState("mode",2,0); Gui gui = obj.getGui(); video = new WidgetSpriteVideo(gui,filename); gui.addChild(video,GUI_ALIGN_EXPAND); video.setLoop(1); video.play(); } Result : no video. Both tests are not working in OpenGLES render.
k.shabordin Posted July 25, 2012 Author Posted July 25, 2012 solution : in /core/shaders/simple/gui/fragment-base-ambient.shader fix color.xyz = saturate(fixed3(1.40200f * uv.y,-0.71414f * uv.y - 0.34414f * uv.x,1.77200f * uv.x) + color.x); to : color.xyz = saturate(vec3(1.40200f * uv.y,-0.71414f * uv.y - 0.34414f * uv.x,1.77200f * uv.x) + color.x);
Recommended Posts