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
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp8
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp51
-rw-r--r--source/gameengine/GamePlayer/common/GPC_RenderTools.cpp3
-rw-r--r--source/gameengine/GamePlayer/common/GPC_RenderTools.h1
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp3
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp3
6 files changed, 18 insertions, 51 deletions
diff --git a/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp b/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
index f2315fef0fb..6ff91f480a7 100644
--- a/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
+++ b/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
@@ -282,9 +282,6 @@ void KX_BlenderRenderTools::DisableOpenGLLights()
{
glDisable(GL_LIGHTING);
glDisable(GL_COLOR_MATERIAL);
-#ifndef SLOWPAINT
- glDisableClientState(GL_NORMAL_ARRAY);
-#endif //SLOWPAINT
}
@@ -292,11 +289,8 @@ void KX_BlenderRenderTools::EnableOpenGLLights()
{
glEnable(GL_LIGHTING);
- glColorMaterial(GL_FRONT_AND_BACK,GL_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
-#ifndef SLOWPAINT
- glEnableClientState(GL_NORMAL_ARRAY);
-#endif //SLOWPAINT
+ glColorMaterial(GL_FRONT_AND_BACK,GL_DIFFUSE);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, false);
if (bgl::QueryExtension(bgl::_GL_EXT_separate_specular_color) || bgl::QueryVersion(1, 2))
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 33a048be4dd..24306212d15 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -226,45 +226,23 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
MT_Point2 uv0(0.0,0.0),uv1(0.0,0.0),uv2(0.0,0.0),uv3(0.0,0.0);
// rgb3 is set from the adjoint face in a square
unsigned int rgb0,rgb1,rgb2,rgb3 = 0;
- pt0 = MT_Point3( mesh->mvert[mface->v1].co[0],
- mesh->mvert[mface->v1].co[1],
- mesh->mvert[mface->v1].co[2]);
- no0 = MT_Vector3(
- mesh->mvert[mface->v1].no[0]/32767.0,
- mesh->mvert[mface->v1].no[1]/32767.0,
- mesh->mvert[mface->v1].no[2]/32767.0
- );
-
- pt1 = MT_Point3( mesh->mvert[mface->v2].co[0],
- mesh->mvert[mface->v2].co[1],
- mesh->mvert[mface->v2].co[2]);
-
- no1 = MT_Vector3(
- mesh->mvert[mface->v2].no[0]/32767.0,
- mesh->mvert[mface->v2].no[1]/32767.0,
- mesh->mvert[mface->v2].no[2]/32767.0
- );
-
- pt2 = MT_Point3( mesh->mvert[mface->v3].co[0],
- mesh->mvert[mface->v3].co[1],
- mesh->mvert[mface->v3].co[2]);
-
- no2 = MT_Vector3(
- mesh->mvert[mface->v3].no[0]/32767.0,
- mesh->mvert[mface->v3].no[1]/32767.0,
- mesh->mvert[mface->v3].no[2]/32767.0
- );
+ MT_Vector3 no0(mesh->mvert[mface->v1].no[0], mesh->mvert[mface->v1].no[1], mesh->mvert[mface->v1].no[2]),
+ no1(mesh->mvert[mface->v2].no[0], mesh->mvert[mface->v2].no[1], mesh->mvert[mface->v2].no[2]),
+ no2(mesh->mvert[mface->v3].no[0], mesh->mvert[mface->v3].no[1], mesh->mvert[mface->v3].no[2]),
+ no3(0.0, 0.0, 0.0);
+ MT_Point3 pt0(mesh->mvert[mface->v1].co),
+ pt1(mesh->mvert[mface->v2].co),
+ pt2(mesh->mvert[mface->v3].co),
+ pt3(0.0, 0.0, 0.0);
+ no0 /= 32767.0;
+ no1 /= 32767.0;
+ no2 /= 32767.0;
if (mface->v4)
{
- pt3 = MT_Point3( mesh->mvert[mface->v4].co[0],
- mesh->mvert[mface->v4].co[1],
- mesh->mvert[mface->v4].co[2]);
- no3 = MT_Vector3(
- mesh->mvert[mface->v4].no[0]/32767.0,
- mesh->mvert[mface->v4].no[1]/32767.0,
- mesh->mvert[mface->v4].no[2]/32767.0
- );
+ pt3 = MT_Point3(mesh->mvert[mface->v4].co);
+ no3 = MT_Vector3(mesh->mvert[mface->v4].no[0], mesh->mvert[mface->v4].no[1], mesh->mvert[mface->v4].no[2]);
+ no3 /= 32767.0;
}
if((!mface->flag & ME_SMOOTH))
@@ -374,6 +352,7 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, RAS_IRenderTools*
{
polymat->m_specular = MT_Vector3(ma->specr, ma->specg, ma->specb)*ma->spec;
polymat->m_shininess = (float)ma->har/4.0; // 0 < ma->har <= 512
+ polymat->m_diffuse = MT_Vector3(ma->r, ma->g, ma->b)*(ma->emit + ma->ref);
} else
{
diff --git a/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp b/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
index 743af35ae9b..514a73c4d77 100644
--- a/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
+++ b/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
@@ -157,9 +157,8 @@ int GPC_RenderTools::ProcessLighting(int layer)
void GPC_RenderTools::EnableOpenGLLights()
{
glEnable(GL_LIGHTING);
- glColorMaterial(GL_FRONT_AND_BACK,GL_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
- glEnableClientState(GL_NORMAL_ARRAY);
+ glColorMaterial(GL_FRONT_AND_BACK,GL_DIFFUSE);
if (bgl::QueryExtension(bgl::_GL_EXT_separate_specular_color) || bgl::QueryVersion(1, 2))
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
}
diff --git a/source/gameengine/GamePlayer/common/GPC_RenderTools.h b/source/gameengine/GamePlayer/common/GPC_RenderTools.h
index 9c76ccd478d..62b69c07c5c 100644
--- a/source/gameengine/GamePlayer/common/GPC_RenderTools.h
+++ b/source/gameengine/GamePlayer/common/GPC_RenderTools.h
@@ -64,7 +64,6 @@ public:
{
glDisable(GL_LIGHTING);
glDisable(GL_COLOR_MATERIAL);
- glDisableClientState(GL_NORMAL_ARRAY);
}
void EnableOpenGLLights();
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index 4cf930072c5..7105710bf08 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -143,9 +143,6 @@ bool RAS_OpenGLRasterizer::Init()
m_blueback = 0.4375;
m_alphaback = 0.0;
- // enable both vertexcolor AND lighting color
- glEnable(GL_COLOR_MATERIAL);
-
glClearColor(m_redback,m_greenback,m_blueback,m_alphaback);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
index 50b786bb120..7d7a73b8f2d 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp
@@ -75,7 +75,7 @@ bool RAS_VAOpenGLRasterizer::Init(void)
{
glEnableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
- glDisableClientState(GL_NORMAL_ARRAY);
+ glEnableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
@@ -125,7 +125,6 @@ void RAS_VAOpenGLRasterizer::Exit()
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
- glDisable(GL_COLOR_MATERIAL);
RAS_OpenGLRasterizer::Exit();
}