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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-03-07 18:38:56 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-03-07 18:38:56 +0300
commit5b3dc15880b698a53f4e87c9efe2bb35139aaf25 (patch)
tree4c26a3468ed2ed7b48c9a940730d485e0d96f10b /source/blender/render/intern/include/renderdatabase.h
parentf13dc2aac1d83a5c6636aa1cacef9d27cdac05d5 (diff)
Normal map tangents are now not always averaged at vertices anymore,
but only when the UV's are connected. That fixes some artifacts when baking and using tangent space normal maps. It does mean increased memory usage because it now stores 4 tangents per face like UV's, and increased processing time, but there's no simple way around that.
Diffstat (limited to 'source/blender/render/intern/include/renderdatabase.h')
-rw-r--r--source/blender/render/intern/include/renderdatabase.h2
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 a204aa7876b..7576be6e0e6 100644
--- a/source/blender/render/intern/include/renderdatabase.h
+++ b/source/blender/render/intern/include/renderdatabase.h
@@ -64,6 +64,7 @@ typedef struct VlakTableNode {
struct MCol *mcol;
int totmtface, totmcol;
float *surfnor;
+ float *tangent;
struct RadFace **radface;
} VlakTableNode;
@@ -112,6 +113,7 @@ float *RE_vertren_get_winspeed(struct ObjectInstanceRen *obi, struct VertRen *ve
struct MTFace *RE_vlakren_get_tface(struct ObjectRen *obr, VlakRen *ren, int n, char **name, int verify);
struct MCol *RE_vlakren_get_mcol(struct ObjectRen *obr, VlakRen *ren, int n, char **name, int verify);
float *RE_vlakren_get_surfnor(struct ObjectRen *obr, VlakRen *ren, int verify);
+float *RE_vlakren_get_nmap_tangent(struct ObjectRen *obr, VlakRen *ren, int verify);
RadFace **RE_vlakren_get_radface(struct ObjectRen *obr, VlakRen *ren, int verify);
int RE_vlakren_get_normal(struct Render *re, struct ObjectInstanceRen *obi, struct VlakRen *vlr, float *nor);