Age | Commit message (Collapse) | Author |
|
for brush strength.
|
|
|
|
ShapeKeys could get corrupted when using the sliders (or relative values).
Was caused by 25 dec commit to get SculptMesh work with Shapes... very
strange implementation here. For now, disabled this function to enter when
not in sculpt mode, while waiting for Nichololas to make it definite OK.
|
|
causing more sculptmode drawing artifacts for some users. Since this is a non-critical performance related bug, it can wait until after 2.43.
|
|
interactive display unset. Added a new function for sculptmode that checks to make sure that not only are there some modifiers active, but that they are actually enabled for realtime editing.
|
|
texture enabled.
|
|
drawing of rotated brushes in propset mode.
|
|
|
|
|
|
brush size.
|
|
|
|
independently on the X/Y/Z axes for 3D textures and the X/Y axes for tiled brushes. The sizes can be locked together for 1:1 scaling.
|
|
the range [0-10], since there's really no need to it to values like 93%, 90% is close enough.
|
|
enabled, the brush image must be loaded before it can be used.
|
|
|
|
when not sculpting flat relative to screen
Fix for bug #5248, sculpt - mirrored tiled texture odd results
Changed the algorithm used for projecting the brush texture onto the model. The old algorithm was never implemented properly, causing increasingly
wonky distortions of the brush as it got farther away from parallel to the screen. The new system uses the screen coords of vertices, the obvious
advantage being that 2D screen coords can be mapped quite easily to 2D texture coords. The main disadvantage of this method is that there are still
distortions in the brush as the surface beneath it becomes less parallel the screen. These distortions, however, are not as bad as the old ones
because they are predictable from the user's perspective. (It's analogous to a movie being projected onto a sphere; if the viewer is in front of the
sphere there is no apparent distortion, but from the side the movie appears stretched and distorted.)
This may still be worth revisiting after the release.
|
|
|
|
|
|
|
|
|
|
|
|
this now works as expected for all brushes
|
|
|
|
|
|
active. (mostly missing checks for a sculpt session.)
|
|
#5499, Sculpt mode don't works correctly with Shape Key.
|
|
into a separate SculptSession struct (outside of SDNA.)
|
|
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's
renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
|
|
affects brush strength and brush size.
|
|
than many small pieces.
|
|
sculptmode to use pi rather than 3. Second, property set with the FKey now updates the screen immediately when activated. Third, the two propset modes are now offset to the left of the mouse so that small adjustments to strength and size are easier to make.
|
|
|
|
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.
Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers
Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
|
|
|
|
The fix is to allow smoothing for edge verts, but only use other edge verts in
the calculation.
|
|
|
|
pulled in relation to the view.
|
|
using the standard drawing functions. Enabling the "Partial Redraw" item in the
sculpt menu will turn on the optimizations which stores unmodified parts of the
color buffer and only redraws the polygons that are within the modified area(s).
The Partial Redraw option uses the accumulation buffer to store the copy, and
unfortunately this is not accelerated on older cards. There are alternatives,
e.g. drawing to an auxiliary buffer or downloading the data from the graphics
card with glReadPixels, but there's no guarantee that these will run at an
acceptable speed on older graphics cards either. For the cards that do
accelerate the accumulation buffer (for nvidia cards, I would assume that is at
least FX5200 and up, and maybe earlier) it provides a very significant speedup.
|
|
setting on the global preferences
|
|
http://projects.blender.org/pipermail/bf-committers/2006-November/016311.html
As recommended on bf-committers, I created an entirely separate section for
sculptmode hotkeys, so none of the standard hotkeys in space.c carry over.
(However, the standard hotkeys in toets.c are left unchanged.)
There are probably some useful hotkeys that have been disabled with this commit,
and other hotkeys that still need to be added, so this needs review.
|
|
user loads a file with sculptmode on and presses undo/redo before doing a sculpt action.
|
|
This fixes bug #5274, changing from uvmode to sculpt changes lighting model
|
|
|
|
passing the wrong drawing flag)
|
|
Sculpt mode crasher; after deleting object and quitting blender. Was freed
memory hanging in sculpt undo data.
|
|
improve/extend. Should be helpful in integrating multires into the undo system better.
|
|
model and view were rotated a certain way, which made sculptmode fail to edit the model.
|
|
All data layers, including MVert/MEdge/MFace, are now managed as custom
data layers. The pointers like Mesh.mvert, Mesh.dvert or Mesh.mcol are
still used of course, but allocating, copying or freeing these arrays
should be done through the CustomData API.
Work in progress documentation on this is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
Replaced TFace by MTFace:
This is the same struct, except that it does not contain color, that now
always stays separated in MCol. This was not a good design decision to
begin with, and it is needed for adding multiple color layers later. Note
that this does mean older Blender versions will not be able to read UV
coordinates from the next release, due to an SDNA limitation.
Removed DispListMesh:
This now fully replaced by DerivedMesh. To provide access to arrays of
vertices, edges and faces, like DispListMesh does. The semantics of the
DerivedMesh.getVertArray() and similar functions were changed to return
a pointer to an array if one exists, or otherwise allocate a temporary
one. On releasing the DerivedMesh, this temporary array will be removed
automatically.
Removed ssDM and meshDM DerivedMesh backends:
The ssDM backend was for DispListMesh, so that became obsolete automatically.
The meshDM backend was replaced by the custom data backend, that now figures
out which layers need to be modified, and only duplicates those.
This changes code in many places, and overall removes 2514 lines of code.
So, there's a good chance this might break some stuff, although I've been
testing it for a few days now. The good news is, adding multiple color and
uv layers should now become easy.
|
|
mode with a single slider. (Doesn't seem likely the user is going to want to
scale in one axis differently from another.) Additionally, the new slider
works correctly in Tile mode in addition to 3D mode. In Tile mode, the slider
value is considered pixel units.
In the process, found and fixed a few sculptmode bugs
* When loading a file that is already in sculptmode, initialize sculptdata
as soon as the first sculpt/partial-visibility operation occurs
* Bug in the undo_push code; reading from free'd memory
|
|
brush size. Pressing the key once does brush size (same as before), then
pressing it a second time switches to setting brush strength.
|