Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-11-29 20:01:09 +0300
committerTon Roosendaal <ton@blender.org>2006-11-29 20:01:09 +0300
commit6543d3e220a8e481eebe73f67dccaf9e752cef22 (patch)
tree8596ec3249e102cf2a73d23216d06cfd46a70b46 /source/blender/render/intern/include
parent35f3682f7c1a1f336144a643b1a2c0fec5dfe105 (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')
-rw-r--r--source/blender/render/intern/include/render_types.h11
-rw-r--r--source/blender/render/intern/include/rendercore.h3
2 files changed, 8 insertions, 6 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;
diff --git a/source/blender/render/intern/include/rendercore.h b/source/blender/render/intern/include/rendercore.h
index dacb9e0b5f9..e70913fbbde 100644
--- a/source/blender/render/intern/include/rendercore.h
+++ b/source/blender/render/intern/include/rendercore.h
@@ -46,6 +46,7 @@
struct HaloRen;
struct ShadeInput;
struct ShadeResult;
+struct World;
/* ------------------------------------------------------------------------- */
@@ -109,7 +110,7 @@ extern void ray_shadow(ShadeInput *, LampRen *, float *);
extern void ray_trace(ShadeInput *, ShadeResult *);
extern void ray_ao(ShadeInput *, float *);
extern void init_jitter_plane(LampRen *lar);
-extern void init_ao_sphere(float *sphere, int tot, int iter);
+extern void init_ao_sphere(struct World *wrld);
#endif /* RENDER_EXT_H */