diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-10-06 10:10:14 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-10-06 10:10:14 +0400 |
commit | 6c2738ef48bdc7d535d858293a635a29b7269cf3 (patch) | |
tree | 58b3099e13910e29a105737f2fe4a66f2a7cace1 /source/blender/blenkernel/BKE_displist.h | |
parent | 002725d72afd2143437fde556b292e9b427640b2 (diff) |
fix for own bugs in curves.
- the number of segments was always 1 too many on cyclic curves.
- [#17739] - normals were not being calculated when rendering curves.
Replaced macro DL_SURFINDEX with a function. it that assumes variable names and could break from the loop that called it.
Diffstat (limited to 'source/blender/blenkernel/BKE_displist.h')
-rw-r--r-- | source/blender/blenkernel/BKE_displist.h | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h index d6b438a3010..a534dcc3669 100644 --- a/source/blender/blenkernel/BKE_displist.h +++ b/source/blender/blenkernel/BKE_displist.h @@ -50,28 +50,6 @@ #define DL_FRONT_CURVE 4 #define DL_BACK_CURVE 8 -#define DL_SURFINDEX(cyclu, cyclv, sizeu, sizev) \ -\ -if( (cyclv)==0 && a==(sizev)-1) break; \ -if(cyclu) { \ - p1= sizeu*a; \ - p2= p1+ sizeu-1; \ - p3= p1+ sizeu; \ - p4= p2+ sizeu; \ - b= 0; \ -} \ -else { \ - p2= sizeu*a; \ - p1= p2+1; \ - p4= p2+ sizeu; \ - p3= p1+ sizeu; \ - b= 1; \ -} \ -if( (cyclv) && a==sizev-1) { \ - p3-= sizeu*sizev; \ - p4-= sizeu*sizev; \ -} - /* prototypes */ @@ -114,6 +92,7 @@ extern void makeDispListMBall(struct Object *ob); extern void shadeDispList(struct Base *base); extern void shadeMeshMCol(struct Object *ob, struct Mesh *me); +int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4); void imagestodisplist(void); void reshadeall_displist(void); void filldisplist(struct ListBase *dispbase, struct ListBase *to); |