diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-06-18 03:25:20 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-06-18 03:25:20 +0400 |
commit | dc8776cafb7dda6e77d4295f60a013b8598b7a4f (patch) | |
tree | ae8bfe3037832901e057bfda177d928031246f1a /source/gameengine/Rasterizer | |
parent | 8fd0b50602acc87ccc49279ceb0cf0978133e704 (diff) |
Apricot Branch: GLSL
====================
* Added GLSL vertex color support in the game engine.
* Added VCol Paint and VCol Light options.
Diffstat (limited to 'source/gameengine/Rasterizer')
3 files changed, 8 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_IRasterizer.h b/source/gameengine/Rasterizer/RAS_IRasterizer.h index dbedc492afa..2068e52ef6b 100644 --- a/source/gameengine/Rasterizer/RAS_IRasterizer.h +++ b/source/gameengine/Rasterizer/RAS_IRasterizer.h @@ -111,6 +111,7 @@ public: RAS_TEXCO_NORM, //< Normal coordinates RAS_TEXTANGENT, //< RAS_TEXCO_UV2, //< + RAS_TEXCO_VCOL, //< Vertex Color RAS_TEXCO_DISABLE //< Disable this texture unit (cached) }; diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index d3c0426de86..3487291e0f1 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -996,6 +996,9 @@ void RAS_OpenGLRasterizer::TexCoord(const RAS_TexVert &tv) case RAS_TEXCO_UV2: glVertexAttrib2fvARB(unit, tv.getUV2()); break; + case RAS_TEXCO_VCOL: + glVertexAttrib4ubvARB(unit, tv.getRGBA()); + break; default: break; } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp index 7a3c9da2ad4..b86e8ae0f49 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp @@ -303,6 +303,9 @@ void RAS_VAOpenGLRasterizer::TexCoordPtr(const RAS_TexVert *tv) case RAS_TEXCO_UV2: glVertexAttribPointer(unit, 2, GL_FLOAT, GL_FALSE, sizeof(RAS_TexVert), tv->getUV2()); break; + case RAS_TEXCO_VCOL: + glVertexAttribPointer(unit, 4, GL_UNSIGNED_BYTE, GL_FALSE, sizeof(RAS_TexVert), tv->getRGBA()); + break; default: break; } @@ -375,6 +378,7 @@ void RAS_VAOpenGLRasterizer::EnableTextures(bool enable) case RAS_TEXCO_NORM: case RAS_TEXTANGENT: case RAS_TEXCO_UV2: + case RAS_TEXCO_VCOL: if(enable) glEnableVertexAttribArray(unit); else glDisableVertexAttribArray(unit); break; |