diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2005-01-16 09:02:06 +0300 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2005-01-16 09:02:06 +0300 |
commit | 3b91ea4309f47d937799382d988a6348e3bb2d7f (patch) | |
tree | d45b8087e755ae6b9781845d21898603c038f2a7 /source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | |
parent | 5fcf39d2a5db1d536e9fbfa52edb2bcdc40d8e29 (diff) |
Unified KX_BlenderPolyMaterial & GPC_PolygonMaterial into KX_PolygonMaterial.
Make game engine materials use Zoffs in Materials.
Added Python material hooks.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp')
-rw-r--r-- | source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 78666b6936d..95688580fa3 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -42,8 +42,10 @@ #endif // WIN32 #ifdef __APPLE__ #include <OpenGL/gl.h> +#include <OpenGL/glu.h> #else #include <GL/gl.h> +#include <GL/glu.h> #endif #include "RAS_Rect.h" @@ -157,6 +159,10 @@ static void Myinit_gl_stuff(void) } glPolygonStipple(patc); + + glFrontFace(GL_CCW); + glCullFace(GL_BACK); + glEnable(GL_CULL_FACE); } @@ -270,12 +276,9 @@ void RAS_OpenGLRasterizer::DisplayFog() -void RAS_OpenGLRasterizer::SetMaterial(const RAS_IPolyMaterial& mat) +bool RAS_OpenGLRasterizer::SetMaterial(const RAS_IPolyMaterial& mat) { - if (mat.GetCachingInfo() != m_materialCachingInfo) - { - mat.Activate(this, m_materialCachingInfo); - } + return mat.Activate(this, m_materialCachingInfo); } @@ -1329,4 +1332,14 @@ double RAS_OpenGLRasterizer::GetTime() return m_time; } - +void RAS_OpenGLRasterizer::SetPolygonOffset(float mult, float add) +{ + glPolygonOffset(mult, add); + GLint mode = GL_POLYGON_OFFSET_FILL; + if (m_drawingmode < KX_SHADED) + mode = GL_POLYGON_OFFSET_LINE; + if (mult != 0.0f || add != 0.0f) + glEnable(mode); + else + glDisable(mode); +} |