dmuratshin 8 years ago
parent
commit
a6f6298a44

+ 1 - 0
examples/Demo/src/TestColorFont.h

@@ -42,6 +42,7 @@ public:
                      R"(
                      #define MODIFY_BASE
                      #define DONT_MULT_BY_RESULT_COLOR)",
+
                      R"(
                      uniform lowp vec4 _black;
                      uniform lowp vec4 _white;

+ 3 - 2
examples/Demo/src/TestOpenGL.h

@@ -41,8 +41,8 @@ public:
 		)";
 
 
-        int vs = ShaderProgramGL::createShader(GL_VERTEX_SHADER,   vertexShaderData, 0, 0);
-        int fs = ShaderProgramGL::createShader(GL_FRAGMENT_SHADER, fragmentShaderData, 0, 0);
+        int vs = ShaderProgramGL::createShader(GL_VERTEX_SHADER,   vertexShaderData);
+        int fs = ShaderProgramGL::createShader(GL_FRAGMENT_SHADER, fragmentShaderData);
 
         _program = oxglCreateProgram();
         oxglAttachShader(_program, vs);
@@ -76,6 +76,7 @@ public:
     void doRender(const RenderState& rs)
     {
         Material::setCurrent(0);
+        STDRenderer::getCurrent()->flush();
 
 
         glEnable(GL_BLEND);

+ 1 - 1
examples/Demo/src/TestRender2Texture.h

@@ -89,7 +89,7 @@ public:
         ResAnim* brush = resources.getResAnim("brush");
         AnimationFrame frame = brush->getFrame(0);
         const Diffuse& df = frame.getDiffuse();
-        renderer.setTexture(df.base);
+        renderer.setTextureNew(0, df.base);
         if (paint)
             renderer.setBlendMode(blend_premultiplied_alpha);
         else

+ 15 - 9
examples/Demo/src/TestUserShader.h

@@ -32,30 +32,36 @@ public:
 };
 
 
-class TweenUniform: public Tween
+class TweenUniform
 {
 public:
     TweenUniform() {}
 
-    void _start(Actor& actor) override
+    typedef Sprite type;
+
+    void init(Sprite& spr)
     {
-        upd(actor, Vector4(0, 0, 0, 0));
     }
 
-    void upd(Actor& actor, const Vector4& val)
+    void done(Sprite& spr)
     {
-        Sprite& spr = (Sprite&)actor;
+    }
 
+    void upd(Sprite& spr, const Vector4& val)
+    {
         CustomUniformMat& my = *safeCast<CustomUniformMat*>(spr._mat.get());
         my.uniform = val;
 
         spr._mat = mc().cache(my);
     }
 
-    void _update(Actor& actor, const UpdateState& us) override
+    void update(Sprite& spr, float p, const UpdateState& us)
     {
-        Vector4 val = lerp(Vector4(1, 1, 1, 0), Vector4(0, 0, 0, 0),  _percent);
-        upd(actor, val);
+        Vector4 val = lerp(Vector4(1, 1, 1, 0), Vector4(0, 0, 0, 0), p);
+        CustomUniformMat& my = *safeCast<CustomUniformMat*>(spr._mat.get());
+        my.uniform = val;
+
+        spr._mat = mc().cache(my);
     }
 };
 
@@ -140,7 +146,7 @@ public:
             mat.data._uberShader = shader;
             _sprite->_mat = mc().cache(mat);
 
-            _sprite->addTween2(new TweenUniform(), TweenOptions(3000).twoSides(true).loops(-1));
+            _sprite->addTween(TweenUniform(), TweenOptions(3000).twoSides(true).loops(-1));
         }
     }
 

+ 3 - 0
oxygine/src/oxygine/STDMaterial.cpp

@@ -136,6 +136,9 @@ namespace oxygine
 
     void STDMaterial::doRender(Sprite* sprite, const RenderState& rs)
     {
+        if (!sprite->getAnimFrame().getDiffuse().base)
+            return;
+
         Color color = rs.getFinalColor(sprite->getColor());
         if (sprite->getBlendMode() == blend_premultiplied_alpha)
             color = color.premultiplied();

+ 2 - 0
oxygine/src/oxygine/Stage.cpp

@@ -168,6 +168,8 @@ namespace oxygine
         Actor::render(rs);
 
         Material::setCurrent(0);
+
+        STDRenderer::getCurrent()->flush();
     }
 
     void Stage::render(const Color& clearColor, const Rect& viewport)