Commit Graph

6430 Commits

Author SHA1 Message Date
d3028ec70d * Shrink/Fatten for bevelled curves
This is a much faster and easier way to give a bevelled curve a taper, without
using taper curves. Each point on a curve now has a 'radius' value that you can
shrink and fatten using Alt S, which will influence the taper when the curve is
bevelled (either with a bevob, or with front/back turned off and a bevel dept
set). Alt S shrinks and fattens the selected points in an interactive transform,
and you can set an absolute radius for selected points with 'Set Radius' in the
curve specials menu.

See demo: http://mke3.net/blender/etc/curve_shrinkfatten-h264.mov

This can be a quick way to create revolved surfaces (eg.
http://mke3.net/blender/etc/wineglass-h264.mov ) and it would be very
interesting to use this radius value in other tools, such as a 'freehand curve'
tool that would let you draw a curve freehand, with the radius affected by pen
pressure, or even using the radius at each point to control curve guides for
particles more precisely, rather than the continous maxdist.
2006-08-13 07:37:51 +00:00
515fe83f97 added __copy__ to mesh and object types, fixed a monor bug in setTexMesh and made Mesh.c use G.totMesh properly. 2006-08-13 01:51:47 +00:00
f27acb2e7c Bugfix #4872
Posemode, Wkey option "Select constraint target" did not work for Copy
Scale constraint.
Also added a check for NULL pointer, constraint targets cannot exist...
2006-08-12 12:33:24 +00:00
e47137ff42 Bugreport #4787 mentioned subpixel render issues, especially for small
images (like used for rendering icons).

When working during Orange on new render pipeline, I've left this topic
alone for a while... subpixel precision testing is very time consuming and
needs concentration for a while. :)

This commit brings back precision as it was for 2.41. Below a short
explanation of the solved issues.

- the window matrix for rendering is kept constant during all OSA passes,
  this to ensure clipping happens for each pass identically.
- a subpixel offset is only applied on filling in the z-buffer
- this offset is inverse corrected for shadepixel code, only on 2 places

Another nasty issue is that for filtered rendering (gauss etc), the tiles
(or entire image) is temporally increased 2 pixel in size. This caused a
'dark' (or sky color) edge on the rendering. During Orange that was solved
with a hardcoded clipping offset value, which only corrected for larger
pictures (like > 500 pixels in size).
Now this clipping offset is correctly calculated, based on render size.

Last issue: the view border in 3d window was calculated using integers,
giving small errors in display too. Now it uses float, so visually the
view border is more close to what a render shows.
2006-08-12 11:27:00 +00:00
3be0a5ad70 -> Bugfix (again)
Didn't realize that LMB+ALT was used for middle mouse emulation. Changed
the vertex snap modifier key for knife tool to 'CTRL' and fixed problems
with the drawing of the header instructions.

Also changed color of the knife tool to match that of loopcut tool. This
is easier to see and more consistent from a UI standpoint as well.
2006-08-12 03:32:08 +00:00
0c571a4d5c Bugfix 4865
Manipulator orientation tweak: when having multiple objects selected, the
orientation option "Local" was always skipped, showing it global. Now it
uses the orientation of the active object.

The bug reportor noticed a conflict with the "Around" option "Active". In
that case he expected the orientation to be from Active Object as well.
2006-08-11 09:20:52 +00:00
342671308c Bugfix 4783
- draw-extra for Lamps did not follow selection color
- Surface objects were drawing curves always in unselected color, also its
  draw-extra options didn't follow selection color then
2006-08-11 09:09:50 +00:00
e96c813cc3 -> Vertex support for knife tool
Previously the knife tool only allowed you to cut through edges. This
approach is limited however, since many times you want to cut through
vertices in order to create precise cuts or terminate a cut in a specific
way. Blenders knife tool now supports cutting through vertices as
demonstrated in these pictures:

http://briggs.zanqdo.com/newknife1.jpg
http://briggs.zanqdo.com/newknife2.jpg

Since the vertex intersection code is very precise, vertex snapping has
been added to the knife tool to assist the user when they wish to cut
through vertices and can be toggled by pressing and holding the 'alt' key.

Notes:
-Vertex cutting and vertex snapping are only available when using the
'knife exact' option.
-Added various fixes to the precision of the knife tool.
2006-08-11 07:24:33 +00:00
e31478f129 Tiny header include fix for a warning I introduced earlier. 2006-08-11 00:26:35 +00:00
411332d953 Sequence render fix (report Johnny Matthews):
When a sequencer has mixed use of 32 bits and float images (note, Scene
strip returns float image too), the old 32 bits image should be freed,
otherwise it keeps saving that image.
2006-08-10 13:48:04 +00:00
7440aba482 Compositor: finished work on node "File Output".
- It saves a file with indicated type on each change, with number
  appended denoting the current frame (like ANIM saving).
- Output filename button supports relative paths ("//")
- Shows optional preview image too
- For now, added a print on each file save as feedback

To make this option work nicely, changed the BKE_makepicstring() function
to have less globals inside, so it is more generic. Todo: allow amount of
digits in filenames to be set (to support files like tmp_123456.jpg)
2006-08-10 10:38:50 +00:00
86d72cb7d4 Bugfix #4810
Particle systems did not support "time offset" anymore, the varialble for
it in the object was cleared in build_particle_system() and never restored.
2006-08-09 12:53:49 +00:00
6ca354f660 Bugfix #4811
Videoscape export wrote color value wrong on little endian systems,
when no material was assigned to object (default color).
2006-08-09 12:36:28 +00:00
8cd491750e Bugfix #4830
Preview render in 3d window: when window type changes (like 3d window to
UV window), and you change the window size, and restore to 3d view, the
rendered preview had to be re-initialized.

texture.c: a return was added without value.
2006-08-09 10:49:52 +00:00
c56f04cb5f Fixes I did before leaving to siggraph, couldn't commit it due to freeze:
- buffer overflow was possible with providing a file path argument longer
  than 256 characters.
- buttons "VCol Light" and "VCol Paint" were not mutual exclusive
- quicktime error menu (unable to create) had a enter in end
- deleting points in CurveMapping button (like Curves node in compositor)
  did not give proper recalc event
- edges render menu had a tooltip still mentioning the unified render
2006-08-09 10:00:27 +00:00
6c48d7bda2 Bugfix #4843
Added a call to compatible_eul() after applying camera rotation in fly,
this ensures you can insert rotation keys nicer.
2006-08-09 09:56:27 +00:00
6e4b28968a Bugfix #4847
Metaball editmode: when editing a linked duplicate, hiding a ball caused
a crash.
2006-08-09 08:53:21 +00:00
a5d0af3b4f Type in effect docs, edited some of the object docs also. 2006-08-09 01:53:34 +00:00
49e778ed7f Commiting JMS's patch for particles with modifications. 2006-08-09 01:37:17 +00:00
27925d1bf0 fix for bug 4819
.
2006-08-08 17:07:39 +00:00
b44ae44c72 Made RotationMatrix accept values outside 360,
added object.type to be used instead of .getType()
2006-08-08 14:34:38 +00:00
fde5381a94 Fix for Bugfix #4797
In revision 1.13 of pipeline.c a 'return' was added in middle of function,
skipping the free Imbuf.
2006-08-08 12:56:44 +00:00
531cd7c0fc Removed debug line added when testing for matrix memory leaks that messed up matrix.invert()
updated bvh import which was modified to account for that. as well as other minor changes.
2006-08-06 22:47:57 +00:00
4c2ce83986 undid commit to stop overdrawing IPO verts, it assumed that ipo verts were in order which it seems there not. (only the IPO;s I tested with were)
Still might be worth looking into somehow not drawing all the points.
2006-08-06 13:23:22 +00:00
aba435cbc1 Added setName and setFilename as well as making name and filename writable. 2006-08-06 10:47:12 +00:00
aaec000545 Made Font.c's pack/unpack work like Sound.c's 2006-08-06 09:51:40 +00:00
80f5a232d9 modified Text3d.Font
* Renamed Text3d.Font.New() to Text3d.Font.Load() since New was acring like load anyway.
* Text3d.Font.Get() was just calling Text3d.Font.New(),
  made it get from a name or return a list of all fonts.
* implimenetd getsetattrs
* removed references to bones in the error messages
* added users variable
* renamed name to filename and added access to id.name
2006-08-06 07:34:25 +00:00
199ac30459 dont draw IPO points outside the ipo view, avoid extra looping also. 2006-08-05 04:30:59 +00:00
a8461d2c40 DNA_ipo_types.h comments only
other are changes so calchandles_ipocurve only calc handels on a bezier line.
This makes bvh import faster but should also speed up internal IPO operations.
2006-08-04 14:08:21 +00:00
8dbefad451 --Value Squeeze Node--
This material node takes an input value of any size and fits it to a sigmoid curve (value between 0 and 1) The width of the curve can set to make the sigmoid fall off faster (bigger number) or slower (smaller number) and the centerpoint (what value is mapped to 0.5) can be adjusted as well. Anyone smarter than me can feel free to tweak this and make it better.
2006-08-03 13:22:51 +00:00
c22260a7cb * Blender-side stuff for GHOST tablet pressure 2006-08-03 12:25:32 +00:00
454fceb5f5 Solaris was still using compress for make release.
Everyone else was using gzip.  On the latest downloads many of them
are using bzip2, (I think everyone using scons)
So I decided to update make release so that everyone is using
gzip2.  I don't mean to step on anyones toes, I know at least some of
the platform maintainers do not use make though so feel free to change
it back and or to something different for your platform.

While I was at it I also changed default path of OPENEXR to /usr on linux.
Was suggested on mailing list by Matt.
(I'm pretty sure the linux maintainer is using scons)

Kent
2006-08-03 10:48:20 +00:00
6e2e7ad1b7 renamed struct bNode->new to struct bNode->new_node
so it doesn't conflict with c++
(Needed for SkyGen coded)

Kent
2006-08-02 17:29:34 +00:00
70853bbcc7 * replaced round() with (int)(x + 0.5f) to help some compilers 2006-08-02 01:27:57 +00:00
42b2ce8332 CKey centers the camera views camdx/y 2006-08-01 10:54:30 +00:00
9ce909cbd9 Three shading nodes by Nathan 'Cessen' Vegdahl. He doesn't have any time at the
moment, but they can useful so rather than let them go to waste I've merged and
committed them.

* Camera Info
Input, just provides a view vector, view z depth, view distance

* Scalar Math
A bunch of various mathematical operations on values

* Vector Math
A bunch of various mathematical operations on vectors
2006-08-01 01:12:01 +00:00
c2edcd4879 Siggraph show commit!
- pending commit for OSX intel systems, with intel graphics. These now call
  an extra swapbuffers after glFlush(). Code is ifdeffed, and doesnt affect
  other systems.

- show-off commit: option to have transparent nodes over the composite
  result. Only draws Image for active Viewer Node now, and image doesnt
  translate nor zoom (which isnt bad though).
  Set in themes the alpha color of "node backdrop" to make nodes
  transparent.
2006-07-31 19:23:42 +00:00
e168d67b32 ImagePaint Refactoring:
- ImagePaint now uses ImBuf directly, and the rect blending functions
  were moved into the imbuf module.
- The brush spacing, timing and sampling was abstracted into brush.c, for
  later reuse in other paint modes.

Float ImagePaint support.

Textured Brushes:
- Only the first texture channel is used now.
- Options for size and offset should be added, but need to find some space
  in the panel, or add a second one ..
2006-07-31 15:53:03 +00:00
6a48654cce Added a octree implimentation for doing fast locational vertex lookups. 2006-07-31 13:28:00 +00:00
00a6a79899 added the texmesh to Mesh property to mesh. 2006-07-31 12:57:46 +00:00
7bd41a99e0 BIF_GetStringWidth() returned garbage when given a 0 length string, which was causing 2006-07-31 10:49:35 +00:00
1de0248f6f fixed a typo that must have slipped in ;)
Kent
2006-07-31 04:54:10 +00:00
4f7a5fd641 * Made the proportional edit circle draw inverted against
the background - it was very difficult to see with a muted
grid theme colour.
2006-07-31 02:48:45 +00:00
3650abf328 A couple of compositing nodes:
* Combine RGBA
Basically the opposite of separate RGBA, brings 4 value channels into a single
RGBA image). Has interesting possibilities for reordering channels, when used
with separate RGBA!

* Dilate/Erode
Originally written by Brecht van Lommel, with some minor modifications and
tweaking by myself. Positive distances dilate, negative distances erode.

* I also added the 'value' field to the hue/saturation node. Minimal extra cost,
and can be handy.
2006-07-31 02:24:35 +00:00
cac265f7b6 faces faces added had vertex colors set to black.
use default_tface(tface) on all extended faces when tfaces exist.
2006-07-28 07:08:27 +00:00
eced755afe added a slot in the uv/image's "Image" menu for pyscripts. 2006-07-28 02:51:44 +00:00
f893d950a1 Image Paint:
- Code for brush spacing and timing was rewritten, making spacing more even.
  Example: http://users.pandora.be/blendix/brush_spacing.jpg
- Instead of Stepsize for regular brushes and Flow for airbrushes, there is
  now Spacing for both, and Rate for airbrushes.
- Airbrush now works more like it does in the Gimp now, by maintaining the
  spacing even if the brush moves faster than the painting rate.

- Some preparations to make brushes work in texture paint mode.
2006-07-28 00:56:35 +00:00
e360cbf62b Updated epydocs to reflect changes in the API
Also made links to wikipedia pages explaining what a these functions do mathamaticaly
2006-07-27 12:23:08 +00:00
403b62fbcf matrix .inverted() and .transposed() didnt work because the matrix was wrongly copied.
2 more memory leaks in matrix multiplication fixed.
2006-07-27 02:33:54 +00:00
b227c98c44 Addition to Mathutils
vec.normalized()
 mat.inverted()
 mat.transposed()
 made vec/float possible

 normalize/invert/transpose now return None because they modify the data in place.
 use the ...(ed) versions to return a modified copy.


Fixed Memory leaks from not decreffing PyFloat_AS_DOUBLE from these python functions...
(found when testing above functions)
  ob.rbMass
  ob.rbRadius
  matrix.determinant()
  quat*float
  vec*float
  matrix.transpose()
  EXPP_setModuleConstant

Checked all instances of PyFloat_AS_DOUBLE so I dont think there are any mroe leaks there.
2006-07-27 01:18:21 +00:00