diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-02-13 08:45:32 +0300 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-02-13 08:45:32 +0300 |
commit | e4790aef46f7ca0b4ab01c34f043be9e7b1fa7f1 (patch) | |
tree | 0d83145e454cc7b5947ec657dbd9e415aac9d809 /source/gameengine/Ketsji/KX_BlenderMaterial.h | |
parent | 6c325d74f534d259820c2b2d94d5b73b3acf0a35 (diff) |
Improved OpenGL Shader Language support for game engine. The python interface is much simplified. Drawback is that scripts need to be updated next release. Testfiles:
http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&file=demos-2.42.zip
patch by Charlie Carley (snailrose @ elysiun.com)
Diffstat (limited to 'source/gameengine/Ketsji/KX_BlenderMaterial.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_BlenderMaterial.h | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/source/gameengine/Ketsji/KX_BlenderMaterial.h b/source/gameengine/Ketsji/KX_BlenderMaterial.h index a250dcf81c4..ad229509224 100644 --- a/source/gameengine/Ketsji/KX_BlenderMaterial.h +++ b/source/gameengine/Ketsji/KX_BlenderMaterial.h @@ -23,7 +23,7 @@ class KX_BlenderMaterial : public PyObjectPlus, public RAS_IPolyMaterial public: // -------------------------------- KX_BlenderMaterial( - class KX_Scene* scene, // light/obj list + class KX_Scene* scene, BL_Material* mat, bool skin, int lightlayer, @@ -34,25 +34,32 @@ public: virtual ~KX_BlenderMaterial(); // -------------------------------- - virtual TCachingInfo GetCachingInfo(void) const - { - // -- + virtual TCachingInfo GetCachingInfo(void) const { return (void*) this; } - // -------------------------------- - virtual bool Activate( + virtual + bool Activate( RAS_IRasterizer* rasty, - TCachingInfo& cachingInfo) const; + TCachingInfo& cachingInfo + ) const; + + virtual + void ActivateMeshSlot( + const KX_MeshSlot & ms, + RAS_IRasterizer* rasty + ) const; void ActivateMat( - RAS_IRasterizer* rasty, - TCachingInfo& cachingInfo)const; - + RAS_IRasterizer* rasty, + TCachingInfo& cachingInfo + )const; + void ActivatShaders( RAS_IRasterizer* rasty, - TCachingInfo& cachingInfo)const; - // -------------------------------- + TCachingInfo& cachingInfo + )const; + TFace* GetTFace(void) const; @@ -73,36 +80,34 @@ public: KX_PYMETHOD_DOC( KX_BlenderMaterial, setTexture ); KX_PYMETHOD_DOC( KX_BlenderMaterial, setBlending ); + // -------------------------------- // pre calculate to avoid pops/lag at startup virtual void OnConstruction( ); - private: BL_Material* mMaterial; BL_Shader* mShader; KX_Scene* mScene; BL_Texture mTextures[MAXTEX]; // texture array - bool mUserDefBlend; unsigned int mBlendFunc[2]; bool mModified; + // message centers - void setTexData( bool enable ); - void setShaderData( bool enable ); + void setTexData( bool enable,RAS_IRasterizer *ras); + void setShaderData( bool enable, RAS_IRasterizer *ras); - void setTextureEnvironment( int textureIndex ); - void setEnvMap( bool val, bool cube=false); - void setTexMatrixData(int i); bool setDefaultBlending(); - void setObjectMatrixData(int i); + void setObjectMatrixData(int i, RAS_IRasterizer *ras); + void setTexMatrixData(int i); + + void setLightData(); + void applyTexGen(RAS_IRasterizer *ras); // cleanup stuff - void DisableTexData(); void OnExit(); - //void DisableNonEnabled(); - // -- mutable int mPass; }; |