Age | Commit message (Collapse) | Author |
|
checking object data, which can be NULL and doesn't actually say anything about particles, removed.
|
|
systems. The device texture always contains at least one dummy particle in case particle info node is used for non-instance objects, this must be initialized in any case.
|
|
* Fixes for changes in the Open Shading Langauge API from version 0.6.0: https://github.com/imageworks/OpenShadingLanguage/commit/11ce51418b45e975ace4d919a4bdd8c2001ba300
* Removed the need for ShadingSystemImpl.
|
|
* OSL namespace fixes for osl_shader.cpp.
|
|
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function.
|
|
* Typo in the CHECK_HEADER_FIELD macro.
Patch by kjym3 in IRC, thanks!
|
|
set to 'dying', which is just an indicator that the particle will be removed, but it is is used for instancing. This would lead to insufficient texture size and assert crash.
|
|
|
|
first particle in the device texture is a dummy for non-instance objects using the particle info node.
|
|
manager updates the device data.
|
|
info node:
* Location: Basically the same as the location from Object Info node for object instances on particles, but in principle there could be additional offsets for dupli objects, so included for completeness.
* Size: Single float scale of the particle. Also directly translates to object scale for current dupli objects, but handy to have as a single float to start with instead of a scale vector (currently not even exposed in Object Info).
* Rotation: This is a quaternion, which are not yet supported by Cycles nodes. The float4 is copied to internal Cycles data and stored in the particles texture data, but the node doesn't have a socket for it yet and the data is not yet written to the stack. Code is just commented out so could be enabled quickly if/when rotation support is added to cycles.
* Velocity: Linear velocity vector of particles.
* Angular Velocity: Angular velocity around principle axes.
The texture data is currently packed tightly into the particles texture, which saves a few bytes, but requires an additional texture lookup for some vector attributes which spread over two float4s. Could also add another float4 to particle size to avoid this.
|
|
The particle data used by the Particle Info node was stored in cycles as a list in each object. This is a problem when the particle emitter mesh is hidden: Objects in cycles are only intended as instances of renderable meshes, so when hiding the emitter mesh the particle data doesn't get stored either. Also the particle data can potentially be copied to multiple instances of the same object, which is a waste of texture space.
The solution in this patch is to make a completely separate list of particle systems in the Cycles scene data. This way the particle data can be generated even when the emitter object itself is not visible.
|
|
floating point error.
|
|
was not selected. Now changed it so that the active face must also have its
UVs shown in the image editor to be used as the source of the image shown.
|
|
the same vertex group active.
|
|
file that has paint mode enabled.
|
|
operator, same as 3d view.
|
|
in the wrong direction.
|
|
* Assume OSL libs in the libdir.
|
|
results, now it does the conversion.
|
|
pinned.
|
|
color managed.
|
|
to "snap to face" with "project individual ..." enabled.
|
|
bone renaming
* Renaming F-Curves now checks if the corresponding F-Curve's group can also be
renamed accordingly.
* Changed the RNA updates for bone renaming so that they properly update the
channel lists
|
|
selection syncing would not work correct, in this case deselecting an edge
would deselect the two vertices even if it wasn't needed.
|
|
|
|
WM_keymap_add_item(keymap, "TEXT_OT_insert", KM_TEXTINPUT, KM_ANY, KM_ANY, 0);
<--- this catch-all key map item at the end of the Text Editor keymap was
gobbling all the key events for user-defined hotkeys added after it in the
keymap. This includes all hotkeys for new operators defined by addons (via
keymap.keymap_items.new()).
As a slightly hacky workaround for this, I've added an extra parameter to
keymap_items.new() which will force the newly added item to get added to the
start of the key map items list (i.e. with top priority). To enable, simply add,
head=True to keymap_items.new() calls. For example:
keymap.keymap_items.new("MY_OP_my_operator_id", type='E', value='PRESS',
alt=True, head=True)
This should be useful for cases where there are similar catch-alls, where it is
necessary to insert our item before the offending catch-all (without knowing
which one it is). However, in general, it's recommended not to use this, unless
all other methods (inlcuding choosing another key combination if your first
choice doesn't work) fails.
|
|
if/else if/for)
|
|
from pointer references)
|
|
Around Frame is enabled
It turns out that the final "rebuild pose" at the end of each ghost drawing step
was at fault here, as it resulted in bones referring to a different set of
constraints after each ghost drawing step. However, most of the time, these new
references pointed to non-existent locations, causing the segfaults.
To fix this, I've removed this last rebuild step, which seems to work fine (no
major problems seem to arise from this). Also, to ensure that the other object
parameters have not changed (as a result of the reevaluation that needs to go
on), we now evaluate the object once more after all the ghost drawing (but
before final restore) so that object parameters (and potentially sub-data) are
all restored to their original values.
An upside of removing the final rebuild step is that "In Range" and "On
Keyframe" ghosting options now work with proxies again. Previously, trying to
move bones (but without autokey enabled) would mean that bones would snap back
to their unkeyed positions.
|
|
the implementation was following my early commit for Math node
I haven't had a chance to run those through Brecht, but would like to do eventually. (they work fine though)
|
|
|
|
the OSL solution is slightly different than the svm, but I think it's fine.
thanks Lukas Toenne for helping with a fix on the original patch
|
|
World is being localized without increasing ID users, so no need
to decrease ID users on localized world free.
|
|
|
|
that dec-alpha was the first 64bit system blender was ported for, but now its not helpful to call it this way.
|
|
|
|
moving curve initialization outside evaluation.
|
|
from reading code what was defined in the function.
|
|
|
|
treated as 2D.
also change behavior to return a 2d vector when all args are 2D.
|
|
|
|
once when the tree is initialized.
thanks to Antony Riakiotakis for providing a fix, though this works a little different.
|
|
|
|
|
|
|
|
'vector_a = +vector_b', this makes a copy.
|
|
- Add check for header field in BMP decoder. This is needed to distinguish
whether file is indeed BMP image or not.
Without this check Blender could easily crash when it'll try to load
non-BMP image.
Tested with files from own HDD, but all of them has got BM header field,
more testing would be welcome.
- Made Jpeg2000 aware of J2K codec. Originally was needed to verify .j2c
files here in the studio, but having support of this codec would be
nice in general.
Currently supports only reading in this codec, writing would still
using jp2 codec.
|
|
[Even | Smooth]
- Even preserves thickness but can give unsightly loops
- Smooth gives nicer shape but can give unsightly feather/spline mismatch for 'S' shapes created by beziers.
This is an example where smooth works much nicer.
http://www.graphicall.org/ftp/ideasman42/mask_compare.png
|
|
|