dmuratshin 8 年之前
父節點
當前提交
9da19ae1d5

+ 13 - 11
oxygine/src/oxygine/MaterialX.cpp

@@ -53,6 +53,19 @@ namespace oxygine
         STDRenderer::getCurrent()->flush();
     }
 
+
+    void STDMaterialX::render(const AffineTransform& tr, const Color& c, const RectF& src, const RectF& dest)
+    {
+        STDRenderer::getCurrent()->setTransform(tr);
+        STDRenderer::getCurrent()->draw(c, src, dest);
+    }
+
+    void STDMaterialX::render(const Color& c, const RectF& src, const RectF& dest)
+    {
+        STDRenderer::getCurrent()->draw(c, src, dest);
+    }
+
+
     MaterialX::MaterialX(const MaterialX& other)
     {
         _hash = other._hash;
@@ -69,17 +82,6 @@ namespace oxygine
 
     }
 
-    void MaterialX::render(const AffineTransform& tr, const Color& c, const RectF& src, const RectF& dest)
-    {
-        STDRenderer::getCurrent()->setTransform(tr);
-        STDRenderer::getCurrent()->draw(c, src, dest);
-    }
-
-    void MaterialX::render(const Color& c, const RectF& src, const RectF& dest)
-    {
-        STDRenderer::getCurrent()->draw(c, src, dest);
-    }
-
     void MaterialX::apply()
     {
         if (current != this)

+ 5 - 2
oxygine/src/oxygine/MaterialX.h

@@ -55,8 +55,8 @@ namespace oxygine
         virtual void update(size_t& hash, compare&) const = 0;
         virtual void rehash(size_t& hash) const = 0;
 
-        virtual void render(const AffineTransform& tr, const Color& c, const RectF& src, const RectF& dest);
-        virtual void render(const Color& c, const RectF& src, const RectF& dest);
+        virtual void render(const AffineTransform& tr, const Color& c, const RectF& src, const RectF& dest) {}
+        virtual void render(const Color& c, const RectF& src, const RectF& dest) {}
 
         void apply();
         void flush();
@@ -99,6 +99,9 @@ namespace oxygine
 
         void xapply() override;
         void xflush() override;
+
+        void render(const AffineTransform& tr, const Color& c, const RectF& src, const RectF& dest) override;
+        void render(const Color& c, const RectF& src, const RectF& dest) override;
     };
 
     DECLARE_SMART(STDMaterialX, spSTDMaterialX);

+ 2 - 6
oxygine/src/oxygine/STDRenderer.cpp

@@ -293,10 +293,6 @@ namespace oxygine
         return _driver;
     }
 
-    unsigned int STDRenderer::getShaderFlags() const
-    {
-        return _shaderFlags;
-    }
 
     void STDRenderer::setViewProj(const Matrix& viewProj)
     {
@@ -441,7 +437,7 @@ namespace oxygine
 
 
 
-    STDRenderer::STDRenderer(IVideoDriver* driver) : _driver(driver), _vdecl(0), _uberShader(0), _shaderFlags(0)
+    STDRenderer::STDRenderer(IVideoDriver* driver) : _driver(driver), _vdecl(0), _uberShader(0)
     {
         if (!driver)
             driver = IVideoDriver::instance;
@@ -547,7 +543,7 @@ namespace oxygine
     }
 
 
-    void STDRenderer::setShaderFlags(int flags)
+    void STDRenderer::setShaderFlags(unsigned int flags)
     {
         ShaderProgram* sp = _uberShader->getShaderProgram(_baseShaderFlags | flags);
         setShader(sp);

+ 1 - 2
oxygine/src/oxygine/STDRenderer.h

@@ -65,7 +65,7 @@ namespace oxygine
         const AffineTransform&  getTransform() const { return _transform; }
         const VertexDeclaration* getVertexDeclaration() const { return _vdecl; }
 
-        void setShaderFlags(int);
+        void setShaderFlags(unsigned int);
         void setViewProj(const Matrix& viewProj);
         void setVertexDeclaration(const VertexDeclaration* decl);
         void setUberShaderProgram(UberShaderProgram* pr);
@@ -144,7 +144,6 @@ namespace oxygine
         UberShaderProgram* _uberShader;
 
         unsigned int _baseShaderFlags;
-        unsigned int _shaderFlags;
 
         bool _drawing;