Fixed problem with averaged vertex normals.
This commit is contained in:
parent
35c3de4cc2
commit
aa605d17e8
2 changed files with 17 additions and 8 deletions
|
@ -33,7 +33,7 @@ OFILES = $(CFILES:.c=.o)
|
||||||
include ../make.inc
|
include ../make.inc
|
||||||
|
|
||||||
|
|
||||||
CFLAGS = $(FG_CFLAGS) -g
|
CFLAGS = $(FG_CFLAGS) -O3 -fomit-frame-pointer -funroll-all-loops -ffast-math
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -66,6 +66,9 @@ tri2obj.o: tri2obj.c
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# $Log$
|
# $Log$
|
||||||
|
# Revision 1.3 1997/12/02 13:13:32 curt
|
||||||
|
# Fixed problem with averaged vertex normals.
|
||||||
|
#
|
||||||
# Revision 1.2 1997/11/14 00:29:13 curt
|
# Revision 1.2 1997/11/14 00:29:13 curt
|
||||||
# Transform scenery coordinates at this point in pipeline when scenery is
|
# Transform scenery coordinates at this point in pipeline when scenery is
|
||||||
# being translated to .obj format, not when it is being loaded into the end
|
# being translated to .obj format, not when it is being loaded into the end
|
||||||
|
|
|
@ -171,7 +171,7 @@ void triload(char *basename) {
|
||||||
/* dump in WaveFront .obj format */
|
/* dump in WaveFront .obj format */
|
||||||
void dump_obj(char *basename) {
|
void dump_obj(char *basename) {
|
||||||
char objname[256];
|
char objname[256];
|
||||||
double n1[3], n2[3], n3[3];
|
double n1[3], n2[3], n3[3], norm[3], temp;
|
||||||
FILE *obj;
|
FILE *obj;
|
||||||
int i, t1, t2, t3, count;
|
int i, t1, t2, t3, count;
|
||||||
|
|
||||||
|
@ -214,10 +214,13 @@ void dump_obj(char *basename) {
|
||||||
count = 3;
|
count = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(obj, "vn %.4f %.4f %.4f\n",
|
norm[0] = ( n1[0] + n2[0] + n3[0] ) / (double)count;
|
||||||
( n1[0] + n2[0] + n3[0] ) / (double)count,
|
norm[1] = ( n1[1] + n2[1] + n3[1] ) / (double)count;
|
||||||
( n1[1] + n2[1] + n3[1] ) / (double)count,
|
norm[2] = ( n1[2] + n2[2] + n3[2] ) / (double)count;
|
||||||
( n1[2] + n2[2] + n3[2] ) / (double)count );
|
|
||||||
|
MAT3_NORMALIZE_VEC(norm, temp);
|
||||||
|
|
||||||
|
fprintf(obj, "vn %.4f %.4f %.4f\n", norm[0], norm[1], norm[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dump faces */
|
/* dump faces */
|
||||||
|
@ -248,9 +251,12 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
|
|
||||||
/* $Log$
|
/* $Log$
|
||||||
/* Revision 1.3 1997/11/15 18:05:05 curt
|
/* Revision 1.4 1997/12/02 13:13:32 curt
|
||||||
/* minor tweaks ...
|
/* Fixed problem with averaged vertex normals.
|
||||||
/*
|
/*
|
||||||
|
* Revision 1.3 1997/11/15 18:05:05 curt
|
||||||
|
* minor tweaks ...
|
||||||
|
*
|
||||||
* Revision 1.2 1997/11/14 00:29:13 curt
|
* Revision 1.2 1997/11/14 00:29:13 curt
|
||||||
* Transform scenery coordinates at this point in pipeline when scenery is
|
* Transform scenery coordinates at this point in pipeline when scenery is
|
||||||
* being translated to .obj format, not when it is being loaded into the end
|
* being translated to .obj format, not when it is being loaded into the end
|
||||||
|
|
Loading…
Add table
Reference in a new issue