Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2006-02-13 08:45:32 +0300
committerErwin Coumans <blender@erwincoumans.com>2006-02-13 08:45:32 +0300
commite4790aef46f7ca0b4ab01c34f043be9e7b1fa7f1 (patch)
tree0d83145e454cc7b5947ec657dbd9e415aac9d809 /source/gameengine/Ketsji/KX_BlenderMaterial.h
parent6c325d74f534d259820c2b2d94d5b73b3acf0a35 (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.h51
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;
};