Commit Graph

335 Commits

Author SHA1 Message Date
73382364a3 Disallow applying modifiers that change mesh topology while multires is active 2006-12-22 07:42:30 +00:00
e61dec0767 Defocus Composite Node, by Alfredo de Greef
Log:
http://www.blender3d.org/cms/Composite__Defocus.836.0.html

An incredible quality composite effect, might be slow but worth waiting
for!
2006-12-21 18:11:07 +00:00
72d484a872 Fix compile error for last commit. 2006-12-21 14:25:52 +00:00
47bc3d1208 Added names to UV and vertex color layers, and display them as a list.
Added support for multiple UVs in the render engine. This also involved
changing the way faces are stored, to allow data to be added optionally
per 256 faces, same as the existing system for vertices.

A UV layer can be specified in the Map Input panel and the Geometry node
by name. Leaving this field blank will default to the active UV layer.

Also added sharing of face selection and hiding between UV layers, and at
the same time improved syncing with editmode selection and hiding.

Still to do:
- Multi UV support for fastshade.
- Multires and NMesh preservation of multiple UV sets.
2006-12-21 13:47:27 +00:00
a001501628 Turn of partial visibility in sculptmode when applying modifiers 2006-12-21 00:42:43 +00:00
fcab04f72a Applying subsurf in sculptmode should do a sculptmode undo_push 2006-12-20 23:25:29 +00:00
80ee52e444 Multiple UV and vertex color layers: (still work in progress)
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
2006-12-12 21:29:09 +00:00
fddd9fad46 The fade togglebutton should show for the Default, untextured brush. 2006-12-10 18:34:14 +00:00
178b5e11d2 Grab brush shouldn't show strength slider 2006-12-09 01:10:21 +00:00
c0becb4532 Removed SlowerDraw and FasterDraw buttons in Mesh panel after discussion
with Ton on IRC. This feature was old, something of a hack and didn't really
work well with the modifier stack. To paraphrase Ton: We want to make blender
higher quality, so poorly thought out code should be removed, or replaced
with decent implementations.
2006-12-06 12:34:26 +00:00
ee0dccbf96 Added slider for the Draw brush that modifies the direction vertices are pulled in relation to the view. 2006-12-06 02:10:27 +00:00
0cc76d831c Large change to the way sculptmode drawing works. The default is now to draw
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.
2006-12-04 05:36:50 +00:00
043f3c008c Added a bunch of sculpt options to the Sculpt menu; also removed the PvRot toggle button from the sculpt panel, where it didn't really fit, and put it in the menu instead. 2006-12-03 22:57:28 +00:00
2d87c36efa Copy vcols wasnt working me->mcol[a] needs to be me->mcol[a*4] 2006-12-03 19:38:32 +00:00
451cb25e4e Added warning in the multires panel to alert user if they have a modifier that changes mesh topology enabled, the render level will not have any effect. 2006-12-01 22:44:27 +00:00
e82f7818fc Two-in-one commit:
- Proxy Armature: armature layer (visible bones) is now saved in proxy, so
  on file reload the layer settings are restored

- bugreport: disabling subsurf (for view) didn't change the total amounts
  in header.
2006-11-29 21:59:19 +00:00
ffcade3d22 Bone names were limited to 24 characters. Changed this to max of 31 to match
vgroups.
2006-11-26 13:56:29 +00:00
f554aa8a35 Bugfix #5287
When referenced (Library-linked) Mesh was used by a local Object, and the
amount of Materials became less in library, Blender crashed!
2006-11-25 18:15:55 +00:00
bb7ad80269 Upgrades to the UVProject modifier:
- New perspective projection capability. If a camera is used as the
   projection object, the modifier detects whether to do perspective or
   orthographic projection based on the camera type. If any other object
   type is used as the projection object, orthographic projection is used.
 - Orthographic projection actually works properly now.
 - The projected UVs are scaled and offset so that the image is centred in
   the projecting camera's view.
 - AspX and AspY inputs have been added to control the aspect ratio of the
   projected UVs.

Also:
 - I have added the Mat4MulVec3Project() function to BLI_arithb.h; this
   function converts a 3-dimensional vector to homogeneous coordinates
   (4-dimensional, with the 4th dimension set to 1), multiplies it with the
   given matrix, then projects it back to 3 dimensions by dividing through
   with the 4th dimension. This is useful when using projection matrices.
2006-11-22 15:09:41 +00:00
53eaa3b67a New displacement direction for Displace modifier: "RGB -> XYZ". This means
that vertices will be individually displaced in the X, Y and Z directions
by the RGB components of the texture (R affects X, G affects Y, B affects Z).
This can be used along with e.g. the colour Clouds texture for a jitter effect.
2006-11-20 14:23:41 +00:00
f7c24e1b11 Patch #5181: Option to use an object to determine the startX&Y in the
Wave Modifier

This patch allows the option to use an object to determine the wave modifier's
start X & Y, it also allows for animated objects giving a moving wave
start X & Y.

Thanks to Michael Fox for the patch!
2006-11-20 11:58:48 +00:00
729610d11a Changed the UI of the EdgeSplit modifier, based on broken's feedback from
long ago:
 - "From Angle" is now "From Edge Angle"
 - "From Flag" is now "From Marked As Sharp"
 - The "Split Angle" input is now hidden if "From Edge Angle" is unchecked
 - Changed tooltips to be (hopefully) more helpful
 - Rearranged buttons to accommodate longer labels
2006-11-20 08:08:22 +00:00
e435fbc3c5 Added custom vertex/edge/face data for meshes:
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.
2006-11-20 04:28:02 +00:00
204f6066a9 * Replaced the three X/Y/Z sliders that controlled the texture size in sculpt
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
2006-11-19 09:25:17 +00:00
7686e2cc5c New stuff:
- Weight paint options now also show in Nkey panel
- added uiNewPanelTitle() in interface API to rename panels. In use now
  for the Nkey panel title.
  (Note: original name is identifier, do not change that)
2006-11-16 20:55:11 +00:00
24b2e0422e 1)
Bugfix: Beziers in curve didn't calculate the tilt values correctly for
the endpoint and not for all handle types. That way deforming curves didn't
extend the tilted deform either. (IRC report by Jahka)

2)
If you setup a Proxy for Armatures, the protected bones now have an error
pupup for buttons and for some of the tools in 3d window (constraint edit
mostly).
Also the Bones Panel shows a note when the bone is not editable.
2006-11-16 10:24:26 +00:00
9ab91ab361 New dupli-group feature: you can now set in Groups the layers you want
a group to show when used for duplicators. Is in the Object Buttons,
"Object and Links" panel. Note that the duplicator layer itself still
defines still visiblitily of entire group.
2006-11-14 17:16:15 +00:00
e4a1eb4e09 Added custom vertex data support to editmode. Only used for vertex groups
now, others can be added later (sticky, shape keys). Beside one small fix
for knife exact vertex group interpolation, is intended to work the same
as before.

Also fixes bug #5200, related to editmode undo and vertex groups. And
corrects the editmode to faceselect mode selection conversion, that was
broken in a previous commit.
2006-11-11 23:23:15 +00:00
feb210f08e Experimental feature, especially for the animation department:
THE OBJECT PROXY

Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.

This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.

Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-11 16:45:17 +00:00
Ken Hughes
56a12a30c5 Patch #4896, submitted by Juho Vepsäläinen (bebraw):
Allows "Degr" field in Mesh tools accept negative and positive float values
from range [-360, 360].
2006-11-09 14:30:11 +00:00
30b9de3a65 Modified sculpt/multires UI:
* Changed multires panel's width to the default
* Removed floating multires panel
* Made multires panel always visible (in EditButtons)
* Moved Make/Delete [multires] button into the multires panel
* Moved the two sculpt panels into tabs of the multires panel
* Removed two extra sculptmode buttons from view header
2006-11-07 20:55:09 +00:00
2ef6c48a65 Added two new blend modes to image painting brushes, erase alpha and
add alpha, for painting transparency in images. When using the eraser
tool of a tablet pen, the erase alpha blend mode is activated.
2006-11-07 00:10:37 +00:00
71d7409fda Patch #4940, by Wybren van Keulen
The 2-point perspecitve Architecture Camera!
http://www.funnyfarm.tv/patch_lens_shift/patch_lens_shift.mov

Full log:
https://projects.blender.org/tracker/index.php?func=detail&aid=4940&group_id=9&atid=127
2006-11-06 15:42:38 +00:00
8e97a2955b Merged Google Summer of Code sculptmode/multires/retopo tools.
From the tracker:
https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-11-06 01:08:26 +00:00
d471d2633c Bugfix #5159
SHIFT+K clear vertexpaint didn't work for faceselect+paint mode. Calls
to depsgraph were confused, now nicely centralized.
2006-11-04 12:36:37 +00:00
3276981571 Bugfix #5017
Deleting Shape keys could give a crash, if no Ipo was assigned to the
Shapes.
Fix located & provided by Joilnen, thanks!
2006-11-02 10:39:00 +00:00
a0ee7bf7a9 Updatting vertices number info after remove doubles
.
2006-11-01 16:10:47 +00:00
f5fc880a41 Plumiferos request: Added button in Armature options panel to set custom
bone drawing on/off. Is default on.
2006-11-01 14:29:06 +00:00
ddbfb04642 * Changed the Curve Modifier to have it's own X/Y/Z axis deform direction
settings, rather than using the object's TrackX/Y/Z/etc buttons.

 This is good for two reasons: a) having the settings over in the object buttons
 before was terribly unintuitive and hidden, now it's more visible how to
 control the deformation, and b) now if you have more than one curve modifier,
 they can have their own settings, instead of being forced to use the object
 level data.
2006-10-28 16:48:56 +00:00
1be92c8b19 * Added a new empty draw type - single arrow. This can be useful in situations
where you just need a direction, like a wind or vortex force field for example.
2006-10-12 07:54:32 +00:00
ef7200741b Basic pressure sensitivity support in imagepaint, for opacity, size,
falloff and spacing. Click the button labeled "P" next to the sliders.
Works best for opacity, other options can give poor quality strokes in
some cases. Also performance needs to be improved.

Remember, works only on X11 and Mac, no Windows support for tablets yet.
2006-09-24 19:29:25 +00:00
e6960f3881 Python Metaballs api refactor, based on Mesh and Group modules.
* removed get/set in favor of setsetattrs
* added an element iterator to the metaball data type.
* now accepts vectors and quat for location dimensions and rotation.
and other small changes.
Docs updated shortly at.
http://members.iinet.net.au/~cpbarton/ideasman/BPY_API/Metaball-module.html

other changes
typo in image.c
metaballs constants in buttons_editing
2006-09-16 09:33:09 +00:00
f0614ad811 New: (partial) Shape Key support for Lattices
- Panel with Shape keys now shows for lattice too
- Supports VGroup weight value for Shapes

NOTE: this doesn't support Shape editing with linked duplicates. The
modifier system for Lattices (as for Curve/Surface) has no local Object
storage, so linked duplicates will all show identical.
2006-09-14 08:13:09 +00:00
dc94345512 - Bugfix: fake user button in the texture paint panel toggled the mesh
datablock fake user.
2006-09-07 09:17:06 +00:00
cf76410cab Alignment of button "Auto tex space" broke with commit for vertex groups. 2006-09-05 08:38:30 +00:00
4603f452c2 Animation department feature request: support for vertex groups in Lattices
In a quick glance: (temp image)
http://www.blender.org/bf/rt.png

Main reason is that Lattices are useful a lot for Armature deformation.
Lattices just provide much more precise and interesting control. However,
with only bone envelopes it's very hard to use.

Working with Lattice vertex groups is nearly identical to Mesh:
- on CTRL+P 'make parent' you can choose the deform option now
- In editmode, the buttons to control vertex groups are available
- In outliner you can select vertexgroups too
- Deforming Lattices with Armatures has all options as for Mesh now.

Note:
- No WeightPaint has been added yet. To compensate, the editmode
  drawing for a Lattice with vertex group shows weight values for the active
  vertex group.
- Lattice editmode doesn't undo/redo weight editing yet.
- Softbody for Lattice still uses own vertex weights

Implementation notes:
- derivedmesh weight_to_rgb() is now exported to drawobject.c
- been doing cleanups in code (order of includes, var declarations, etc)
- weightpaint button handling now is generic

I've checked on Brecht's proposal for Custom Element data;
http://mediawiki.blender.org/index.php/BlenderDev/CustomElementData
It could have been used, but that would mean the existing code for
vertexgroup handling and armature deform couldn't be re-used. I guess this
is really a later todo.
2006-09-03 12:16:14 +00:00
ab5cc740d6 added the option to draw sharp edges.
had to make some room in the "Mesh Tools 1" panel,
removed "Center" - its alredy in the "Mesh Tools" panel, and grouped the "Normal" draw buttons.
At the moment mixing modes dosnt work, we will need to review this to see if its worth attempting.
2006-08-31 06:03:24 +00:00
f5e6f59dba Fixed a bug where applying a modifier to a Curve or Surface object did not
remove the modifier.
2006-08-30 09:23:36 +00:00
4745d01c16 Disabled some unused debugging functions that were causing unnecessary
compile warnings.
2006-08-29 12:49:49 +00:00
7bec4dba41 Recoded version of patch #4273, submitted by Daniel Genrich
This provides a weight-paint option that only paints on vertices that have
already the weight-group assigned before. The default adds weights on all
vertices painted on.

Fixes in patch include:
- much less code
- also support for 'filter' mode
- proper code styling
2006-08-29 10:27:48 +00:00