diff options
author | Ton Roosendaal <ton@blender.org> | 2006-11-29 20:01:09 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-11-29 20:01:09 +0300 |
commit | 6543d3e220a8e481eebe73f67dccaf9e752cef22 (patch) | |
tree | 8596ec3249e102cf2a73d23216d06cfd46a70b46 /source/blender/render/intern/include/render_types.h | |
parent | 35f3682f7c1a1f336144a643b1a2c0fec5dfe105 (diff) |
Render Monster support: (part 1)
Removed all limitations from render code for maximum threads. The only
define for this now is in BLI_threads.h, and currently set to 8.
Note that each thread renders an entire tile, and also allocates the
buffers for the tiles, so; more threads might work better with smaller
tiles.
IMPORTANT: node system won't work yet with more than 2 threads! So, don't
try material nodes or compositing with over 2 threads. That I'll commit
later today.
What does work (should work :) is AO and soft shadow now.
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, 6 insertions, 5 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 2269f6ef801..3ac56e73099 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -37,6 +37,8 @@ #include "DNA_object_types.h" #include "DNA_vec_types.h" +#include "BLI_threads.h" + #include "RE_pipeline.h" #include "RE_shader_ext.h" /* TexResult, ShadeResult, ShadeInput */ @@ -48,8 +50,6 @@ struct GHash; #define TABLEINITSIZE 1024 #define LAMPINITSIZE 256 - /* hardcoded maximum now, for optimize tables */ -#define RE_MAXTHREAD 2 typedef struct SampleTables { @@ -77,6 +77,7 @@ typedef struct RenderPart short sample, nr; /* sample can be used by zbuffers, nr is partnr */ short thread; /* thread id */ + char *clipflag; /* clipflags for part zbuffering */ } RenderPart; typedef struct Octree { @@ -209,7 +210,7 @@ typedef struct ShadBuf { ListBase buffers; /* irregular shadowbufer, result stored per thread */ - struct ISBData *isb_result[RE_MAXTHREAD]; + struct ISBData *isb_result[BLENDER_MAX_THREADS]; } ShadBuf; /* ------------------------------------------------------------------------- */ @@ -326,7 +327,7 @@ typedef struct LampRen float bias; short ray_samp, ray_sampy, ray_sampz, ray_samp_type, area_shape, ray_totsamp; - short xold1, yold1, xold2, yold2; /* last jitter table for area lights */ + short xold[BLENDER_MAX_THREADS], yold[BLENDER_MAX_THREADS]; /* last jitter table for area lights */ float area_size, area_sizey, area_sizez; struct ShadBuf *shb; @@ -347,7 +348,7 @@ typedef struct LampRen short YF_glowtype; /* ray optim */ - VlakRen *vlr_last[RE_MAXTHREAD]; + VlakRen *vlr_last[BLENDER_MAX_THREADS]; struct MTex *mtex[MAX_MTEX]; } LampRen; |