- uses callback mechanism to tell main drawing routine what to do
- for that reason it doesn't use frontbuffer drawing anymore
and it shows up in all 3d windows as well
- it uses the same colors as for the grid axes (I tweaked it a bit,
this is based at themecolors, and also should work in different
background and grid color)
- I disabled drawing lines through every object or every vertex.
The current display method is clear and not distracting
- when in 'local' transform (double press X/Y/Z), it displays a nice
axis in the center of transform for vertices.
In object-mode, local transform differs per object, so constraint lines
and axes are drawn for each individually...
Also:
- fixed an old bug in rotate transform(). Using a constraint for
rotation (X, Y, Z) didn't work for multiple objects at all!
- in zbuffer mode, vertices will be blended 50% in... and when you increase
vertex size larger than 2 pixels, it will draw them smaller
- removed all 'wire extra' calls (there were dozens!) and replaced it with
simple call where it belongs.
This drawing mode is becoming nice & stable... maybe something to make
default on for new objects? Makes selecting quite easier...
- Subsurf: in editmode, with new 'Optimal' option set, the mesh itself
will not draw, but instead it draws 'handles' to the vertices. Looks
extremely clean!
- matched drawing of default grid-floor (persp) to ortho grid
- killed drawing vertices outside of main drawing loop, apart from the
routine that uses mouse-selecting. (tekenvertices_ext()). It was an old
optimize routine which became quite useless.
This is only usefull for rotate now, but the axis constraining code has a part that depended on this, so I commit this part first.
For coders:
void constline(float *center, float *dir, int col)
Draw an infinite line on the screen. col is the color argument. It must be cpack compatible
void project_short_infiniteline(float *vec, float *dir, short *adr1, short *adr2);
clips infinite line to screen border
- projects vertices without clipping code (xs at 3200)
- sets flag in editvert ( eve->f & 2) when it is not visible
general note: that flag is only valid after the calc_meshverts_ext_f2
call. it is a free flag. be aware that selection
is stored in bit 1 (eve->f & 1)
(adding)
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
also the Makefile.in's were from previous patch adding
the system depend stuff to configure.ac
Kent
--
mein@cs.umn.edu