#if !defined(EM_MODE) && !defined(SHADERS)
glShadeModel(GL_FLAT);
- // glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, true);
+ // #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
+
+ // glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE);
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
glFogi(GL_FOG_MODE, GL_EXP);
glFogf(GL_FOG_DENSITY, 0);
break;
case ambient:
{
-#if !defined(EM_MODE) && !defined(SHADERS)
+#if defined(SHADERS)
+ shader_setGlobalAmbient(((Color)value).r / 255.0f, ((Color)value).g / 255.0f, ((Color)value).b / 255.0f, 1.0f);
+#elif !defined(EM_MODE)
float ambient[4] = { ((Color)value).r/255.0f, ((Color)value).g/255.0f, ((Color)value).b/255.0f, 1.0f };
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient);
#endif
void SetLight(Display display, int id, Light light)
{
-#if !defined(EM_MODE) && !defined(SHADERS)
+#if defined(SHADERS)
+ shader_setLight(display, id, light);
+#elif !defined(EM_MODE)
//Logf("SetLight\n");
if(light != null)
}
else
{
-
Vector3Df vector { 0,0,-1 };
Vector3Df direction;
Matrix mat;
glEnable(GL_DEPTH_TEST);
-#if !defined(EM_MODE) && !defined(SHADERS)
+#if defined(SHADERS)
+ shader_lighting(true);
+#elif !defined(EM_MODE)
glEnable(GL_LIGHTING);
glShadeModel(GL_SMOOTH);
#endif
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
GLSetupTexturing(false);
-#if !defined(EM_MODE) && !defined(SHADERS)
+#if defined(SHADERS)
+ shader_lighting(false);
+#elif !defined(EM_MODE)
glDisable(GL_LIGHTING);
glDisable(GL_FOG);
glShadeModel(GL_FLAT);