[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16234] branches/soc-2008-unclezeiv/source /blender/render/intern/source/lightcuts.c: Added indirect lighting generation for omnidirectional lights ( this completes support for the various light types but, again, several issues are still there)
Davide Vercelli
davide.vercelli at gmail.com
Fri Aug 22 22:03:33 CEST 2008
Revision: 16234
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16234
Author: unclezeiv
Date: 2008-08-22 22:03:33 +0200 (Fri, 22 Aug 2008)
Log Message:
-----------
Added indirect lighting generation for omnidirectional lights (this completes support for the various light types but, again, several issues are still there)
Modified Paths:
--------------
branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c
Modified: branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c
===================================================================
--- branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c 2008-08-22 18:28:34 UTC (rev 16233)
+++ branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c 2008-08-22 20:03:33 UTC (rev 16234)
@@ -1071,6 +1071,19 @@
dir[1]= sinf(phi) * sin_th;
}
+static void get_random_direction(float *dir)
+{
+ float theta, phi, s;
+
+ theta= 2.0f * M_PI * BLI_frand();
+ phi= acosf(2.0f * BLI_frand() - 1.0f);
+ s= sinf(phi);
+
+ dir[0]= cosf(theta) * s;
+ dir[1]= sinf(theta) * s;
+ dir[2]= cosf(phi);
+}
+
/* XXX: terrible hack currently needed by get_bounce_color */
extern struct Render R;
@@ -1246,8 +1259,10 @@
}
break;
case LA_LOCAL:
- /* TODO: indirect lighting for omnidirectional lamps */
- return;
+ VECCOPY(isec.start, orig->co);
+ get_random_direction(isec.vec);
+ VECADDFAC(isec.end, isec.start, isec.vec, lcd->scene_diag);
+ break;
}
if (!RE_ray_tree_intersect(re->raytree, &isec)) {
More information about the Bf-blender-cvs
mailing list