#endif
}
+public void GLSetupLighting(bool enable)
+{
+#if defined(SHADERS)
+ shader_lighting(enable);
+#elif !defined(EM_MODE)
+ (enable ? glEnable : glDisable)(GL_LIGHTING);
+#endif
+}
// Non OpenGL ES friendly stuff
{
glXMakeCurrent(xGlobalDisplay, oglSystem.glxDrawable, oglSystem.glContext);
// Setup Extensions
- CheckExtensions(oglSystem);
+ // CheckExtensions(oglSystem);
glXMakeCurrent(xGlobalDisplay, None, null);
result = true;
}
#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);
+ GLSetupLighting(true);
#if !defined(EM_MODE) && !defined(SHADERS)
- glEnable(GL_LIGHTING);
glShadeModel(GL_SMOOTH);
#endif
glDepthMask((byte)bool::true);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
+
GLSetupTexturing(false);
-#if !defined(EM_MODE) && !defined(SHADERS)
- glDisable(GL_LIGHTING);
+ GLSetupLighting(false);
+#if !defined(SHADERS) && !defined(EM_MODE)
glDisable(GL_FOG);
glShadeModel(GL_FLAT);
#endif
else
GLSetupTexturing(false);
-#if defined(EM_MODE) || defined(SHADERS)
+#if defined(SHADERS)
+ shader_setMaterial(material, mesh.flags.colors);
+#elif defined(EM_MODE)
glimtkColor4f(material.diffuse.r, material.diffuse.g, material.diffuse.b, material.opacity);
#else
if(mesh.flags.colors)