[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49488] branches/soc-2012-swiss_cheese/ source: GPUlighting - thin layer to wrap OpenGL' s Phong-Blinn lighting state functions
Jason Wilkins
Jason.A.Wilkins at gmail.com
Wed Aug 1 23:45:32 CEST 2012
Revision: 49488
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49488
Author: jwilkins
Date: 2012-08-01 21:45:31 +0000 (Wed, 01 Aug 2012)
Log Message:
-----------
GPUlighting - thin layer to wrap OpenGL's Phong-Blinn lighting state functions
Modified Paths:
--------------
branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/DerivedMesh.c
branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c
branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawarmature.c
branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawmesh.c
branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawobject.c
branches/soc-2012-swiss_cheese/source/blender/gpu/CMakeLists.txt
branches/soc-2012-swiss_cheese/source/blender/gpu/GPU_compatibility.h
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_buffers.c
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_deprecated.h
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_draw.c
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_extensions.c
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_lighting.c
branches/soc-2012-swiss_cheese/source/blender/windowmanager/intern/wm_init_exit.c
branches/soc-2012-swiss_cheese/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp
branches/soc-2012-swiss_cheese/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
branches/soc-2012-swiss_cheese/source/gameengine/GamePlayer/common/GPC_Canvas.cpp
branches/soc-2012-swiss_cheese/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
branches/soc-2012-swiss_cheese/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
branches/soc-2012-swiss_cheese/source/gameengine/Ketsji/KX_Dome.cpp
branches/soc-2012-swiss_cheese/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
Added Paths:
-----------
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_lighting.h
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_lighting_glsl.c
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_lighting_inline.h
branches/soc-2012-swiss_cheese/source/blender/gpu/intern/gpu_lighting_internal.h
Removed Paths:
-------------
branches/soc-2012-swiss_cheese/source/blender/gpu/GPU_lighting.h
Modified: branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/DerivedMesh.c 2012-08-01 20:44:53 UTC (rev 49487)
+++ branches/soc-2012-swiss_cheese/source/blender/blenkernel/intern/DerivedMesh.c 2012-08-01 21:45:31 UTC (rev 49488)
@@ -2937,14 +2937,14 @@
#if 0
//UI_ThemeColor(TH_WIRE);
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
glLineWidth(2.0);
dm->drawEdges(dm, 0, 1);
glLineWidth(1.0);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
#endif
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
/* if (GPU_buffer_legacy(dm) ) */ { /* TODO - VBO draw code, not high priority - campbell */
DEBUG_VBO("Using legacy code. drawNavMeshColored\n");
//glShadeModel(GL_SMOOTH);
@@ -2973,7 +2973,7 @@
}
gpuEnd();
}
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
}
static void navmesh_DM_drawFacesTex(DerivedMesh *dm,
Modified: branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c 2012-08-01 20:44:53 UTC (rev 49487)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/interface/interface_draw.c 2012-08-01 21:45:31 UTC (rev 49488)
@@ -1273,7 +1273,7 @@
float dir[4], size;
/* store stuff */
- glGetMaterialfv(GL_FRONT, GL_DIFFUSE, diff);
+ gpuGetMaterialfv(GL_FRONT, GL_DIFFUSE, diff);
/* backdrop */
gpuCurrentColor3ubv((unsigned char *)wcol->inner);
@@ -1286,22 +1286,22 @@
/* disable blender light */
for (a = 0; a < 8; a++) {
- old[a] = glIsEnabled(GL_LIGHT0 + a);
- glDisable(GL_LIGHT0 + a);
+ old[a] = gpuIsLightEnabled(a);
+ gpuDisableLight(a);
}
/* own light */
- glEnable(GL_LIGHT7);
- glEnable(GL_LIGHTING);
+ gpuEnableLight(7);
+ gpuEnableLighting();
ui_get_but_vectorf(but, dir);
dir[3] = 0.0f; /* glLightfv needs 4 args, 0.0 is sun */
- glLightfv(GL_LIGHT7, GL_POSITION, dir);
- glLightfv(GL_LIGHT7, GL_DIFFUSE, diffn);
- glLightfv(GL_LIGHT7, GL_SPECULAR, vec0);
- glLightf(GL_LIGHT7, GL_CONSTANT_ATTENUATION, 1.0f);
- glLightf(GL_LIGHT7, GL_LINEAR_ATTENUATION, 0.0f);
+ gpuLightfv(7, GL_POSITION, dir);
+ gpuLightfv(7, GL_DIFFUSE, diffn);
+ gpuLightfv(7, GL_SPECULAR, vec0);
+ gpuLightf(7, GL_CONSTANT_ATTENUATION, 1.0f);
+ gpuLightf(7, GL_LINEAR_ATTENUATION, 0.0f);
/* transform to button */
glPushMatrix();
@@ -1339,10 +1339,10 @@
glShadeModel(GL_FLAT);
/* restore */
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
glDisable(GL_CULL_FACE);
gpuMaterialfv(GL_FRONT, GL_DIFFUSE, diff);
- glDisable(GL_LIGHT7);
+ gpuDisableLight(7);
/* AA circle */
glEnable(GL_BLEND);
@@ -1358,7 +1358,7 @@
/* enable blender light */
for (a = 0; a < 8; a++) {
if (old[a])
- glEnable(GL_LIGHT0 + a);
+ gpuEnableLight(a);
}
}
Modified: branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawarmature.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawarmature.c 2012-08-01 20:44:53 UTC (rev 49487)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawarmature.c 2012-08-01 21:45:31 UTC (rev 49488)
@@ -910,8 +910,8 @@
if (dt == OB_SOLID) {
/* set up solid drawing */
- glEnable(GL_COLOR_MATERIAL);
- glEnable(GL_LIGHTING);
+ gpuEnableColorMaterial();
+ gpuEnableLighting();
glShadeModel(GL_SMOOTH);
@@ -1024,8 +1024,8 @@
/* restore */
if (dt == OB_SOLID) {
glShadeModel(GL_FLAT);
- glDisable(GL_LIGHTING);
- glDisable(GL_COLOR_MATERIAL);
+ gpuDisableLighting();
+ gpuDisableColorMaterial();
}
glPopMatrix();
@@ -1224,8 +1224,8 @@
/* set up solid drawing */
if (dt > OB_WIRE) {
- glEnable(GL_COLOR_MATERIAL);
- glEnable(GL_LIGHTING);
+ gpuEnableColorMaterial();
+ gpuEnableLighting();
if (armflag & ARM_POSEMODE)
set_pchan_gpuCurrentColor(PCHAN_COLOR_SOLID, boneflag, constflag);
@@ -1235,8 +1235,8 @@
draw_b_bone_boxes(OB_SOLID, pchan, xwidth, length, zwidth);
/* disable solid drawing */
- glDisable(GL_COLOR_MATERIAL);
- glDisable(GL_LIGHTING);
+ gpuDisableColorMaterial();
+ gpuDisableLighting();
}
else {
/* wire */
@@ -1352,8 +1352,8 @@
/* set up solid drawing */
if (dt > OB_WIRE) {
- glEnable(GL_COLOR_MATERIAL);
- glEnable(GL_LIGHTING);
+ gpuEnableColorMaterial();
+ gpuEnableLighting();
UI_ThemeColor(TH_BONE_SOLID);
}
@@ -1408,8 +1408,8 @@
/* disable solid drawing */
if (dt > OB_WIRE) {
- glDisable(GL_COLOR_MATERIAL);
- glDisable(GL_LIGHTING);
+ gpuDisableColorMaterial();
+ gpuDisableLighting();
}
}
@@ -2628,7 +2628,7 @@
/* we use color for solid lighting */
gpuMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, white);
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+ gpuColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
glFrontFace((ob->transflag & OB_NEG_SCALE) ? GL_CW : GL_CCW); /* only for lighting... */
}
Modified: branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawmesh.c 2012-08-01 20:44:53 UTC (rev 49487)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawmesh.c 2012-08-01 21:45:31 UTC (rev 49488)
@@ -188,7 +188,7 @@
data.eh = get_tface_mesh_marked_edge_info(me);
glEnable(GL_DEPTH_TEST);
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
bglPolygonOffset(rv3d->dist, 1.0);
/* Draw (Hidden) Edges */
@@ -335,14 +335,14 @@
spec[3] = 1.0;
gpuMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+ gpuColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
gpuMateriali(GL_FRONT_AND_BACK, GL_SHININESS, CLAMPIS(ma->har, 0, 128));
- glEnable(GL_LIGHTING);
- glEnable(GL_COLOR_MATERIAL);
+ gpuEnableLighting();
+ gpuEnableColorMaterial();
}
else {
- glDisable(GL_LIGHTING);
- glDisable(GL_COLOR_MATERIAL);
+ gpuDisableLighting();
+ gpuDisableColorMaterial();
}
c_lit = lit;
@@ -899,8 +899,8 @@
gpuMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0);
/* bind texture */
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
- glEnable(GL_COLOR_MATERIAL);
+ gpuColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+ gpuEnableColorMaterial();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, ima->bindcode);
@@ -929,7 +929,7 @@
/* disable texture */
glDisable(GL_TEXTURE_2D);
- glDisable(GL_COLOR_MATERIAL);
+ gpuDisableColorMaterial();
/* draw single color */
GPU_enable_material(mat_nr, attribs);
@@ -971,7 +971,7 @@
if (ob->transflag & OB_NEG_SCALE) glFrontFace(GL_CW);
else glFrontFace(GL_CCW);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
{
Mesh *me = ob->data;
@@ -1015,9 +1015,9 @@
}
/* reset opengl state */
- glDisable(GL_COLOR_MATERIAL);
+ gpuDisableColorMaterial();
glDisable(GL_TEXTURE_2D);
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
glBindTexture(GL_TEXTURE_2D, 0);
glFrontFace(GL_CCW);
@@ -1053,9 +1053,9 @@
gpuMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, spec);
/* diffuse */
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
- glEnable(GL_LIGHTING);
- glEnable(GL_COLOR_MATERIAL);
+ gpuColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+ gpuEnableLighting();
+ gpuEnableColorMaterial();
}
if (do_light) {
@@ -1076,8 +1076,8 @@
gpuImmediateUnformat();
if (do_light) {
- glDisable(GL_COLOR_MATERIAL);
- glDisable(GL_LIGHTING);
+ gpuDisableColorMaterial();
+ gpuDisableLighting();
GPU_disable_material();
}
Modified: branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawobject.c 2012-08-01 20:44:53 UTC (rev 49487)
+++ branches/soc-2012-swiss_cheese/source/blender/editors/space_view3d/drawobject.c 2012-08-01 21:45:31 UTC (rev 49488)
@@ -1462,7 +1462,7 @@
glScalef(v3d->bundle_size / 0.05f, v3d->bundle_size / 0.05f, v3d->bundle_size / 0.05f);
if (v3d->drawtype == OB_WIRE) {
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
if (selected) {
if (base == BASACT) UI_ThemeColor(TH_ACTIVE);
@@ -1475,7 +1475,7 @@
drawaxes(0.05f, v3d->bundle_drawtype);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
}
else if (v3d->drawtype > OB_WIRE) {
if (v3d->bundle_drawtype == OB_EMPTY_SPHERE) {
@@ -1485,13 +1485,13 @@
else UI_ThemeColor(TH_SELECT);
glLineWidth(2.f);
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
draw_bundle_sphere();
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
glLineWidth(1.f);
}
@@ -1501,7 +1501,7 @@
draw_bundle_sphere();
}
else {
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
if (selected) {
if (base == BASACT) UI_ThemeColor(TH_ACTIVE);
@@ -1514,7 +1514,7 @@
drawaxes(0.05f, v3d->bundle_drawtype);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
}
}
@@ -1543,7 +1543,7 @@
MovieReconstructedCamera *camera = reconstruction->cameras;
int a = 0;
- glDisable(GL_LIGHTING);
+ gpuDisableLighting();
UI_ThemeColor(TH_CAMERA_PATH);
glLineWidth(2.0f);
@@ -1554,7 +1554,7 @@
gpuEnd();
glLineWidth(1.0f);
- glEnable(GL_LIGHTING);
+ gpuEnableLighting();
}
}
}
@@ -1578,9 +1578,9 @@
if (v3d->flag2 & V3D_RENDER_OVERRIDE)
return;
- glEnable(GL_LIGHTING);
- glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
- glEnable(GL_COLOR_MATERIAL);
+ gpuEnableLighting();
+ gpuColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
+ gpuEnableColorMaterial();
glShadeModel(GL_SMOOTH);
tracking_object = tracking->objects.first;
@@ -1593,8 +1593,8 @@
/* restore */
glShadeModel(GL_FLAT);
- glDisable(GL_COLOR_MATERIAL);
- glDisable(GL_LIGHTING);
+ gpuDisableColorMaterial();
+ gpuDisableLighting();
if (!(dflag & DRAW_CONSTCOLOR)) {
gpuCurrentColor3ubv(ob_wire_col);
@@ -1650,7 +1650,7 @@
BKE_camera_view_frame_ex(scene, cam, cam->drawsize, is_view, scale,
asp, shift, &drawsize, vec);
- glDisable(GL_LIGHTING);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list