[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30899] trunk/blender: 2.5: remove vertex normal flip option, this is more harmful than helpful
Brecht Van Lommel
brecht at blender.org
Fri Jul 30 13:50:00 CEST 2010
Revision: 30899
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30899
Author: blendix
Date: 2010-07-30 13:50:00 +0200 (Fri, 30 Jul 2010)
Log Message:
-----------
2.5: remove vertex normal flip option, this is more harmful than helpful
in many cases, and also gave incorrect rim lighting.
Modified Paths:
--------------
trunk/blender/release/scripts/ui/properties_data_mesh.py
trunk/blender/source/blender/blenkernel/intern/mesh.c
trunk/blender/source/blender/makesdna/DNA_curve_types.h
trunk/blender/source/blender/makesdna/DNA_mesh_types.h
trunk/blender/source/blender/makesrna/intern/rna_curve.c
trunk/blender/source/blender/makesrna/intern/rna_mesh.c
trunk/blender/source/blender/render/intern/include/render_types.h
trunk/blender/source/blender/render/intern/include/renderdatabase.h
trunk/blender/source/blender/render/intern/source/convertblender.c
trunk/blender/source/blender/render/intern/source/rayshade.c
trunk/blender/source/blender/render/intern/source/renderdatabase.c
trunk/blender/source/blender/render/intern/source/shadeinput.c
Modified: trunk/blender/release/scripts/ui/properties_data_mesh.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_data_mesh.py 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/release/scripts/ui/properties_data_mesh.py 2010-07-30 11:50:00 UTC (rev 30899)
@@ -114,7 +114,6 @@
col = split.column()
else:
col.separator()
- col.prop(mesh, "vertex_normal_flip")
col.prop(mesh, "double_sided")
Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c 2010-07-30 11:50:00 UTC (rev 30899)
@@ -697,7 +697,6 @@
if(dl==0) return;
if(dl->type==DL_INDEX4) {
- me->flag= ME_NOPUNOFLIP;
me->totvert= dl->nr;
me->totface= dl->parts;
Modified: trunk/blender/source/blender/makesdna/DNA_curve_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_curve_types.h 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/makesdna/DNA_curve_types.h 2010-07-30 11:50:00 UTC (rev 30899)
@@ -245,7 +245,7 @@
#define CU_PATH 8
#define CU_FOLLOW 16
#define CU_UV_ORCO 32
-#define CU_NOPUNOFLIP 64
+#define CU_DEPRECATED 64
#define CU_STRETCH 128
#define CU_OFFS_PATHDIST 256
#define CU_FAST 512 /* Font: no filling inside editmode */
Modified: trunk/blender/source/blender/makesdna/DNA_mesh_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_mesh_types.h 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/makesdna/DNA_mesh_types.h 2010-07-30 11:50:00 UTC (rev 30899)
@@ -129,7 +129,7 @@
/* me->flag */
/* #define ME_ISDONE 1 */
-#define ME_NOPUNOFLIP 2
+#define ME_DEPRECATED 2
#define ME_TWOSIDED 4
#define ME_UVEFFECT 8
#define ME_VCOLEFFECT 16
Modified: trunk/blender/source/blender/makesrna/intern/rna_curve.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_curve.c 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/makesrna/intern/rna_curve.c 2010-07-30 11:50:00 UTC (rev 30899)
@@ -706,11 +706,6 @@
RNA_def_property_boolean_sdna(prop, NULL, "flag", CU_UV_ORCO);
RNA_def_property_ui_text(prop, "Map Along Length", "Generate texture mapping coordinates following the curve direction, rather than the local bounding box");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
-
- prop= RNA_def_property(srna, "vertex_normal_flip", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", CU_NOPUNOFLIP);
- RNA_def_property_ui_text(prop, "Vertex Normal Flip", "Flip vertex normals towards the camera during render");
- RNA_def_property_update(prop, 0, "rna_Curve_update_data");
}
static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c 2010-07-30 11:50:00 UTC (rev 30899)
@@ -1748,10 +1748,6 @@
RNA_def_property_range(prop, 1, 80);
RNA_def_property_ui_text(prop, "Auto Smooth Angle", "Defines maximum angle between face normals that 'Auto Smooth' will operate on");
- prop= RNA_def_property(srna, "vertex_normal_flip", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", ME_NOPUNOFLIP);
- RNA_def_property_ui_text(prop, "Vertex Normal Flip", "Flip vertex normals towards the camera during render");
-
prop= RNA_def_property(srna, "double_sided", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_TWOSIDED);
RNA_def_property_ui_text(prop, "Double Sided", "Render/display the mesh with double or single sided lighting");
Modified: trunk/blender/source/blender/render/intern/include/render_types.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/render_types.h 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/render/intern/include/render_types.h 2010-07-30 11:50:00 UTC (rev 30899)
@@ -587,23 +587,21 @@
#define R_HALO 2
#define R_SEC_FIELD 4
#define R_LAMPHALO 8
-#define R_GLOB_NOPUNOFLIP 16
-#define R_NEED_TANGENT 32
-#define R_BAKE_TRACE 128
-#define R_BAKING 256
+#define R_NEED_TANGENT 16
+#define R_BAKE_TRACE 32
+#define R_BAKING 64
/* vlakren->flag (vlak = face in dutch) char!!! */
#define R_SMOOTH 1
#define R_HIDDEN 2
/* strand flag, means special handling */
#define R_STRAND 4
-#define R_NOPUNOFLIP 8
-#define R_FULL_OSA 16
-#define R_FACE_SPLIT 32
+#define R_FULL_OSA 8
+#define R_FACE_SPLIT 16
/* Tells render to divide face other way. */
-#define R_DIVIDE_24 64
+#define R_DIVIDE_24 32
/* vertex normals are tangent or view-corrected vector, for hair strands */
-#define R_TANGENT 128
+#define R_TANGENT 64
/* strandbuffer->flag */
#define R_STRAND_BSPLINE 1
Modified: trunk/blender/source/blender/render/intern/include/renderdatabase.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/renderdatabase.h 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/render/intern/include/renderdatabase.h 2010-07-30 11:50:00 UTC (rev 30899)
@@ -115,7 +115,7 @@
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);
+void RE_vlakren_get_normal(struct Render *re, struct ObjectInstanceRen *obi, struct VlakRen *vlr, float *nor);
float *RE_strandren_get_surfnor(struct ObjectRen *obr, struct StrandRen *strand, int verify);
float *RE_strandren_get_uv(struct ObjectRen *obr, struct StrandRen *strand, int n, char **name, int verify);
Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c 2010-07-30 11:50:00 UTC (rev 30899)
@@ -356,17 +356,6 @@
}
/* ------------------------------------------------------------------------- */
-
-static int check_vnormal(float *n, float *veno)
-{
- float inp;
-
- inp=n[0]*veno[0]+n[1]*veno[1]+n[2]*veno[2];
- if(inp < -FLT_EPSILON10) return 1;
- return 0;
-}
-
-/* ------------------------------------------------------------------------- */
/* Stress, tangents and normals */
/* ------------------------------------------------------------------------- */
@@ -536,9 +525,6 @@
float n1[3], n2[3], n3[3], n4[3];
float fac1, fac2, fac3, fac4=0.0f;
- if(re->flag & R_GLOB_NOPUNOFLIP)
- vlr->flag |= R_NOPUNOFLIP;
-
sub_v3_v3v3(n1, v2->co, v1->co);
normalize_v3(n1);
sub_v3_v3v3(n2, v3->co, v2->co);
@@ -562,21 +548,11 @@
fac3= saacos(-n2[0]*n3[0]-n2[1]*n3[1]-n2[2]*n3[2]);
fac4= saacos(-n3[0]*n4[0]-n3[1]*n4[1]-n3[2]*n4[2]);
- if(!(vlr->flag & R_NOPUNOFLIP)) {
- if( check_vnormal(vlr->n, v4->n) ) fac4= -fac4;
- }
-
v4->n[0] +=fac4*vlr->n[0];
v4->n[1] +=fac4*vlr->n[1];
v4->n[2] +=fac4*vlr->n[2];
}
- if(!(vlr->flag & R_NOPUNOFLIP)) {
- if( check_vnormal(vlr->n, v1->n) ) fac1= -fac1;
- if( check_vnormal(vlr->n, v2->n) ) fac2= -fac2;
- if( check_vnormal(vlr->n, v3->n) ) fac3= -fac3;
- }
-
v1->n[0] +=fac1*vlr->n[0];
v1->n[1] +=fac1*vlr->n[1];
v1->n[2] +=fac1*vlr->n[2];
@@ -1021,7 +997,7 @@
else width= 1.0f;
if(ma->mode & MA_TANGENT_STR)
- flag= R_SMOOTH|R_NOPUNOFLIP|R_TANGENT;
+ flag= R_SMOOTH|R_TANGENT;
else
flag= R_SMOOTH;
@@ -2431,7 +2407,7 @@
normal_tri_v3( vlr->n,vlr->v3->co, vlr->v2->co, vlr->v1->co);
vlr->mat= ma;
- vlr->flag= ME_SMOOTH+R_NOPUNOFLIP;
+ vlr->flag= ME_SMOOTH;
vlr->ec= 0;
/* mball -too bad- always has triangles, because quads can be non-planar */
@@ -2460,10 +2436,8 @@
/* returns amount of vertices added for orco */
static int dl_surf_to_renderdata(ObjectRen *obr, DispList *dl, Material **matar, float *orco, float mat[4][4])
{
- Object *ob= obr->ob;
VertRen *v1, *v2, *v3, *v4, *ver;
VlakRen *vlr, *vlr1, *vlr2, *vlr3;
- Curve *cu= ob->data;
float *data, n1[3];
int u, v, orcoret= 0;
int p1, p2, p3, p4, a;
@@ -2543,9 +2517,6 @@
vlr->mat= matar[ dl->col];
vlr->ec= ME_V1V2+ME_V2V3;
vlr->flag= dl->rt;
- if( (cu->flag & CU_NOPUNOFLIP) ) {
- vlr->flag |= R_NOPUNOFLIP;
- }
add_v3_v3(v1->n, n1);
add_v3_v3(v2->n, n1);
@@ -2694,9 +2665,6 @@
vlr->mat= ma;
vlr->flag= flag;
- if(cu &&(cu->flag & ME_NOPUNOFLIP)) {
- vlr->flag |= R_NOPUNOFLIP;
- }
vlr->ec= 0; /* mesh edges rendered separately */
if(len==0) obr->totvlak--;
@@ -2904,9 +2872,6 @@
vlr->mat= matar[ dl->col ];
vlr->flag= 0;
- if( (cu->flag & CU_NOPUNOFLIP) ) {
- vlr->flag |= R_NOPUNOFLIP;
- }
vlr->ec= 0;
}
}
@@ -3391,9 +3356,6 @@
vlr->mat= ma;
vlr->flag= flag;
- if((me->flag & ME_NOPUNOFLIP) ) {
- vlr->flag |= R_NOPUNOFLIP;
- }
vlr->ec= 0; /* mesh edges rendered separately */
if(len==0) obr->totvlak--;
@@ -5612,7 +5574,6 @@
RE_init_threadcount(re);
- re->flag |= R_GLOB_NOPUNOFLIP;
re->flag |= R_BAKING;
re->excludeob= actob;
if(actob)
Modified: trunk/blender/source/blender/render/intern/source/rayshade.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rayshade.c 2010-07-30 11:40:23 UTC (rev 30898)
+++ trunk/blender/source/blender/render/intern/source/rayshade.c 2010-07-30 11:50:00 UTC (rev 30899)
@@ -531,10 +531,6 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list