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>2006-11-10 02:47:28 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2006-11-10 02:47:28 +0300
commit740e3233e0ddd76ec3caa2dd78760e88351a41b5 (patch)
tree28594bdc8d8262d313b7e2e7fc2a00be2758b48d /source/blender/radiosity/extern
parent57a2f7a5b569d1d0564c45e33eae1ebad3cd560b (diff)
Modified the way face data is preserved in the radiosity module. There
is one user level change: the result is now no longer split up in meshes of maximum 64k faces, was a workaround for an old limitation.
Diffstat (limited to 'source/blender/radiosity/extern')
-rw-r--r--source/blender/radiosity/extern/include/radio.h3
-rw-r--r--source/blender/radiosity/extern/include/radio_types.h22
2 files changed, 7 insertions, 18 deletions
diff --git a/source/blender/radiosity/extern/include/radio.h b/source/blender/radiosity/extern/include/radio.h
index 23aa30e3bda..ba1917e9191 100644
--- a/source/blender/radiosity/extern/include/radio.h
+++ b/source/blender/radiosity/extern/include/radio.h
@@ -133,8 +133,7 @@ void addaccuweight(register char *z, register char *t, int w);
void triaweight(Face *face, int *w1, int *w2, int *w3);
void init_face_tab(void);
Face *addface(void);
-Face *makeface(float *v1, float *v2, float *v3, float *v4, RNode *rn, short hasUV);
-void dofaceuv(Face *face, float uvs[8][2], short flag1, short flag2, short flag3, short flag4);
+Face *makeface(float *v1, float *v2, float *v3, float *v4, RNode *rn);
void anchorQuadface(RNode *rn, float *v1, float *v2, float *v3, float *v4, int flag);
void anchorTriface(RNode *rn, float *v1, float *v2, float *v3, int flag);
float *findmiddlevertex(RNode *node, RNode *nb, float *v1, float *v2);
diff --git a/source/blender/radiosity/extern/include/radio_types.h b/source/blender/radiosity/extern/include/radio_types.h
index ae1f1e4f7ee..23ce17d9611 100644
--- a/source/blender/radiosity/extern/include/radio_types.h
+++ b/source/blender/radiosity/extern/include/radio_types.h
@@ -42,6 +42,7 @@
#include "DNA_material_types.h"
struct Render;
+struct TFace;
#define DTWIRE 0
#define DTGOUR 2
@@ -87,28 +88,14 @@ typedef struct RNode { /* length: 104 */
float totrad[3], area;
unsigned int col;
- float uv[4][2]; /* when you change this: also do function set_correct_uv in editmesh.c, and there are more locations that use the size of this part */
- struct TFace *tface;
+ unsigned int orig; /* index in face elem data */
} RNode;
-typedef struct Elem { /* length: 44 */
- struct RPatch *par;
-
- short type; /* type: 4==QUAD, 3==TRIA */
- short f; /* bit 0: patch, bit 1: shootelement */
- float *v1, *v2, *v3, *v4;
- float totrad[3], area;
-
- unsigned int col;
-} Elem;
-
-
typedef struct Face { /* length: 52 */
float *v1, *v2, *v3, *v4;
unsigned int col, matindex;
- float uv[4][2]; /* when you change this: also do function set_correct_uv in editmesh.c, and there are more locations that use the size of this part */
- struct TFace *tface;
+ unsigned int orig; /* index in face elem data */
} Face;
/* rp->f1 */
@@ -168,6 +155,9 @@ typedef struct {
/* to preserve materials as used before, max 16 */
Material *matar[MAXMAT];
int totmat;
+
+ struct RNode **mfdatanodes; /* nodes associated with the mfdata */
+ struct TFace *tface;
/* this part is a copy of struct Radio */
short hemires, maxiter;