- Improved lighting and background (also turned off shadows, unnecessary and
a potential slowdown in generating the preview)
- UV unwrapped the sphere and monkey models, so you can actually see something
useful when a texture is mapped to UV
- Added a 'hair' preview option (reused sphere icon will be eventually
forthcoming)
are already defined locally, probably does not work fully yet.
Added extra 'threads' parameter as requested by Lynx3d.
Optimized drawing of rendered tiles, so that the entire image doesn't have
to be redrawn every time a tile is complete.
The blender code that handles this part was not yet complete and could only
draw (sets of) scanlines. I extended the renderwin_progress() function in
renderwin.c to handle a given subrectangle.
This code needs review!
For the limited test I did it seems to work at least...
This code enables IPO-pinning for Sequence-strips again, by working
around the missing libdata in blenloader/intern/readfile.c.
Bad hack(tm). Maybe we find a way, to make Sequence-strips true libdata?
It also fixes two places in IPO-editing where frame-locking wasn't handled.
Edit Mesh: "Add duplicate" failed when used in mixed edge/face select mode,
you then can make incoherent vertex selections. Nicely solved.
Also, related, uncommitted fix I did 6 months ago for EM_selectmode_set().
It is supposed to deliver full consistant selection, for all combos of
selection modes.
Hotkeys Ctrl/Command (Mac) X, C, and V will cut, copy and paste the selected
text to and from the 'buttons clipboard'.
This clipboard is still not that good since it doesn't even use the same
storage as the blender text editor, let alone the host OS. But I guess that
sort of thing should be tackled inside of GHOST. Any takers? :)
[ #4272 ] Camera zooming problem
Move the camera in camera view could block inexplicably sometimes.
Was a silly programmation error that any competant compiler should have given a warning for. Alas, I'm using gcc...
Bugfixes:
- hddaudio now allocates it's decode buffer + AVCODEC_MAX_AUDIO_FRAME_SIZE
safety interval. (The former code expected all decoded audio frames to
be the same size which can hurt under some circumstances e.g. VBR files)
- writeffmpeg: some pointers where not initialized on start and after
deletion not set to null. Could segfault randomly on error conditions.
- drawseq: use startdisp and enddisp to decide, if a strip should be drawn.
(Just extend strips first or last frame beyond screen dimensions in
the previous version and watch the strip disappear)
Sequencer:
A call to view2d_do_locks() got accidentally added in main drawing loop,
causing an infinite loop of redraws when this option was used with more
sequence windows open.
Added missing view2d_do_locks() to zooming in Sequence window. Also
cleaned this call a bit.
Bugfix: If you use the IPO-pinning feature and edited an IPO that wasn't
highlighted as the current Sequence (current Sequence being a Metastrip),
you'll get obscure crashes, since the code
a) was mistakenly using last_seq
b) didn't test for se->ok != 2, thereby doing double frees on imbufs
Am I the only one, who wants to remove the last_seq global completely... ?
Small fix, but results are at least less frustrating now. It uses the
"compatible euler" function from inserting key positions here, preventing
euler values to be constrainted that differ weirdly.
I've tried several other approaches to get a definite rotate constraint,
but only constraining a single axes seems to me impossible magic still...
Object Layer Ipos didn't work when the Ipo was moved an Object Action.
Can't get this to work though... this option has been added with a lot
of exception handling already, and for action/nla it's very nasty to
blend/mix/add layer bit values. So; better not support that.
As feedback for users, I've added a notice popup when you try to move
layer-ipos to an action.
Compositor:
Viewer Nodes inside of Groups now work too. To not frustrate interactive
speed, the following rules apply:
- Making a Group editable (or closing) doesn't signal recalculation of
composite
- clicking on an Input socket always checks changes and calulcates
- When there are Viewers inside an edited Group, Viewers in the main tree
are not executed.
Also added: a "hide unused sockets" icon in the header of Viewer nodes.
This allows cleanup of Groups, to prevent these sockets get reveiled.
made xparts and yparts consistent in the different places it can be set now python and the buttons are max 64 (was 512 in some python locations) and xparts is max 512 (was max 64 in some python locations), also made the minimum xparts and yparts 1 again. Ed Halley suggests that we should up the max xparts to 1024 (instead of the current 512) for 'smoother panoramas'
list of recent opened file is written to .Blog file, when it is necessary,
list shouldn't hide now, ... I don't want to rewrite code after intrr
anymore ;-)
The mouse handling code for selecting/deselecting face/edge loops and edge
rings was causing single edges to be selected in face mode when face loop
select failed.
Bug in buttons_editing.c meant that edge subdivide code was getting called
with wrong arguments when accessed via the edit buttons, but was called
correctly from wkey menu.
Also added Alexander's small fix so that beauty subdivide behaves correctly
when used on non-proportionally scaled objects.
Each report was about a different failure with Particles, all related to
weak handling of animation systems and the depsgraph.
Fix has 2 parts; depsgraph now signals "object recalc" to be for time
changes; this then is used to bypass particle-building (since that's baked).
Other part is better object caching while makig particles.
Blender has Open recent submenu in main File menu, Open recent should
work correctly now, I remove Reopen last item (I hope, that I didn't
break anything), because it seems obsolete now
Old annoyance in Blender; zooming in very far makes scaling/rotate
around invisible pivot going bezerk. The easy fix was just enforcing
floats in integer math.
it keeps storing a previous buffer for as long you don't render showing
this previous buffer.
If you render showing the previous buffer, it stores the current render.
To make this more clear, the window title shows "previous" when it shows
the stored copy.
Added code to make 'Collapse Edges' handle UV's intelligently. This seems to work in just about every case that I can test, so it's turned on by default.
Also completely removed the 'collapse faces' command and code. I'm not sure what I was thinking with this in the first place since edge collapse does the same job while in in face mode. Because of this there is now just one single command that covers both situations called 'Collapse' which uses the edge collapse code.
- Shaded drawmode is back (shift+z).
Note it still only uses orco texture; but lighting/shading is using
the internal render module entirely.
- "Make Sticky" option back.
(Also fix in sticky texture render, was wrong scaled)
This commit brings back:
- Field Render
- MBlur Render (old style)
- Border render with or without cropping
Note: Field Render is not supported in Compositor yet. Blurring or filter
will destroy field information.
Both MotionBlur as Field render are done before Compositing happens.
Fixes:
- The "Save Buffers" option only worked on single frame renders, not for
Anim render.
- Found an un-initalized variable in Render initialize... this might have
caused the unknown random crashes with render.
Code restructure:
Cleaned up names and calls throughout the pipeline, more clearly telling
what goes on in functions.
This is visible in the updated first image of the Wiki doc:
http://mediawiki.blender.org/index.php/BlenderDev/RenderPipeline