summaryrefslogtreecommitdiffstats
path: root/src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt')
-rw-r--r--src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt b/src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt
new file mode 100644
index 00000000..0a072213
--- /dev/null
+++ b/src/VBox/GuestHost/OpenGL/state_tracker/state_lighting.txt
@@ -0,0 +1,63 @@
+# Copyright (c) 2001, Stanford University
+# All rights reserved.
+#
+# See the file LICENSE.txt for information on redistributing this software.
+:colorMaterial:colorMaterialFace,colorMaterialMode:ColorMaterial
+:enable:lighting:GL_LIGHTING
+:enable:colorMaterial:GL_COLOR_MATERIAL
+:enable:colorSumEXT:GL_COLOR_SUM_EXT
+:shadeModel:shadeModel:ShadeModel
+:lightModel:lightModelAmbient|r,g,b,a:LightModelfv,GL_LIGHT_MODEL_AMBIENT
+:lightModel:lightModelLocalViewer:*diff_api.LightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, to->lightModelLocalViewer==GL_TRUE);
+:lightModel:lightModelTwoSide:*diff_api.LightModeli(GL_LIGHT_MODEL_TWO_SIDE, to->lightModelTwoSide==GL_TRUE);
+:lightModel:lightModelColorControlEXT:*diff_api.LightModeli(GL_LIGHT_MODEL_COLOR_CONTROL_EXT, to->lightModelColorControlEXT);
+%flush
+:material:ambient[0]|r,g,b,a:Materialfv, GL_FRONT, GL_AMBIENT
+:material:ambient[1]|r,g,b,a:Materialfv, GL_BACK, GL_AMBIENT
+:material:diffuse[0]|r,g,b,a:Materialfv, GL_FRONT, GL_DIFFUSE
+:material:diffuse[1]|r,g,b,a:Materialfv, GL_BACK, GL_DIFFUSE
+:material:specular[0]|r,g,b,a:Materialfv, GL_FRONT, GL_SPECULAR
+:material:specular[1]|r,g,b,a:Materialfv, GL_BACK, GL_SPECULAR
+:material:emission[0]|r,g,b,a:Materialfv, GL_FRONT, GL_EMISSION
+:material:emission[1]|r,g,b,a:Materialfv, GL_BACK, GL_EMISSION
+:material:shininess[0]:Materialf, GL_FRONT, GL_SHININESS
+:material:shininess[1]:Materialf, GL_BACK, GL_SHININESS
+%flush
+>for (i=0; i<CR_MAX_LIGHTS; i++) {
+>CRLightBits *lb = b->light+i;
+>CRLight *tl = to->light+i;
+>CRLight *cl = from->light+i;
+>if (!(CHECKDIRTY(lb->dirty, bitID))) continue;
+%target=tl
+%current=cl
+%bit=lb
+%extrabit=b
+:enable:enable:GL_LIGHT0+i
+%flush
+:ambient:ambient|r,g,b,a:Lightfv, GL_LIGHT0+i, GL_AMBIENT
+:diffuse:diffuse|r,g,b,a:Lightfv, GL_LIGHT0+i, GL_DIFFUSE
+:specular:specular|r,g,b,a:Lightfv, GL_LIGHT0+i, GL_SPECULAR
+:attenuation:constantAttenuation:Lightf, GL_LIGHT0+i, GL_CONSTANT_ATTENUATION
+:attenuation:linearAttenuation:Lightf, GL_LIGHT0+i, GL_LINEAR_ATTENUATION
+:attenuation:quadraticAttenuation:Lightf, GL_LIGHT0+i, GL_QUADRATIC_ATTENUATION
+:position:*diff_api.MatrixMode(GL_MODELVIEW);
+:position:*diff_api.PushMatrix();
+:position:*diff_api.LoadIdentity();
+:position:position|x,y,z,w:Lightfv, GL_LIGHT0+i, GL_POSITION
+:position:*diff_api.PopMatrix();
+:position:*diff_api.MatrixMode(toCtx->transform.matrixMode);
+:spot:*diff_api.MatrixMode(GL_MODELVIEW);
+:spot:*diff_api.PushMatrix();
+:spot:*diff_api.LoadIdentity();
+:spot:spotDirection|x,y,z:Lightfv, GL_LIGHT0+i, GL_SPOT_DIRECTION
+:spot:spotExponent:Lightf, GL_LIGHT0+i, GL_SPOT_EXPONENT
+:spot:spotCutoff:Lightf, GL_LIGHT0+i, GL_SPOT_CUTOFF
+:spot:*diff_api.PopMatrix();
+:spot:*diff_api.MatrixMode(toCtx->transform.matrixMode);
+%flush
+>CLEARDIRTY(lb->dirty, nbitID);
+>}
+%target=to
+%current=from
+%bit=b
+%extrabit=