Moved .up() and .down() methods from Modifier API to Modifier sequence
API (also renamed them to moveUp() and moveDown() ). Locating methods
which modify the "parent" structure in objects didn't seem consistent.
Particles: option "even" failed when faces where all exactly same sized,
then it sometimes skipped entire faces.
Just the regular <1.0 that had to be <=1.0
Old issue... Blender saves jpg RGBA files. That's unsupported in all
programs except Blender, always a source of problems with that feature.
Now it just falls back to saving 24 bits when the "RGBA" option is set.
- if current visible area shows render result; use this
- else: search for largest non-Image area (so it won't use Texture or
Composite outputs)
- else if only 1 available window it uses that one.
Works for both new options (fullscreen too). Especiall fullscreen works
much better, since it uses an own designated Image Window by default.
2006/01/28 commit from Campbell forgot to check for proper pointer:
if(seq->sound->stream==NULL) return;
should be:
if(seq->sound==NULL || seq->sound->stream==NULL) return;
Nkey "Properties Panel" now has Dimension ("Dim") buttons too.
This reads from the actual bounding box value to see the size. Note that
dimensions for animated & deformed objects will change per frame.
(Cleaned up buttons layout for patch, and added support for Curve, Text and
Surface objects)
- MINGW should compile too now (was problem when fucntionality was first introduced), tested with MINGW 5.0.2 (scons)
- added -lshell32 for the dependency on MINGW
Next to the "DispWindow" there are now two new choices:
- Display render output to Image Editor
- Display render output to Screen-sized Image Editor
Both options won't open a 2nd window anymore, which makes work quite more
smooth even, especially because 'focus' isn't lost. Further it fits in the
'single window UI' paradigm of Blender. Should have been done 10 years ago!
Lastly it might bypass issues with X11... having 2 windows with opengl
context is not always stable in Linux.
This option uses an identical trick as for the Compositor viewer, using an
Image block with a fixed name ("Render Result").
The flow, when invoking a Render, goes as follows:
- first it checks if there's an Image Editor visible displaying the "Render
Result", if so then it uses that area-window.
(Use this option for dual-monitor setups for example, a render will always
go to the same location then)
- else it checks if there's an Image Editor open in general, it then
assigns that window the "Render Result" Image.
- else: it searches for the largest Area in the screen, and turns that into
a temporal Image Editor showing render output.
After a render, an ESC will push back the former view, if the Area type has
changed.
Same rules apply for the "Full Screen" option. Here an ESC will always go
back to the regular Screen, and restore Area type if required.
While rendering, the queue for the renderwindow isn't handled yet, so you can
not zoom (nor get full redraws), as for the regular render window.
Existing conflicts:
- in FaceSelect mode, the Image editor enforces to display the face texture
after rendering again.
- when using an Image window for compositing, you'll lose the Viewer output
on a render.
Implementation note:
While rendering updates, nothing is drawn in frontbuffer anymore. That's
good news for b0rked OpenGL drivers (and faster). However, for the few
OpenGL cards that don't do a "swap copy" but a "swap exchange" you get
issues... has to be worked on. I'm afraid we have to drop frontbuffer
drawing altogether.
Other fixes:
- Hotkeys NumPad 1, 2, 4, 8 will set zoom levels (was half coded only?)
Use SHIFT to zoom out (smaller).
- Rendering Tile updates still had draw errors on edges of tiles, in OSA
only. (Caused by commit 4 days ago)
Users can write any valid Python expression (that evals to an int or float) inside Blender's gui number buttons (preceded by #) and have them evaluated to their actual int or float value.
Button Evaluation has access to the same modules as PyDrivers.
For example:
#1.0*9-2.3
#ob("Camera").LocZ
#1.0/ob("Cube").LocX
#math.sin(math.pi) -- or simply #m.sin(m.pi)
etc
As suggested, adding Page Up and Page Down to the hotkey list to change the size of the circle of selection, using brush select (BB).
This is done to bring it in line with transform's PET size adjustment.
Two hotkeys to rule them all and to the reference manual binds them... :P
Changing from ITIMER_VIRTUAL to ITIMER_REAL solved the issue for all
who tested it (Hos, pidhash and me, at least). Ton said to commit it so
more people can test, but other solutions may still be investigated.
The change is only for POSIX systems (so Windows code was not touched).
Removed recently added Material API methods getRbFriction() and
getRbRestitution(). Erwin had already added attributes rbFriction and
rbRestitution, and current API design goal is to eventualy replace
all getStuff()/setStuff() with attributes.
Preview render in 3d window could crash when a re-render was invoked before
the render was initialized even, reading a NULL pointer for scene.
Happened on frantic & quick editing.
- Selection wasn't possible on center dots in Object mode. I keep adding
it and it keeps disappearing again. Added clear comments in code too.
- Particles: (debug still) print "build particles" happened on each redraw
when "Display percentage" for particles was set to zero.
The Scene audio.mixrate variable was zero on creating new scenes, causing
synced playback to fail.
Added initialize in kernel, and patch in buttons drawing to set the value
for wrongly saved files.
(Pixelshading: small correction for more optimal code)
Fixed the blur-plugin (and maybe a lot more) crashes by expecting
future float-buffer aware sequencer-plugins to have a bumped PLUGIN_VERSION
number. Since quality and speed is degraded by converting the float
buffer first to byte, performing the effect on bytes and then converting
back again an additional warning is displayed in the effect strip,
suggesting to update the used sequencer-plugins.
Fixed some more crashes along the way.
Float buffer aware sequencer plugins should
- first check, if the output-ibuf has a rect_float
=> perform all operations with floats (input and output)
- if not: perform everything on bytes (intput and output)
"Backbuf" image render option is back :)
Nicer coded, using Image texture functions.
If you want 100% reliable pixel to pixel accuracy you have to use
compositing. (Old Backbuf didn't do this accuracy either btw).
Adding back some code to booleans that got lost in the Orange merge.
I've also added back the code which checked that meshes were solid
("manifolds") but have the actual check in
intern/boolop/intern/BOP_Interface.cpp, since from my testing it was
not causing crashes or hangs. It *can* give odd results depending on
what you're trying to intersect, but seems useful. Additionally, since
existing bugs in the current code can create non-solid/non-manifold
meshes, seems hypocritical to create a mesh that can't later be used in
another boolean operation.
now scale correctly.
Formerly, they just used to scale away from the curve into nirwana. Now,
they nicely follow the curve while scaling. Both the curve and the text
objects themselves can be scaled.
This will of course break compatibility with files that used this "bug".
Acceptable? I guess :-)
- the .so files are copied to the installation dir plugin/ directory now
(other platforms copy it to the .blender dir, which doesn't exist there
for OSX)
- plugin C files got #defines for return values, was old patch I applied,
but was never committed
A modification of how 'Extrude Region' behaves on the line of
symmetry when a mirror modifier is used. If 'Do clipping' is
selected, and there is an edge selected on the line of symmetry
that is connected to a selected face, that edge no longer gets
extruded into a face lying on the symmetry line. In pictures,
here is how the old behavior compares to the new behavior:
http://bebop.cns.ualberta.ca/~cwant/mirror_extrude_region
I think this new behavior is consistent with what most users of
the mirror modifiers would want, but if not please say so!
Also: Test, test, test!
Added support for XVid and H264-codecs in codec-selection. (only work, if
ffmpeg is compiled with XVid and/or H264-support. Failure in doing so
results in an error message that codec can't be selected.)
Both are written always to AVIs since raw-h264-files created by ffmpeg
can't even be opened by itself...
Video render options are reset to sane defaults (=DVD preset) on startup now.
Don't expect quicktime-support to be very exciting, since ffmpeg can't really
multiplex quicktime files. (Tried several codecs with the ffmpeg-commandline
tool,... sigh)
Timestamp crash on Debian-Sarge version is fixed.
cleaned up some bad warnings and ugly stuff from not being careful enough in last commit.
especially these were dangerous:
interface_icons.c:716: warning: `return' with no value, in function returning non-void
interface_icons.c:779: warning: implicit declaration of function `waitcursor'
header_image.c:757: warning: implicit declaration of function `BIF_preview_changed'
Using spherical lightprobes for AO didn't filter the samples at all.
Image textures in Blender support this, so was simple to add, although
the filtering might need tweak :)