instead of drawing everything again, in all windows, it restricts to
the active and previous active object. when there are more objects to
be redrawn, it does a normal swapbuffers.
Result is it all redraws & selects a lot faster in complex scenes
* Little fix in "BallTable" routine when moving mouse vertical out of
the 3d window.
In fact, I made it working different, much more cooler!
-------The BallTable Method TM (patent pending)------------
This is a hybrid of the old turntable method (a virtual camara that rotates
around a table) and the trackball method. Mouse moving horizontal, gives
the turntable effect, but with vertical movement it works like a trackball.
So, vertically moving in the middle of the window exactly mimics old
turntable method, moving vertically in the window edge gives a 'twist'
rotation.
Try the turntable for fun! (is in user settings menu)
when you want a new Mesh.
Problem happened when over 16 materials are used for 'collect meshes'.
Blender does not support (yet) more than 16. For clarity, I added a
warning for the user when this occurs
(was bug 370)
* this apple method to do it generates unwanted events, so it could not
be used for the menu mouse-move trick. this is #ifdeffed
* we should re-evaluate if this mousemove should remain in blender...
there are better ways (scrolling contents of pup)
* plus: removed warnings from drawview.c
The problem was that the memory was allocated at the stack, but after the
Python object was created, the pointer to the memory goes invalid.
Thanks to Kester Maddoc for providing a patch - almost 2 weeks ago. Ouch,
I should read my mail a little bit better.
use the internal standards for ascii values > 127
* someone has to check how X11 returns these values! Otherise the old
Blender codes (alt+s = german S) will still work though.
* still have to check this for the buttons!
there)
* replaced with nice local (uiBlock) storage of what goes on in drawing.
it now only calls a glDrawBuffer() and glFinish() when it is actually
needed
Result: interface drawing in general is speedy again, especially for gfx
cards that dont allow frontbuffer drawing, and copy stuff to the frontbuf
with a glFinish() call.
Needs to be tested on all platforms... report to me when you see problems
like menus not drawing correctly, tooltips not drawing or not disappearing,
etc.
- Object_getMatrix() - prints correct values now
- Object_getName() - removes the two identifying chars from the front
- Object_setName() - calls the internal function to correctly set the
name of the object.
* Removed the Object_print function. It causes a crash on Windows.
* Updated the Object_repr function to display the Object nicely.
* Object.Get() now returns a list of Objects when no argument has passed to
it.
* Changed the function declaration for newMatrixObject function
Easier to read now.
rendering the current view (view3d header, render) didn't render solid
drawmode.
found missing opengl initialization calls in opening renderwin.
probably remains from ghost migration.
it is from zr, a note to remind him to have better drawing of procuderal
duplicators in Blender. the code below that comment was mostly a copy
from code it used before already.
writing it more efficient would give a gain of about 20 code lines...
found out that per vertex, per deform group, a heavy function was called
to get an address from a huge array. that address even didnt exist, was
not written in the file... just removing the code makes .blend file
reading happy again.
check it by parenting a 40k vertex mesh, to an armature with "use
armature" and "create vertex groups". save and load file.
the text below as comment:
adding a glFinish() here is to prevent Geforce in 'full scene antialias' mode
from antialising the Blender window. Officially a swapbuffers does a glFinish
itself, so this feels really like a hack... but it won't harm. (ton)
is empty (no $HOME/.Bfs and first time use of FileSelect) it was empty,
causing a nasty drawing error.
It now doesn't draw the menubutton when there are no preset dirs yet.
- removed 'unused variable' warnings from space.c
- Continued getting rid of print methods and updating repr ones:
Needed to fix crashes on Windows >= 98 systems.
- Found and fixed a few small memory leaks in EXPP_interface, related to
execution of script links.
- Fixed a problem with control of the global Python dictionary persistence:
Blender.ReleaseGlobalDict(bool) should now work fine.
- Trying to fix the sigsegv crashes on Windows:
They happen when we try to "print" our objects, like Lamps or Cameras.
Following advice from the Python Embedding doc, removed the tp_print
method from Camera and also improved its tp_repr one, that will be used
as print, repr() and str() for Cameras. If this test works all other objs
will be updated accordingly.