2004-08-22 - added cylindrical texture mapping to the texture application dialog - added -lpthread to the python linking arguments; apparently, python 2.3 needs pthreads, even if you don't use python's threading code 2003-12-19 - added DND loading, so now you can drag files into the kludge3d window in order to load them 2003-12-11 - made some changes to the ac3d loader: began materials support loader now checks the version of the files that it loads - more changes to mat_edit: switched from text entries to spinbuttons, which simplified much of the code; more cleanups and fixes 2003-12-08 through 10 - worked on porting me3d's materials editor dialog to kludge3d 2003-12-04 - finished/re-enabled mtllib loading for wavefront files, esp texture file loading - started work on materials support 2003-12-03 - fmt_3ds now uses the scale value to scale the model after loading (oops) - rewrote group_btns.c's groupBtns_new_group_dlg and groupBtns_edit_dlg - rewrote fmt_wavefront.c's dialog prompt - made the OK button the default widget for the following dialogs: fmt_3ds, new group, edit group, fmt_md2, fmt_wavefront - rewrote doc_man.c's fmt_overwrite_dlg - fixed tex_gdkpixbuf.c; images with rowstrides that do not match width*depth are now handled correctly 2003-12-02 - fixed bug in group.c's group_reparent; was preventing user from adding new groups via the new-group button - fixed some issues w/ the texture name code - fixed the fmt_ac3d loader; the loc keyword was not being handled correctly - cleaned up fmt_ac3d.c - replaced the Mesh->location member with a float[3]; removed model.c's model_flatten() - tex_load() now chdir's to model's dir when loading a tex, chdir's again when finished 2003-12-01 - changed behaviour for storage of texture names; texture names are now stored relative to the model's path, not absolute. 2003-11-26 - finished the l-systems python script 2003-11-21 - started the l-systems python script - added a 'type' member to Primitives, so that Verts can be distinguished from Polys in pywrapper.i - added wrapper funcs for extrude & get-normal - fixed bug in poly_find_normal 2003-11-20 - wrote rollup.c - modified toolbox to make use of rollups, added scriptbox to toolbox - completed the scriptbox code, including the dialog - wrote some documentation for the scripting stuff 2003-11-19b - started work on scriptbox 2003-11-19 - Fixed preferences ordering. Prefs are now stored in a list in addition to the hash table. pref_man is now populated using that list; this ensures that the preferences appear in the order in which they were registered. - prepared for release: fixed numerous compiler warnings, disabled the incomplete "Find Holes" tool, added pixmap for poly-smooth tool, etc. - fixed some bugs in prefs.c, re string-type prefs - release 2003-11-18 - added register_func_with_kludge3d to python wrapper; when complete, it will be used to register scripts with kludge3d, ultimately so that users can use scripts without having to know Python 2003-11-13 - 17 - re-organized pywrapper header - added lots of functions to the python interface, added typemaps for GSList and so forth. The Python interface is much more useful now. - wrote a new python script/module; the prefabs.py script has code for creating common shapes, like cones, cylinders, cubes, and spheres. 2003-11-11 - fixed 'tab' problem for python entry - fixed polygon winding; view_config was calling glp_set_triangleorder for just the first view, not all 4 - fixed poly winding when drawing verts as quads; needed to add a 'flipped' member to the View struct, too - wrote the log_window code, moved the stdout-redirection code from main.c to log_window.c - reworked part of the Python init stuff, so that the ~/.kludge3d directory is added to Python's path, and ~/.kludge3d/base.py is executed on startup (if it exists) - fix for tex_app: using the arrow keys will no longer change the input focus 2003-11-10 - added some code to tools_polys_find_holes stuff, to help detect figure-8 holes. figure-8's still can't be split up. I'm starting to think that this tool isn't really work all the trouble is will be to 'do it right'. - added some code to redirect the output from the python interpreter back into kludge3d, rather than the console. This is experimental. - fixed some bugs in python entry stuff: couldn't enter multi-line programs, so I added some code to "batch" the lines together until they can be sent to the interpreter. Also, hitting the tab key causes focus to leave entry widget, rather than actually entering a tab character. 2003-11-07 - added new tool: tools_polys_find_holes, which finds holes (and 'T' junctions, which are holes too) in a list of polys 2003-11-06 - fixed bug in undo code: action stack should only be trimmed when MARKER actions are added to the stack, rather than for *every* action added to the stack. Here's what was happening in some circumstances: an action, the only reference holder to a vert that was being worked on by a tool, was trimmed from the stack before the tool was finished. The vert would then be deleted by the reference-counting code, even though it was still very much "in use". - completed the new poly-subdivide tools - added new tool: polygon smooth 2003-11-05 - greatly improved vertex drawing speed. Vertices are now drawn using billboarded quads, rather than cubes. The verts now look slightly different in the 3d view (the isometric views are unaffected, since a flat quad looks the same as a cube when drawn in an isometric view), but I don't think anyone will mind (or even notice). Perhaps I'll add a preference (now that adding preferences is so easy, hehehe) allowing the user to set which to use (cubes vs quads) for the 3d view. - split view.c into view.c and view_config.c - moved FRAME_* to view.h, renamed them to VIEW_* - added a preference to allow user to set whether verts should be drawn as cubes or quads (only affects 3d view...) - started two new tools: make-polys-into-triangles and polygon-subdivide-quads 2003-11-3 - cleaned up view.c a bit - all 4 views now share the same opengl context; this makes it possible to share textures and display lists amongst the 4 views - started work on speeding up vertex drawing 2003-10-31 - added new tool: turn edge - made toolbox pretty. buttons are organized into columns now. 2003-10-30 - finished pref_man - fixed some major bugs in prefs.c - added undo stack-length-limit code ("undo-stack trimming") - added preference entry for undo stack-length-limit 2003-10-29 - added prefs.[ch]; loads and saves preferences - added code to main to create ~/.kludge3d directory - moved gui code out of main.c and into gui.c - wrote nearly all of pref_man.c 2003-10-28 - fixed build stuff for lib3ds - fixed some bugs in 3ds loader 2003-10-27 - fixed two bugs in weld code 2003-10-24 - fixed possible bug in polygon.c: when adding new verts to a polygon, it's possible that those verts weren't being added to the poly's mesh as well. - added new tool: model-wide vertex-weld 2003-10-22 - fixed crash: if close texapp window via WM's 'X' rather than the 'Close' button, then try to open texapp window again - fixed memory overrun in tex_pcx.c - added new undo-action: poly_replace_vert. this fixes two problems: * undoing an extrude causes crashes. this will fix that. * vertex-weld is now possible. - fixed extrude undo crash - fixed insidious bug in vertex_dup. was causing bizarre behavior, thrashing the stack, etc. - added new tool: vertex-weld. should be undo-able. 2003-10-21 - finished multiple-document management. docs are accessed through Documents menu, which is updated every time a model is loaded or closed. - added ability to Close current model; this revealed several bugs (which were fixed) and one design flaw (see next several items) - added Model* members to Vertex and Mesh, and code to update them - added Model* argument to certain funcs in selection.c, modified others to retrieve model via existing args - added Model* arg to all tools.c functions - the previous 3 changes were needed b/c there are certain funcs that are used when a model is being loaded or deleted... these funcs can not assume that the_model is the model that is being loaded/deleted. These funcs, namely the sel_* and tools_* code, were fixed so that this assumption is no longer made. - several bugfixes in the sel_* code 2003-10-20 - finished work on scale objects tool. added undo as well - began work on multiple-document management 2003-10-17 - began work on new tool: scale objects 2003-10-16 - fixed create-new-group-from-selected-polys - added new tool: thin/fatten selected objects 2003-10-15 - fixed segfaults in selection.c; uninitialized pointers 2003-10-14 - added new tex_app tool: flip polys, horiz or vert - added help button for tex app - finally fixed a serious flaw in picking. The long-standing "only 40 or so verts/polys can be selected in a single pass" issue has been resolved. The number of primitives that can be picked at once (ie the selection rectangle thingy) is now 4000, which should be plenty given that kludge3d can't realistically handle models with greater complexity than that. Of course, that number can always be raised; it's just a #define. The picking buffer is dynamically allocated and its size is dependant on the number of verts in the model. This helps conserve memory in the typical situation, where there are fewer than 4000 verts in the model. - added tooltips for global scope radiobuttons, removed 'Mesh' button, made button labels more verbose - changed nb tab order back to original 'groups, textures, tools, options' - put frame around active-axis radiobuttons and added tooltips; now people will know what it's for :) - added new tool: remove unused verts 2003-10-13 - added warning to tex_app to notify user when user selects polys from different meshes and tries to edit their texture coords - tex_app now picks texture based on which mesh(es) the sel. polys belong to, rather than just blindly using the curr. mesh's tex - added arrows for texapp's move-all-points and scale-all-points - tex_app now shows texture as it would appear in-engine; ie the texture is repeated in the window according to the tex-repeat vals of the mesh that the polys belong to - fixed bug in texture.c's tex_populate_pixbuf; upside_down tex's weren't being flipped 2003-10-07 - fixed mem leak in tex_sgi.c: rowStart & rowSize - added texture preview icon to tex_man list; required addition of a gdkpixbuf member to the Texture struct - fixed bug in tex_man when deleting the second-to-last texture in a model; texman_current_tex was being set to NULL too late in texman_delete_cb - re-enabled code to draw polygon normals; added a menu item, under the View menu, to control whether the normals are displayed 2003-09-08 - Fixed error involving polygon undeletion. Polygon undelete would add verts back to poly in wrong order, causes backwards polys. Undo system now remembers the index of each vert that is removed from a poly. If the removal action is ever undone, the undo system will ensure that the vert is placed in its original index within the poly. - fixed polygon double-free; occurred only under rare circumstances. In situations where the poly has not yet been added to a mesh, but *has* had verts added to it, calling poly_remove would release all references to the poly, causing it to be freed. poly_delete now uses a prim_ref/prim_unref pair to free the poly. The primitive delete_cb for polys was changed from poly_delete to poly_free (which just calls free()) to avoid inf. recursion. - fixed mem leak in fmt_ac3d.c, fmt_wavefront.c, fmt_3ds.c; model_new() creates an empty mesh and groupnode. Neither are needed by those 3 document-loaders, so they need to be freed. Kludge3d is now mostly memory-error-free. There's probably some leaks still in there, but you can at least load, view, and close a model without memwatch complaining about anything. - fixed bug where, if user initiates a drag with one tool and, while dragging, clicks with another tool, lots of things get screwed up (including undo, the cumulative_delta, etc.) 2003-09-04 - moved the action stack and the undo-enabled-flag into the Model struct - fixed some errors in model.c: was using global 'the_model' instead of local 'model' as arg to action_do calls - fixed lots of undo-related mistakes, mostly missing MARKER things - added poly-reverse-winding undo action - moved partially_completed_tri to Model struct 2003-09-01 - fixed some mem leaks in new code in polygon.c - cleaned up doc_load_save, fixing some mem errors and leaks (relating to model->name, fname) - all calls to the undo code now require a model to be passed in; this is in preparation for moving the action stack and the undo-enabled-flag into the Model struct - fixed configure.ac; passing '--disable-python' now actually disables python - fixed scripting_entry.c; silly mistake prevented non-python-enabled builds from compiling 2003-08-12 - completed reference-counting code; verts and polys are now reference-counted, and will only be freed when the ref count reaches 0. This makes the next item possible... - completed the undo code (well, almost all of it). vert/poly add and delete all seem to work, and are undo-able. When a vert/poly is deleted by the user, the undo list ref's the primitive, and actually becomes the sole reference holder for that primitive. This way, if the undo buffer ever becomes full, the buffer can simply delete the oldest action entries in the undo stack. If the action entry happens to be a vert-delete or poly-delete action, the primitive associated with that action will be unref'ed (thus releasing the final reference for that primitive, causing it to be freed). 2003-08-11 - replaced all instances of "struct model_doc" with "Model" (which is the proper name) - architecture change: moved clipboard code to clipboard.c - fixed vert/poly hide/show code - moved selection code out of vert.c and poly.c and into selection.c - moved "selected_*" & "hidden_*" stuff to Model - verts now know which polys they are used by - began reference-counting code 2003-08-10 - cleaned up tex_app; now compiles cleanly - compiled w/ GTK_DISABLE_DEPRECATED, fixed some little things. The port to GTK2 is officially complete at this point. 2003-08-08 - put group_browser and tex_man lists inside scrolledwindows (finally) - fixed undo bug in group_btns; "select" button did not place an undo marker on the undo stack 2003-08-03 - added a slider to the options notebook tab to set camera height (dist of look-at-point from xy plane) - made the minimum-vertex-size smaller (from 0.01 to 0.001) - added extra column in group_browser : toggle mesh visible/not visible 2003-08-02 - added frame selector to md2 loader - changed groupbtn 'select' behavior - made changes in many parts of the system to allow for polys with only two verts, aka line segments. Not a terribly complicated or difficult change to make, but has some important consequences: - correctness - most 3d file formats (esp. ac3d) allow line segments - usefulness - kludge3d can now be used to create bones in models, for use with PLIB's 'exposer' program (and maybe other animator progs too) 2003-07-26 through 08-01 - went to siggraph! 2003-07-25 - added ability to flip ortho views around 2003-07-24 - added pcx texture loader 2003-07-23 - wrote GdkPixbuf-based texture loader 2003-07-22 - added md2 loader 2003-07-21 - fixed assertion re. retrieving glcontext/drawable before gl widgets were realized - fixed weirdness re. loading wavefront files from command line. problem was caused by calling gtkmain in fmt_wavefront.c BEFORE gtkmain in main.c was entered. - rewrote bottombar stuff; it actually works now - changed many of the modules to make use of bottombar message stuff - changed group_btns to use gdkpixbuf and gtkimage instead of old gdkpixmap/gdkbitmap and gtkpixmap 2003-07-18 - rewrote much of tex_man, to make use of gtk2's new list stuff 2003-07-16, 17 - added drag-and-drop for group_browser (and it works) - added code to group_browser; when model changes, the current_node will be highlighted in the group tree - added "tool palettes" and "tool palette switching" 2003-07-13 through 16 ported to gtk2: - switched from gtkglarea to gtkglext. gtkglext is much nicer (and slightly faster) anyway. - switched to pango for origin axis marker font - merged in D. Pinson's gtk2 patch. no truly major changes were required; the gtk maintainers seem to know their stuff. - removed/fixed deprecated code - rewrote group_browser.c: now split into 3 files (group_browser.c, group_btns.c, scripting_entry.c) group_browser.c now makes use of gtk2's new tree/list system. It's nice, but a little slow... I wish I could turn off the animation. - switched to using glib's signal system for many of the system events: - ::exit (listened-for by some "destructors") - ::model-appearance-changed (listened-for by view_redraw) - ::model-structure-changed (listened-for by gb_rebuild) - ::model-texturelist-changed (listened-for by texman_rebuild_list) - fixed a mem leak in undo.c 2003-07-?? - added some new wrapper funcs for python stuff: select verts in sphere, select verts in box, new quad, new tri - terrain gen. py script rewritten. 2003-07-07 - merged in D. Pinson's python code. Kludge3d now has some scripting capabilities. Build system was changed; configure will now try to detect if the user has a working python interpreter. If a working interp. is found, configure will go ahead and perform the full python-detection stuff, and enable the kludge3d wrapper code. If you want to force configure to do the full python-detection stuff (if, for example, you have python installed, but it isn't in your path or something like that) then give the configure script the --enable-python argument. (Or is it --enable-use_python? I forget...) 2003-06-?? - can now delete polys and verts w/ ctrl-K - texture-repeat stuff moved to mesh/group properties dialog (where it belongs) - misc fixes 2003-06-13 (Fri the 13th! oooooo...) - cleaned up texture stuff (works like doc_load_save now) tex renamed Texture 2003-06-06 - code re-organized; many changes to model.c, multiple models can now be loaded (by low-level code; GUI is oblivious). Changes were made for my CG Animation course, and were then back-ported to kludge3d. - fixed silly bug when drawing meshes with polys of mixed degree; bug was in glp_draw_primitives & glp_draw_primitives_textured (forgot to update prev_num_verts) 2002-11-03 - finished change in vertex storage - verts are now stored in one global list, in addition to pointers held by meshes - fixed some big nasty leaks caused by above change - added placeholder action_do's to code, to both clear the undo stack after non-undo-able actions and to serve as a reminder to eventually implement the undo code for them. 2002-10-27 - started undo stuff; the move, rotate, and select operations have do and undo implemented. The more difficult stuff, like vertex add, delete, etc. still need to be implemented BTW - undo actually works! - added {vertex, poly}_select_list, etc. - fixed massive leak in view_object_select 2002-10-21 - completed interactive vertex rotation, poly rotation, poly extrude 2002-10-20 - added interactive vertex rotation (not functional, disabled) - performed quick hack on group_browser.c and tex_man.c to silence warnings at startup 2002-09-?? - merged in patches from D. Pinson: - arbitrary rotate tool (see toolbox) - current cursor position is displayed in bottom bar - new verts can now be created at precise positions, just enter the coord in the text entry box at the bottom of the groups tab (this needs a better spot) - misc build fixes 2002-07-01 - split model.c into group.c and model.c - Many users seem to have problems with the way kludge3d sets up new/loaded models. Previously, a new model would have the current_node set to NULL. This would present a problem, as most users didn't know to create a new group before adding verts. (You can't add verts to the root group or to a NULL group.) Now, kludge3d will automatically create *and select* a "default group" when starting a new model. When loading a model, kludge3d will select the first non-root group. Note that this doesn't work very well when specifying a file from the command line (I need to set up a timeout so that kl3d enters the gtk_main loop at least once before trying to highlight CList rows) This change probably should have been made much earlier... 2002-06-19 - added quake2 .map format export 2002-05-?? andrew sampson - moved some geometry-manip stuff to tools.c - re-arranged tool tabs - broke lots of things 2002-05-firstweek andrew sampson - erm... oops. lib3ds wasn't completely "optional" - fixed fmt_3ds.c - texapp dialog was still assuming 3-sided polys (crash!) kinda fixed it, but it draws quads oddly now. oh well. 2002-02-28 andrew sampson - finished polygon-extrude tools - fixed bug in ac3d save routine (numverts > 3) - added polygon-move - turned off depth-testing in wireframe mode (better performance) - added ability to create polygons with numverts > 3 To create tris/quads/etc: 1) make sure you're in polygon mode 2) make sure you have selected a "current mesh," so that kl3d knows where to put the stuff you add 3) click on each vertex you want to include in the poly 4) click on some "empty space" to finish off the polygon 2002-02-25 andrew sampson - added autoconf stuff to detect lib3ds, and define HAVE_LIB3DS if it's found - prep for release 2002-02-23 andrew sampson - added texcoord loading to the wavefront loader - added wavefront saving 2002-02-21 andrew sampson - integrated patches from D. Pinson; apparently, kludge3d can be made to compile on win32, using cyg/mingw/etc. - fixed drawing-order bug in ortho views 2002-02-19 andrew sampson - added .3ds support via lib3ds. It was really easy... it took me less than an afternoon. The people who wrote lib3ds really know what they're doing. 2002-02-?? andrew sampson - fixed depth testing - wasn't requesting a depth buffer when calling gtk_gl_area_new()... how *embarassing* :) Because depth-testing wasn't being performed before, and finally *is* being performed, this version of kludge3d is considerably slower than previous releases. I'll probably disable d.t. when in wireframe mode, since it will speed things up. - normals are now calculated for the polygons. The flat-shaded mode looks much better now (no more weird lighting). - flat-shaded mode now has wireframe overlay rendered in a 2nd pass... it's a little slower than before, but it looks much nicer. I'm using a clever little hack I found online to avoid using the polygon-offset extension. - two new group operations: Merge Group With Children and Create New Group From Selected Polygons - added ability to hide/unhide selected polygons and vertices - added stuff for polygons with # vertices != 3. This is more complicated than it sounds. Lots of stuff had to be rewritten... anything that handled polygons needed to be changed (which consisted of much of the rendering and loading code...) I haven't decided how I'm going to handle interactive creation of non-triangle polygons. Currently, kludge3d assumes you're finished after the third vertex is clicked. If you've hacked kludge3d to read/write file formats other than AC3D (I know at least one person has done so) then this set of changes, coupled with the new file-format-handler (see 2002-02-12 below), means that you've got some work ahead of you if you want to port your reader/writer to the newest version of kludge3d. Email me if you need help. 2002-02-12 andrew sampson - merged in some more code from ME3D. Multiple file formats can now be read/written. The ac3d stuff has been moved into its own module (fmt_ac3d.c), and the Wavefront loader from me3d has been ported to kludge3d. If you want to write a reader or writer, take a look at doc_load_save.c and the existing fmt_*.c files. This should make adding new file formats to kludge3d much easier. Note that you don't have to provide both reading and writing functions. Kludge3d (and ME3D) can have read-only or write-only formats, too. The Wavefront module, for example, is read-only for now. 2002-01-31 andrew sampson - merged in patches from D. Pinson: some autoconf problems were fixed, and a really sharp-looking axis-indicator was added. (thanks!) - made memwatch optional; use "./configure --with-dev" to enable - cleaned up interface: added some icons for tools, and moved the mode-selector radio buttons. 2002-01-?? andrew sampson - changed the name of Point to Vertex and Tri to Poly - removed the vertex and polygon tools and replaced them with generalized object tools. Their behaviour is determined by scope- selector radiobuttons. - changed color scheme for verts and polys - changed projection for the XZ ortho - new feature: a background image can now be specified for each axis - drag-n-drop stuff rewritten (IT WORKS NOW!) - the following tools were implemented: duplicate subtree rotate vertices reverse polygon vertex winding flip vertices - texture-application dialog rewritten. It is *very* nice, if you ask me. Check out my mustang model if you don't believe me! - fixed long-standing bug in texture code... alpha component was not removed after texture load 2001-11-?? andrew sampson - new icons for buttons - David Pinson submitted a patch for rpm stuff, build problems, and gnome desktop entry 2001-11-05 andrew sampson - Several patches from David Pinson were integrated: code-cleanup: compiler warnings on Tru64: mouse drag events weren't being handled correctly 2001-10-18 andrew sampson - cleanup, in prep. for release - mad props go out to Mike, for providing a makefile for freebsd. 2001-10-12 andrew sampson - changed 3d camera positioning. It's better now. To Rotate: click and drag with the "Pan View" tool To scoot around on the XY plane: hold down "shift" and click and drag with the "Pan View" tool (careful, it's sensitive) To change the distance-from-the-point-of-camera-rotation (ie zoom): click and drag with the "Zoom View" tool I'll add a way to change the elevation soon, too. 2001-10-06 andrew sampson - A lot has happened in the last few months. While I _have_ been working on kludge3d, I haven't been making regular releases like I used to. I'll try to list all the major changes that have been made, but I don't think I'll be able to remember them all... - rendering errors - the drawing-order problem was actually caused by the version of Mesa I was using, not kludge3d. Mesa-3.5 doesn't seem to have this problem. - vertex selection has been rewritten. Triangle selection still uses the old method, but it works well enough for now. BTW - don't try to select more than 64 vertices in one go. This is a limitation in OpenGL (the name stack, to be specific). If you need to select more than 64 vertices, then just do it in 2 groups. - vertex selection has gimp-style key bindings now. Hold down [shift] when selecting vertices to add to the current selection. Hold down [ctrl] to negate. Try it, you'll see what I mean. - texture-app dialog uses an enlarged version of the original texture, to make it easier to see what you're doing. You'll need some serious screen real-estate to avoid overlapping windows. - Expose events are handled *MUCH* better than they were. Instead of re-rendering the entire scene, the GL buffers are swapped. Dragging a window across kludge3d should no longer bog-down your machine. - The entire geometry tree is drawn now, including vertices, all the time. Previously, only the "current group" and its children were drawn. Actions like selecting/moving/deleting vertices are now performed on the whole tree (ie you can now select vertices that are in different groups). There are some exceptions: adding vertices, selecting/texturing/ adding/deleting triangles. If you add a vertex, it will be added to the "current group". Likewise, triangle operations are performed only on the "current group". (BTW - the "current group" is set by clicking on one of the list items in the "Groups" notebook tab) - A major bug was fixed in the texture manager, which prevented texture information from being saved correctly. To my credit, the bug wasn't in my code; it was in code from G3d... - A rubber-band is drawn when selecting vertices. Try it! It's spiffy! 2001-06-14 andrew sampson - split glpreview.c into view.c and glpreview.c; opengl rendering stuff goes in glpreview.c, and view-initialization & mouse-event-related stuff goes in view.c - more progress made in lasso selection 2001-06-12 andrew sampson - lots of bug fixes (i can't remembr what changed) - most of the group operations work now - beginnings of a texture-coordinate dialog - beginnings of lasso-selection for vertices - worked on the web page a little (new look!) 2001-05-28 andrew sampson - opengl is now used for all 4 views - sourceforge finally accepted the project... still waiting for the shell server to be fixed 2001-05-26 andrew sampson - lots of code clean-up - "loc" keyword is now handled - 2d performance is worrisome... thinking about switching over to opengl for all 4 views. 2001-05-24 andrew sampson - recursive rendering of surfaces - changed name to "kludge3d" - cleanup in prep. for release 2001-05-22 andrew sampson - loading and saving are functional once again - lots of little fixes to prevent segfaults, etc 2001-05-21 andrew sampson - added heirarchical (sp?) grouping of meshes - ported me3d's "groups" dialog to the notebook thingy (still needs lots of work) 2001-05-20 andrew sampson - fixed coordinate system - moved texture dialog onto the notebook thingy - fixed/enabled textured rendering 2001-05-16 andrew sampson - fixed up cut/copy/paste - misc. cleanup / fixes 2001-05-15 Andrew Sampson - started work on "options" tab; it works, mostly... - added cut/copy/paste, still needs work 2001-05-12 Andrew Sampson - triangles and vertices are now drawn in 3d view - fixed/enabled point and triangle selection in glpreview 2001-05-10 Andrew Sampson - replaced 3d preview window ( glpreview.c ) with code borrowed from ME3D. G3d now sucks less. 2001-05-5 Andrew Sampson - added AC3D loading - added zoom and pan for 2d views. this affected many of the files... too many to list 2001-04-29 Andrew Sampson Lots of changes: - pixmaps are now compiled-in; you no longer need to put the .xpm's in /usr/local/share/whatever - added rudimentary AC3D file output - multiple vertex selection has been added 2001-04-23 Andrew Sampson - frame.c : added a gdk_gc_unref() to fix a major memory leak... this leak was causing X crashes, as BEH mentioned on his web page - lines.c : same problem - points.c : rewrote the vertex-selection function; it's now much less retarded. 1999-06-18 Blake E Hegerle * fileops.c : changed to use internal b3d strucs, now mush simpler * gadj.c : now allows scaling * glpreview.c : +texture mapping * tex_man.c : fixed a bug in deleting dialog * toolbar.c : added a modal indicator * tri.c : use internal format of B3D * misc : lots of other changes and bug fixes, now can save and load files, texture mapping is started and interface improvments have found their way into this program 1999-06-2 Blake E Hegerle * first public release. Should almost be useable.