Age | Commit message (Collapse) | Author |
|
- render check for ortho/panorama combination wasn't working since the flags were not initialized at the time of checking.
- disable panorama button in ortho mode.
|
|
mesh just disappears.
Redraw issue was caused due to different redraw rectangles used for 3d view redraw and
gathering PBVH nodes to be re-drawed. I moved redraw rect expansion with rect from
previous step into sculpt_get_redraw_rect, so now redrawing works as it was planned
some commits ago -- redraw everything to which is inside currect rectangle and rectangle
from previous stroke step -- this still prevents artifact caused by fast strokes but
mesh doesn't disappear.
Brecht, Nicholas: it's the simpliest fix i could suggest atm. I've got some more
ideas with additional node flags, but it looked more complicated for me and
made code more difficult to understand. If you could see something better (like
revert all this redraw fixes for fast strokes) please tell me.
|
|
shapekeys
It was simply missed crazyspace correction for shape keys when mesh is
deformed by modifiers and current tool is smooth/layer (they need special
approach due to they don't use proxies)
|
|
generator work with mingw again
|
|
Join redraw rectangles from previous step and current during one stroke
and reset previous rectangle when stroke is finished. This shouldn't cause problems
with viewport changes during the sculpt session and this should emulate
object boundbox merging for states "before step" and "after step".
At leastm it's more logical because boundbox could not only grow up during
stroke, but it could also shrink down.
|
|
* Added menu entry for "Set Weight" Tool. Request by venomgfx :)
|
|
Operator for switching brushes based on type, cycling through brushes when multiple exist.
This has the advantages over the old method that it doenst rely on hard coded brush names and if there are multiple brushes of the same type it cycles between them.
also fix error in previous commit which broke number buttons changing brushes.
|
|
paint rna vars, using 'image paint' internally.
|
|
|
|
promoted to doubles, adjust to use floats.
|
|
adjust to use floats.
- also UV angle stretching was using radians->deg which wasn't needed.
|
|
- don't print a line for each operator run when in background mode.
- extrude was using an invalid type for RNA access.
|
|
* Removed some fields from struct SculptSession:
- Fields drawobject, projverts, and previous_r were completely
unused
- Field `ob' was really unnecessary, changed sculpt functions
to pass the object rather than the SculptSession
This removal of `ob' from SculptSession should should make it a little
easier to continue generalizing paint/sculpt functionality.
There should be no visible changes from cleanup.
|
|
perspective mode.
|
|
we cant ensure that a requested buffer can be allocated so report opengl errors when failing to allocate the buffer (rather then printing to console).
this is common enough and generic error isn't too helpful to users.
|
|
initialization on sculpt brush stroke init and free used resources
when stroke is finished.
|
|
|
|
& editors.
|
|
ImageWindow + 3D view texture paint + texture preview render + texture nodes.
Threading hell! But it works now :)
|
|
|
|
Paint strokes now can be mapped to any key. The operators now store the
event it was started with, so it ends with a release. Even hotkeys work
(while hold).
|
|
|
|
- Invalid shape when deformation mesh was disabled befoe undoing
- Crash when deformation modifier was enabled before undoing
Still got problems with undoing multires changes when toggling modifiers.
|
|
using a different method.
|
|
the strength of the brush, as it was in 2.49
Layer height used to be controlled with brush radius, quite confusing decision.
Added new property for brushes - height for adjusting affectable brush height
(it could be not only layer height in the future).
|
|
a header every build with the time, date, svn revision.
|
|
also added hide-unselected option to armature mode.
|
|
|
|
vertex iter should be declared inside omp block or it'll be
thread-unsafe otherwise.
|
|
The butterfly wing flap, causing a nice storm in the rest of blender.
Now all dependencies should point ok again. CMakers, do double-test.
|
|
- Restored BLI_pbvh_grids_update stuff;
- Marc all nodes as changes in ED_sculpt_modifiers_changed, so
draw_buffers would be keept correct.
|
|
- rename layout.operator_enums -> operator_enum (since we have operator_menu_enum, only called in 4 places)
|
|
unawaliable state.
- Also changed dynamic space bar menu, so it now also wouldn't allow to
set brush stroke flags to unavaliable state.
Also tried to remove use_anchor, use_space, use_restore_mesh and
use_airbrush, so user would be unable to set flags to unavaliable state,
but it was quite difficult for non-sculpt paint modes. They don't support
all of stroke methods, so brush.stroke_method can't be used for them.
Keep this area unchanged for now.
|
|
header static for blenlib, blenkernel and editors.
|
|
brushes. They aren't using proxies, so deformation wouldn't be propagated
in sculpt_combine_proxies().
So, maye idea of getting rid of "extra" memory allocaiton/disposing was not
such cool due to it lead to such exception ways?
|
|
python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
|
|
==========================
Removed limitation of armatured-only objects for sculpting -- now all
deformation modifiers are allowed in sculpt mode. Use crazyspace corrections
like from transformation modules was used to support all deformation modifiers.
Internal change: all crazyspace-related functions were noved to crazyspace.c
P.S. Brush could make quite unexpected deformation for meshes which are
deformed in specified way. Got patch for this and discussing with Brecht
if it's really needed or maybe it could be done in better way.
|
|
deformed PBVH to the base mesh.
It's not real bottleneck, but crazyspace corrections looks nicer now.
Real bottleneck is normals re-calculation, which calls plenty of
fsqrt's. We could avoid this for some modifiers (which don't use
normals), but such checking would make code less controllable.
|
|
artifacts in some cases (enter edit mode/disabling modifiers after undo)
|
|
values from ID-Props.
Probably wouldn't cause a problem but manually editing these types through python could easily crash blender.
also changed cmake, stub-makefile default build dir to be lower case and leave out architecture string, easier for documentation.
Use ../build/linux/ rather then ../build/Linux_i686/
|
|
Rotation brush used to be crazy because it depends on normal of area
under brush, which is used as axis to rotate vertexes around and
this normal used to change during stroke.
Calculate normal from original mesh state for rotation tool too.
|
|
Used a crazyspace approach (like in edit mode), but only modifiers with
deformMatricies are allowed atm (currently shapekeys and armature modifiers only).
All the rest modifiers had an warning message that they aren't applied because
of sculpt mode. Deformation of multires is also unsupported.
With all this restictions users will always see the actual "layer" (or maybe
mesh state would be more correct word) they are sculpting on.
Internal changes:
- All modifiers could have deformMatricies callback (the same as deformMatriciesEM but
for non-edit mode usage)
- Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it
could be generalized for usage in other painting modes (particle edit mode, i.e)
Todo:
- Implement crazyspace correction to support all kinds of deformation modifiers
- Maybe deformation of multires isn't so difficult?
- And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed
without code duplicating?
|
|
|
|
|
|
Three code fixes for 1 report. User experienced crashes while
painting on float buffer + having preview renders on.
- Texture Nodes: Image was re-allocated without using
proper thread lock
- Paint code: old convention to free the byte rect from
a float image as signal to re-create now is a proper
flag. This keeps image memory unchanged. Nice for render.
- Imbuf: call to make a byte rect from float was freeing
mipmaps unnecessary.
|
|
McGrath (troubled)
Quite silly fix, not sure if it could be smarter with current events/brushes design.
Use pressure_value from first brush step for brushes which don't support strokes -- thumb.
brush, brushes with anchored stroke method.
Should be fixed in nicer way after events redesigning.
P.S. Tried to place pressure saving into invaliants update fuunction, but it seens
that this function wouldn't know about pressure yet.
|
|
Small cleanup, de-duplicated the code for combining proxies
|
|
The tool-redo depends on a working undo system, so it can rewind
a step and then redo operator with new settings. When a user
disables undo, this won't work.
Now the properties for redo operator (toolbar, F6) will grey out
when a redo isn't possible.
|
|
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
|
|
Pressure sensitivity for Sculpt 'strength' got lost in code cleanup.
Added warning in code, the function call is confusing.
|