diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-17 22:27:16 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-01-17 22:27:16 +0300 |
commit | 8cdfe865ecd79383399296a29b57b10d30ea9173 (patch) | |
tree | 2c27e5438e7427ac32219ac6b9eacb5cc1ca3815 /source/blender/render/intern/include/renderdatabase.h | |
parent | 9af3b8a07e5ec51cc7838f8cbcd130262e2e095e (diff) |
Approximate Ambient Occlusion
=============================
A new approximate ambient occlusion method has been added, next to the
existing one based on raytracing. This method is specifically targetted
at use in animations, since it is inherently noise free, and so will
not flicker across frames.
http://www.blender.org/development/current-projects/changes-since-244/approximate-ambient-occlusion/
http://peach.blender.org/index.php/approximate-ambient-occlusion/
Further improvements are still needed, but it can be tested already. There
are still a number of known issues:
- Bias errors on backfaces.
- For performance, instanced object do not occlude currently.
- Sky textures don't work well, the derivatives for texture evaluation
are not correct.
- Multiple passes do not work entirely correct (they are not accurate
to begin with, but could be better).
Diffstat (limited to 'source/blender/render/intern/include/renderdatabase.h')
-rw-r--r-- | source/blender/render/intern/include/renderdatabase.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/renderdatabase.h b/source/blender/render/intern/include/renderdatabase.h index a3a3b4e5e4a..a74579acc4a 100644 --- a/source/blender/render/intern/include/renderdatabase.h +++ b/source/blender/render/intern/include/renderdatabase.h @@ -70,6 +70,7 @@ typedef struct StrandTableNode { float *winspeed; float *surfnor; float *simplify; + int *face; struct MCol *mcol; float *uv; int totuv, totmcol; @@ -114,6 +115,7 @@ float *RE_strandren_get_surfnor(struct ObjectRen *obr, struct StrandRen *strand, float *RE_strandren_get_uv(struct ObjectRen *obr, struct StrandRen *strand, int n, char **name, int verify); struct MCol *RE_strandren_get_mcol(struct ObjectRen *obr, struct StrandRen *strand, int n, char **name, int verify); float *RE_strandren_get_simplify(struct ObjectRen *obr, struct StrandRen *strand, int verify); +int *RE_strandren_get_face(struct ObjectRen *obr, struct StrandRen *strand, int verify); float *RE_strandren_get_winspeed(struct ObjectInstanceRen *obi, struct StrandRen *strand, int verify); struct VertRen *RE_vertren_copy(struct ObjectRen *obr, struct VertRen *ver); |