diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-05-12 13:02:39 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-05-12 13:02:39 +0400 |
commit | 33bfcb26b8997d68adbfbf5931e2157a6ba9fbce (patch) | |
tree | fb18a347b2426faa9d2a487363f1d048ddbd6807 /source/blender/gpu | |
parent | 191ad54599b2d8c8677f56870ee1800e62c50137 (diff) |
manually copy more changes from trunk.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/intern/gpu_draw.c | 8 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_shader_material.glsl | 5 |
2 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index bae323f132d..0e7df43bd34 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -1240,7 +1240,7 @@ int GPU_scene_object_lights(Scene *scene, Object *ob, int lay, float viewmat[][4 Base *base; Lamp *la; int count; - float position[4], direction[4], energy[4], power; + float position[4], direction[4], energy[4]; /* disable all lights */ for(count=0; count<8; count++) @@ -1281,8 +1281,8 @@ int GPU_scene_object_lights(Scene *scene, Object *ob, int lay, float viewmat[][4 glLightfv(GL_LIGHT0+count, GL_POSITION, position); glLightf(GL_LIGHT0+count, GL_CONSTANT_ATTENUATION, 1.0); - glLightf(GL_LIGHT0+count, GL_LINEAR_ATTENUATION, 0.0f/la->dist); - glLightf(GL_LIGHT0+count, GL_QUADRATIC_ATTENUATION, 1.0f/(la->dist*la->dist)); + glLightf(GL_LIGHT0+count, GL_LINEAR_ATTENUATION, la->att1/la->dist); + glLightf(GL_LIGHT0+count, GL_QUADRATIC_ATTENUATION, la->att2/(la->dist*la->dist)); if(la->type==LA_SPOT) { /* spot lamp */ @@ -1294,8 +1294,6 @@ int GPU_scene_object_lights(Scene *scene, Object *ob, int lay, float viewmat[][4 else glLightf(GL_LIGHT0+count, GL_SPOT_CUTOFF, 180.0); } - - power= (ELEM(la->type, LA_SUN, LA_HEMI))? la->energy*M_PI: la->energy*M_PI; //XXX la->power /* setup energy */ mul_v3_v3fl(energy, &la->r, la->energy); diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index 9c9fa7f945f..feb0a84fa87 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -1751,6 +1751,11 @@ void test_shadowbuf(vec3 rco, sampler2DShadow shadowmap, mat4 shadowpersmat, flo } } +void shade_exposure_correct(vec3 col, float linfac, float logfac, out vec3 outcol) +{ + outcol = linfac*(1.0 - exp(col*logfac)); +} + void shade_mist_factor(vec3 co, float miststa, float mistdist, float misttype, float misi, out float outfac) { float fac, zcor; |