diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-29 15:20:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-29 15:20:42 +0300 |
commit | 8e94028ed57861595e959d30476a74c48868a991 (patch) | |
tree | 6e773858db822dba27b314f76356650a67418462 /source/blender/render/intern/include/render_types.h | |
parent | 5bf5b030e5dd87d4ff80fc44a5b5fb242ad385c2 (diff) |
Bounding box clipping in the render engine.
Now bounding boxes are computed per object, and checked first before
zbuffering objects. For strands, bounding boxes are computed per
original face in the mesh. Overall the speed improvement from this
is quite small (zbuffering is rarely the bottleneck), but it seems a
sensible thing to do anyway.
Diffstat (limited to 'source/blender/render/intern/include/render_types.h')
-rw-r--r-- | source/blender/render/intern/include/render_types.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 3a8a491a852..7b68552e5fb 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -247,13 +247,15 @@ typedef struct ObjectRen { struct Scene *sce; int index, psysindex, flag, lay; + float boundbox[2][3]; + int totvert, totvlak, totstrand, tothalo; int vertnodeslen, vlaknodeslen, strandnodeslen, blohalen; struct VertTableNode *vertnodes; struct VlakTableNode *vlaknodes; struct StrandTableNode *strandnodes; struct HaloRen **bloha; - ListBase strandbufs; + struct StrandBuffer *strandbuf; char (*mtface)[32]; char (*mcol)[32]; @@ -346,7 +348,7 @@ typedef struct StrandSurface { int (*face)[4]; float (*co)[3]; /* for occlusion caching */ - float (*col)[3]; /* for occlusion */ + float (*col)[3]; /* for speedvectors */ float (*prevco)[3], (*nextco)[3]; int totvert, totface; @@ -354,13 +356,14 @@ typedef struct StrandSurface { typedef struct StrandBound { int start, end; - float bbox[2][3]; + float boundbox[2][3]; } StrandBound; typedef struct StrandBuffer { struct StrandBuffer *next, *prev; struct StrandVert *vert; - int totvert; + struct StrandBound *bound; + int totvert, totbound; struct ObjectRen *obr; struct Material *ma; |