From 93aeb6b318a7ec8022e14bba7f9ab98aae0aab6e Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sun, 14 Aug 2005 06:08:41 +0000 Subject: - added make_orco_curf, even does keys! - removed {lattice,curve}_modifier functions - changed render code to use displist for curve rendering instead of making its own. required adding a bevelSplitFlag field to DispList. I also fixed the bevel face splitting which did not work correctly in many situations. - changed so all curve data creation happens in makeDispListCurveTypes, includes making bevel list and filling polys - changed render code to use displist for surface rendering - removed Curve.orco variable, built as needed now - removed stupid BLI_setScanFill* functions... why use a function argument when you can use a global and two functions! Why indeed. (this fixed crash when reloading a file with filled curves and toggling editmode) - bug fix, setting curve width!=1 disabled simple bevel for no apparent reason - cleaned up lots and lots of curve/displist code (fun example: "if(dl->type==DL_INDEX3 || dl->type==DL_INDEX3)"). Hmmm! - switched almost all lattice calls to go through lattice_deform_verts, only exception left is particles - added DBG_show_shared_render_faces function in render, just helps to visualize which verts are shared while testing (no user interface). - renamed some curve bevel buttons and rewrote tooltips to be more obvious - made CU_FAST work without dupfontbase hack Also by the way I wrote down some notes on how curve code works, nothing spiffy but it is at: http://wiki.blender.org/bin/view.pl/Blenderdev/CurveNotes --- source/blender/blenkernel/BKE_displist.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source/blender/blenkernel/BKE_displist.h') diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h index 1102603b6a4..434f9fb1ef9 100644 --- a/source/blender/blenkernel/BKE_displist.h +++ b/source/blender/blenkernel/BKE_displist.h @@ -127,6 +127,8 @@ typedef struct DispList { unsigned int *col1, *col2; int charidx; int pad; + + unsigned int *bevelSplitFlag; } DispList; extern void copy_displist(struct ListBase *lbn, struct ListBase *lb); @@ -135,12 +137,11 @@ extern DispList *find_displist_create(struct ListBase *lb, int type); extern DispList *find_displist(struct ListBase *lb, int type); extern void addnormalsDispList(struct Object *ob, struct ListBase *lb); extern void count_displist(struct ListBase *lb, int *totvert, int *totface); -extern void curve_to_filledpoly(struct Curve *cu, struct ListBase *nurb, struct ListBase *dispbase); extern void freedisplist(struct ListBase *lb); extern int displist_has_faces(struct ListBase *lb); -extern float calc_taper(struct Object *taperobj, int cur, int tot); extern void makeDispListMesh(struct Object *ob); -extern void makeDispListCurveTypes(struct Object *ob); +extern void makeDispListSurf(struct Object *ob, struct ListBase *dispbase, int forRender); +extern void makeDispListCurveTypes(struct Object *ob, int forOrco); extern void makeDispListMBall(struct Object *ob); extern void shadeDispList(struct Object *ob); void freefastshade(void); -- cgit v1.2.3