Age | Commit message (Collapse) | Author |
|
- Disabled "Quick Cache" option. It was causing ridiculous updates
on the entire animation system for start-end frame on every user
event causing changes here (like during transform). Worst was that you
couldn't transform animated objects for that reason either.
Most of the code is still there, waiting for a moment to revise it...
- Constraint "Follow Track" (marker) wasn't using inverse matrix code
in transform, making it wacko to use (wrong pivot, crazyspace)
|
|
* Added additional tag_main_idcode in BKE_scene_update_for_newframe similar to what was done previously in BKE_scene_update_tagged to fix #32017 (unlimited recursion issue for material updates) by Joshua Leung
* So issue wasn't the dependencies, but the material was already tagged (from previous drawing), so wouldn't be updated each frame.
|
|
|
|
|
|
|
|
Generated and UV coordinates from the duplicator of instance instead of the
object itself.
This was used in e.g. Big Buck Bunny for texturing instanced feathers with
a UV map on the bird. Many files changed, mainly to do some refactoring to
get rid of G.rendering global in duplilist code.
|
|
Made it so viewport will disable color management if display device set to None.
This solves couple of regressions, mainly related on old BGE files and made
None display behave exactly as old color management disabled.
|
|
|
|
display
|
|
|
|
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.
This introduces two configurable color spaces:
- Input color space for images and movie clips. This space is used to convert
images/movies from color space in which file is saved to Blender's linear
space (for float images, byte images are not internally converted, only input
space is stored for such images and used later).
This setting could be found in image/clip data block settings.
- Display color space which defines space in which particular display is working.
This settings could be found in scene's Color Management panel.
When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.
This conversions are:
- View, which defines tone curve applying before display transformation.
These are different ways to view the image on the same display device.
For example it could be used to emulate film view on sRGB display.
- Exposure affects on image exposure before tone map is applied.
- Gamma is post-display gamma correction, could be used to match particular
display gamma.
- RGB curves are user-defined curves which are applying before display
transformation, could be used for different purposes.
All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.
This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).
Some technical notes:
- Image buffer's float buffer is now always in linear space, even if it was
created from 16bit byte images.
- Space of byte buffer is stored in image buffer's rect_colorspace property.
- Profile of image buffer was removed since it's not longer meaningful.
- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
to support other spaces, but it's quite large project which isn't so
much important.
- Legacy Color Management option disabled is emulated by using None display.
It could have some regressions, but there's no clear way to avoid them.
- If OpenColorIO is disabled on build time, it should make blender behaving
in the same way as previous release with color management enabled.
More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management
--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
|
|
you could for eg, make a full copy of a scene, then manually remove its compo nodes - which would give invalid zero user count.
|
|
this is not used yet, so no functional changes.
|
|
a linked list by a pointer.
|
|
|
|
|
|
When initially coding this functionality, I was aware of the potential for
infinite recursion here, just not how frequently such setups are actually
used/created out in the wild (nodetree.ma_node -> ma -> ma.nodetree is all too
common, and often even with several levels of indirection!).
However, the best fix for these problems was not immediately clear. Alternatives
considered included...
1) checking for common recursive cases. This was the solution employed for one
of the early patches committed to try and get around this. However, it's all too
easy to defeat these measures (with all the possible combinations of indirection
node groups bring).
2) arbitrarily restricting recursion to only go down 2/3 levels? Has the risk
of missing some deeply chained/nested drivers, but at least we're guaranteed to
not get too bad. (Plus, who creates such setups anyway ;)
*3) using the generic LIB_DOIT flag (check for tagged items and not recurse down
there). Not as future-proof if some new code suddenly decides to start adding
these tags to materials along the way, but is easiest to add, and should be
flexible enough to catch most cases, since we only care that at some point those
drivers will be evaluated if they're attached to stuff we're interested in.
4) introducing a separate flag for Materials indicating they've been checked
already. Similar to 3) and solves the future-proofing, but this leads to...
5) why bother with remembering to clear flags before traversing for drivers to
evaluate, when they should be tagged for evaluation like everything else?
Downside - requires depsgraph refactor so that we can actually track the fact
that there are dependencies to/from the material datablock, and not just to the
object using said material. (i.e. Currently infeasible)
|
|
|
|
|
|
|
|
In the file included with the bugreport, framerates were dropping from 60fps to
11fps for an armature with several lattices parented, and a 5fps drop everytime
an object was parented to the armature.
Upon (re-)inspection of the code, it became apparent that this was being caused
by a block of code that would recalculate the parent (perhaps recursively) as it
thought the parent state was for the wrong timestamp. However, the timestamps
this was using was never really updated (except for a single place, which set it
to a single fixed value to force recalculations to take place), which meant that
this branch was run all the time. AFACT, this is a remnant from some of the old
timeoffset stuff + pre-Depsgraph timestamping hacks that are no longer used/set.
|
|
myself.
see:
http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor
note - mask editing tools need continued development, feather option is not working 100%
|
|
deactivation time from python and GUI.
========================
The linear and angular thresholds set the speed limit (in m/s) and rotation limit (in rad/s)
under which a rigid body will go to sleep (stop moving) if it stays below the limits for a
time equal or longer than the deactivation time (sleeping is disabled is deactivation time is
set to 0).
These settings help reducing the processing spent on Physics during the game.
Previously they were only accessible from python but not working because of a bug.
Now the python functions are working and the settings are available in the Physics panel
of the World settings when using the Blender Game render engine.
Python API:
import PhysicsConstraints
PhysicsConstraints.setDeactivationLinearTreshold(float)
PhysicsConstraints.setDeactivationAngularTreshold(float)
|
|
|
|
autocomplete will allocate a sequencer.
... instead add scene.sequencer_editor_create / clear, these match id.animation_data_* functions.
- refactor for names, for scene level functions call them BKE_sequencer_*
|
|
|
|
a string.
|
|
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
|
|
also stop numpy from being found in /usr/include with cmake.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
audio, game
data, and tool settings.
What exactly should be copied is a bit up to interpretation, but I think these make
sense, and things like audio or game data used to be part of render settings which
do get copied so at least for those it was a regression.
|
|
|
|
|
|
also remove large, duplicate comments from sunsky.h
|
|
|
|
All suggested changes looked good to me, thx to Michael Färber for this list of changes!
|
|
|
|
|
|
=========================
Documentation: http://wiki.blender.org/index.php/User:Psy-Fi/UV_Tools
Major features include:
*16 bit image support in viewport
*Subsurf aware unwrapping
*Smart Stitch(snap/rotate islands, preview, middlepoint/endpoint stitching)
*Seams from islands tool (marks seams and sharp, depending on settings)
*Uv Sculpting(Grab/Pinch/Rotate)
All tools are complete apart from stitching that is considered stable but with an extra edge mode under development(will be in soc-2011-onion-uv-tools).
|
|
Removing some old + unused stuff that's not coming back. For example, the code
for the old "specials menu" used everywhere/all contexts.
|
|
- editmesh smooth & subdivide were using old mirror axis flag still.
- removed colbits from outliner and object code.
- commented some other parts of the code which access deprecated members and aren't called anywhere.
|
|
worked by accident before, because of flags that weren't cleared properly. Now
moved the call to update render engines into scene_update_* itself.
|
|
supporting alpha (it reads but cant write)
|
|
avoid confusion with ImageFormatData.depth
|
|
where image saving settings are needed.
currently file out node and render output share this struct & UI.
|