From 49479ef91044965077cb0053623e51967dd662c6 Mon Sep 17 00:00:00 2001 From: Andre Susano Pinto Date: Thu, 11 Jun 2009 16:44:01 +0000 Subject: *Instance support at dupliverts/faces *Octree works nicely on hierarchic trees *the old code was quite destructive at the Isect variable changing isec->start, end, vec..now it only changes isec->labda (and hit results) Currently rendering a BVH of all objects, where each object has it own octree. --- source/blender/render/intern/include/render_types.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'source/blender/render/intern/include/render_types.h') diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 4846fe8d0e4..88bf30bd9ef 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -54,6 +54,7 @@ struct GHash; struct RenderBuckets; struct ObjectInstanceRen; struct RayObject; +struct RayFace; #define TABLEINITSIZE 1024 #define LAMPINITSIZE 256 @@ -170,7 +171,7 @@ struct Render /* octree tables and variables for raytrace */ struct RayObject *raytree; - struct RayObject *rayfaces; /* TODO Temporary */ + struct RayFace *rayfaces; /* occlusion tree */ void *occlusiontree; @@ -280,6 +281,12 @@ typedef struct ObjectRen { int actmtface, actmcol, bakemtface; float obmat[4][4]; /* only used in convertblender.c, for instancing */ + + /* used on makeraytree */ + struct RayObject *raytree; + struct RayFace *rayfaces; + struct ObjectInstanceRen *rayobi; + } ObjectRen; typedef struct ObjectInstanceRen { @@ -297,6 +304,10 @@ typedef struct ObjectInstanceRen { float *vectors; int totvector; + + /* used on makeraytree */ + struct RayObject *raytree; + } ObjectInstanceRen; /* ------------------------------------------------------------------------- */ -- cgit v1.2.3