void volume_precache(Render *re);
void free_volume_precache(Render *re);
-int point_inside_volume_objectinstance(ObjectInstanceRen *obi, float *co);
+int point_inside_volume_objectinstance(Render *re, ObjectInstanceRen *obi, float *co);
#define VOL_MS_TIMESTEP 0.1f
for(vo= re->volumes.first; vo; vo= vo->next) {
for(obi= re->instancetable.first; obi; obi= obi->next) {
if (obi->obr == vo->obr) {
- if (point_inside_volume_objectinstance(obi, co)) {
+ if (point_inside_volume_objectinstance(re, obi, co)) {
MatInside *mi;
mi = MEM_mallocN(sizeof(MatInside), "camera inside material");
/* MAKE RENDER DATA */
database_init_objects(re, lay, 0, 0, 0, 0);
- init_camera_inside_volumes(re);
-
if(!re->test_break(re->tbh)) {
int tothalo;
RE_make_stars(re, NULL, NULL, NULL, NULL);
sort_halos(re, tothalo);
+ init_camera_inside_volumes(re);
+
re->i.infostr= "Creating Shadowbuffers";
re->stats_draw(re->sdh, &re->i);
if (limit == 0) return depth;
if (RE_rayobject_raycast(tree, isect)) {
- float hitco[3];
isect->start[0] = isect->start[0] + isect->labda*isect->vec[0];
isect->start[1] = isect->start[1] + isect->labda*isect->vec[1];
BLI_freelistN(&re->volumes);
}
-int point_inside_volume_objectinstance(ObjectInstanceRen *obi, float *co)
+int point_inside_volume_objectinstance(Render *re, ObjectInstanceRen *obi, float *co)
{
RayObject *tree;
int inside=0;
- tree = makeraytree_object(&R, obi); //create_raytree_obi(obi, obi->obr->boundbox[0], obi->obr->boundbox[1]);
+ tree = makeraytree_object(re, obi); //create_raytree_obi(obi, obi->obr->boundbox[0], obi->obr->boundbox[1]);
if (!tree) return 0;
inside = point_inside_obi(tree, obi, co);