diff options
author | Ton Roosendaal <ton@blender.org> | 2013-05-17 15:13:46 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2013-05-17 15:13:46 +0400 |
commit | 7b2172cb0b4afaada3f59f90f694847cfc61c43d (patch) | |
tree | 439fc1413791498022c04b310deebf78c5689902 /source/blender/render/intern/include | |
parent | a4e9edb6743769bd9f8fd3e24bd11fd1878d510a (diff) |
3D Viewport rendering (Blender Internal)
Added incremental re-render on view changes. That means all data preprocessing
only needs to be done once on view changes, quite faster that way.
Also fixed a bug in raytracing strands with soft shadows, was wrongly changing
coordinates in a static array.
Note: proper signals for re-renders is still on the todo. Many button options
don't signal a re-render yet. Work around: press G+ESC for quick full renders.
Diffstat (limited to 'source/blender/render/intern/include')
-rw-r--r-- | source/blender/render/intern/include/envmap.h | 2 | ||||
-rw-r--r-- | source/blender/render/intern/include/rayintersection.h | 4 | ||||
-rw-r--r-- | source/blender/render/intern/include/renderdatabase.h | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/render/intern/include/envmap.h b/source/blender/render/intern/include/envmap.h index 79233a5d625..c813e88c656 100644 --- a/source/blender/render/intern/include/envmap.h +++ b/source/blender/render/intern/include/envmap.h @@ -48,7 +48,7 @@ struct ImagePool; void make_envmaps(struct Render *re); int envmaptex(struct Tex *tex, const float texvec[3], float dxt[3], float dyt[3], int osatex, struct TexResult *texres, struct ImagePool *pool); -void env_rotate_scene(struct Render *re, float mat[4][4], int mode); +void env_rotate_scene(struct Render *re, float mat[4][4], int do_rotate); #endif /* __ENVMAP_H__ */ diff --git a/source/blender/render/intern/include/rayintersection.h b/source/blender/render/intern/include/rayintersection.h index 4dceae56a4c..3607e66a237 100644 --- a/source/blender/render/intern/include/rayintersection.h +++ b/source/blender/render/intern/include/rayintersection.h @@ -64,6 +64,10 @@ typedef struct Isect { float dir[3]; float dist; + /* for envmap and incremental view update renders */ + float origstart[3]; + float origdir[3]; + /* precomputed values to accelerate bounding box intersection */ int bv_index[6]; float idot_axis[3]; diff --git a/source/blender/render/intern/include/renderdatabase.h b/source/blender/render/intern/include/renderdatabase.h index 1e81ca20d03..9e48299ed9a 100644 --- a/source/blender/render/intern/include/renderdatabase.h +++ b/source/blender/render/intern/include/renderdatabase.h @@ -140,6 +140,9 @@ struct VlakRen *RE_vlakren_copy(struct ObjectRen *obr, struct VlakRen *vlr); void RE_set_customdata_names(struct ObjectRen *obr, struct CustomData *data); +void area_lamp_vectors(struct LampRen *lar); + + /* haloren->type: flags */ #define HA_ONLYSKY 1 #define HA_VECT 2 |