diff options
author | Nathan Letwory <nathan@letworyinteractive.com> | 2004-03-23 01:02:18 +0300 |
---|---|---|
committer | Nathan Letwory <nathan@letworyinteractive.com> | 2004-03-23 01:02:18 +0300 |
commit | 00291b5cf4a0f16ddca425b74ed30e8ac35d40e2 (patch) | |
tree | 952bb1c2f6fd8c2f34b950597ed0fa73a4ea7594 /source/gameengine/Rasterizer/RAS_TexVert.h | |
parent | 5b90aafbd6815e29343f8e9aba9e3e20f85b3cc0 (diff) |
[GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics.
[SCons] Build with Solid as default when enabling the gameengine in the build process
[SCons] Build solid and qhull from the extern directory and link statically against them
That was about it.
There are a few things that needs double checking:
* Makefiles
* Projectfiles
* All the other systems than Linux and Windows on which the build (with scons) has been successfully tested.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_TexVert.h')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_TexVert.h | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/source/gameengine/Rasterizer/RAS_TexVert.h b/source/gameengine/Rasterizer/RAS_TexVert.h index 0e19ea61d9d..cd529e7d586 100644 --- a/source/gameengine/Rasterizer/RAS_TexVert.h +++ b/source/gameengine/Rasterizer/RAS_TexVert.h @@ -42,14 +42,16 @@ static MT_Point2 g_pt2; #define TV_CALCFACENORMAL 0x0001 +#define RAS_TexVert_INLINE 1 + class RAS_TexVert { - float m_localxyz[3]; // 3*4=12 = 24 - float m_uv1[2]; // 2*4=8 = 24 + 16 = 40 - unsigned int m_rgba; //4 = 40 + 4 = 44 - short m_normal[3]; //3*2=6 = 50 - short m_flag; //32 bytes total size, fits nice = 52 = not fit nice + float m_localxyz[3]; // 3*4 = 12 = 24 + float m_uv1[2]; // 2*4 = 8 = 24 + 16 = 40 + unsigned int m_rgba; // 4 = 40 + 4 = 44 + short m_normal[3]; // 3*2 = 6 = 50 + short m_flag; // 32 bytes total size, fits nice = 52 = not fit nice public: @@ -64,11 +66,28 @@ public: ~RAS_TexVert() {}; // leave multiline for debugging +#ifdef RAS_TexVert_INLINE + const float* getUV1 () const { + return m_uv1; + }; + + const float* getLocalXYZ() const { + return m_localxyz; + }; + + const short* getNormal() const { + return m_normal; + } + + const unsigned int& getRGBA() const { + return m_rgba; + } +#else const float* getUV1 () const; - - //const float* getUV1 () const { - // return m_uv1; - //}; + const short* getNormal() const; + const float* getLocalXYZ() const; + const unsigned int& getRGBA() const; +#endif const MT_Point3& xyz(); @@ -77,14 +96,7 @@ public: void SetRGBA(const unsigned int rgba); void SetNormal(const MT_Vector3& normal); void SetFlag(const short flag); - // leave multiline for debugging - const short* getNormal() const; - //const float* getLocalXYZ() const { - // return m_localxyz; - //}; - - const float* getLocalXYZ() const; - const unsigned int& getRGBA() const; + // compare two vertices, and return TRUE if both are almost identical (they can be shared) bool closeTo(const RAS_TexVert* other); @@ -92,6 +104,7 @@ public: const MT_Point2& otheruv, const unsigned int otherrgba, short othernormal[3]) const; + void getOffsets(void*&xyz, void *&uv1, void *&rgba, void *&normal) const; }; #endif //__RAS_TEXVERT |