Commit Graph

1356 Commits

Author SHA1 Message Date
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
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
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
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
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
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
4ee3515bf1 Brush Datablock:
- Added a new Brush datablock, only used by image paint, but intended
  to be used in texture paint, vertex paint, weight paint and sculpt
  mode also.
- Being a datablock, these brushes can be saved, appended and linked.
  They have a fake user by default, to make sure they are saved even if
  not selected.

Image Painting:

- Replaced the img module with C code in imagepaint.c
- Airbrush is no longer a separate tool, but rather an option that can
  be used for soften, smear and clone also.
- Blend modes mix, add, subtract, multiply, darken and lighten have been
  added, code taken directly from vertex paint.

Note to project files maintainers:

- The img module was removed from SCons and Makefiles, and this should
  be done in other build systems also. I'll wait to remove the module
  from cvs, to not break compilation.
2006-07-26 22:29:23 +00:00
662d49f076 Bugfix #4773
The VectorBlur node crashed when it didn't get a RGBA type image as
input (like using Alpha as input). Added typeconversion for it.

Note: the Z input and Vector input are not converted, but checked for.
When an improper type gets connected to these inputs, an error is
printed in console.
2006-07-23 09:54:22 +00:00
a6b0c136bb Bugfix #4770
When adding a new node in a group, the call to refresh input/output
sockets was called after a compositing update was executed.
Just moved this call 2 lines up.

This also uncommits the fix from Joilnen, the stack pointers in the node
system are *per definition* set. If NULL, it's an indication something
else is wrong.
2006-07-23 09:10:05 +00:00
9868544a41 fix for bug #4770
.
2006-07-23 02:56:45 +00:00
12a1fc374e - fixed manual viscosity bug (#4733)
- added some more free/copy checks for bug 4094, but
  still not enough
2006-07-20 15:27:55 +00:00
49bbb326b1 Bugfix #4736
Composite: the Translate Node only worked in some cases (pixel processor
call), and not for:

- filter
- seperate rgba
- conversion of buffer types (value to rgba etc)

Blur still doesn't either, but that code is too optimized to add quick.
Will put on todo for checking on better unification of translations.
2006-07-19 19:46:42 +00:00
cb09f5cda8 == Frameserver ==
Serious bugfix: Make it work on windows (including ESC-Handling)
closes Bug #4477.
2006-07-14 13:32:29 +00:00
5ee3d1da10 The mother of all commits! Bumping version up to 2.42, and new splash. 2006-07-13 16:53:52 +00:00
464f3bd966 Three more valgrind discoveries:
- readfile.c, version patch for new toolsettings used a malloc, using
  unitialized variables
- despgraph, another malloc changed to calloc
- timer code for render ESC: unitialized variable in struct
2006-07-13 11:36:26 +00:00
289259c09c == FFMPEG ==
Bugfix #4596 and #4594 by rewriting the file extension management.
The code is now _much_ nicer ;-)
2006-07-09 13:05:09 +00:00
cf313f867d Bugfix #4647
The raytracer wasn't calling node shaders yet, so results showed only
shading for the base material.
This now works, but there's a conflict in the internal Blender shader that
makes recursive raytracing with nodes unpredictable. Basicaly the conflict
is that when a ray wants to shade a point, it should be able to check the
material for mirror properties, but this is undefined for node trees...

Probably we need to separate raytrace entirely from material shading. Is
a good topic for NodeShader 2.0, when we really split up materials in
shading components.

I'll add a note in the release log about this. Best results you get now
when you don't include mirror/ray-transp insde a node tree, in that case
a regular material mirror can render that material perfectly.
2006-07-09 11:54:41 +00:00
00b55aba24 1)
The F3 key 'save rendered image' made inconsistant choices to save either
in jpg or tga, when the output panel was indicating to render to movies.
Even worse, it was sometimes saying 'save jpg' and saved a targa!

Made it consistantly save .jpg now, since tga isn't a good common format.

2)
Forgot to commit transform.h for previous bugfix in transform numeric input
2006-07-08 13:18:57 +00:00
46110ec06b Bugfix: (own todo)
When you rename a generated image, like "Render Result" or "Composite"
the float buffer in this image had to be copied, otherwise a next render
will make the renamed Image buffer invalid.

Note that renaming will not mean the images get packed or saved! So on
reloading .blend they're gone.
2006-07-07 17:08:04 +00:00
f51c8f276c - bug fix for #4606,
too small size of base MetaBall object caused infinitive loop
2006-07-07 11:10:53 +00:00
ec1c1615bc Fix for bug #4600:
- Array modifier crash with vertex merging. There was a missing check
  for a vertex being merged with a vertex that was merged with itself.
2006-07-06 21:43:09 +00:00
86ce9c71b6 [ #4585 ] - fix for reading videoscape files
- yet again a file path that was too short ;)
2006-07-06 17:15:13 +00:00
e460747680 Bugfix #4630
They're getting rare, but here's another bugfix from issue since NaN days:

Orco texture coordinates for surfaces didn't work *at all*!
(Try 2 nurbs spheres in 1 object). Fixed!
2006-07-06 14:20:44 +00:00
be3c3a24b5 Bugfix #4620
Hurmf, then you bring back old backbuffer, and they want to have fields
work on that!
OK... here it is. Although using Compositor features will make this much
easier and advanced to control. :)
2006-07-05 17:32:49 +00:00
28f08bd122 Plumiferos report:
Bone renaming goes over a complex series of checks, which includes
checking all objects that have relations to the armature. the call
modifiers_usesArmature() didn't check properly for existing pointer...
2006-07-05 15:59:26 +00:00
8640615ac6 Bug #4616
Node Editor: selecting Material buttons in header crashed, when no buttons
window was opened. Code didn't check for proper window it was called from.

Also: autoname "Cyan" was spelled dutch! :)
2006-07-05 11:33:09 +00:00
0458c50f63 Bug #4597
More Driver fixing...
Commit of over week ago to make drivers update correctly on cyclic
situations, forgot to fix another driver call... which then got called
always with 'current frame' set to zero.

Error only happened with animated (Ipos) Object-Object driver relations.

Also in this commit: when loading file, lattices with hooks were not
updated correctly.
2006-07-04 10:19:26 +00:00
d55b5240b9 Composite node "Separate RGBA" didn't do a typecheck.
Errors happened when inputting a Normal or Value buffer in this node.
2006-07-03 15:25:11 +00:00
71de727f3e Bugfix #4583
Shader Group nodes crashed on render... it was accidentally calling
composite free-buffer option.
2006-07-03 12:08:08 +00:00
21a5ea85cd * Fix for Matt's fix!
The "generator" class for nodes then better completely disappears, also
from theme color choices menu. Since there was room for it, made the
generator themecolor to become color for 'Convertor' node types.
2006-07-03 09:49:12 +00:00
4ca0e9070a * Fix: Shading nodes 'value' and 'RGB' were still set to the old node class
Generators' so they didn't appear in the add menu under 'Input' where they
should be.
2006-07-03 07:00:08 +00:00
3c1956f5cd Bugfix #4556
When a curve guide animates, it doesn't correctly work on dynamic particles.
This because the guides work on a fixed starting position (the birth of
particle) and then defines a full path for the entire particle. It is clear
this was only coded with static particles in mind...

Nevertheless, I've added a line of code to at least put the curve guide
on correct location for the moment a particle gets born.

Report moved to the todo tracker; this should be a spec for particle recode
2006-07-02 12:46:41 +00:00
ae59f05c85 Bugfix #4563
Wave Modifier defaulted to Y waves, even when both X and Y buttons were
disabled. That case isn't very useful, nevertheless... if buttons allows it
then it should just work!
2006-07-02 10:36:26 +00:00
5e30fb119c Bugfix #4561
Sequence renders, calling scenes with compositing, didn't execute composite
correctly. Confusement caused by the rule that a "Render" handle has same
name as Scene, which gives conflict for the case when a Scene has
sequencing with Scene strips with its own scene in it.

The previous solution for that conflict caused composite not to work. This
commit solves that, but it is still hackish. Main reason is the still
bad global G.scene, in use by compositor.
2006-07-02 09:56:41 +00:00
d173a0c8de Bugfix #4528
In compositor you can mix RGBA and Value buffers freely, but with one
exception... the Composite (output) node!

This solves a crash when connecting a Alpha socket to RGBA input in
Composite node.
2006-06-28 17:59:36 +00:00
853cf24276 bugfix #4526
Depsgraph fix: the signal DAG_object_flush_update() should flush changes in
'data' to all object users of that data, not only in current scene.

Error was that switching scenes sometimes showed invalid derivedmesh data,
with bezerk drawing.
2006-06-28 14:29:57 +00:00
3d34bec6e4 Bugfix #4520
Boolean modifier allowed to be added after subsurf, but it doesn't support
that. Added "eModifierTypeFlag_RequiresOriginalData" flag to prevent this
from happening in UI.
2006-06-28 14:02:11 +00:00
d87b12a865 Bugfix #4488
On file load, a Curve deformation was not initialized when it
wasn't in a visible layer.
2006-06-27 10:51:35 +00:00
605388b449 - Bug fix #1931
metacubes shouldn't disapear, when dx, dy, dz is too big, thanks
   arsouille for pointing at right part of code (it was the oldest bug in
   bug tracker)
2006-06-27 09:37:12 +00:00
2670797e8a Plumiferos report:
The new Material "LightGroups" only worked with lamps in visible layers.
Now also lamps from the group that are not visible are included for
rendering, ensuring that a lightgroup always works on that material,
disregarding layer settings (unless lamp is type 'layer lamp').
2006-06-26 17:50:48 +00:00
1fa9af5dbc Plumiferos report: Ipo for material 'hardness' didn't go beyond 128
(Note; this value is stored in the curve when you make it, so you have
to remove the curve and insert it again...)
2006-06-26 16:57:44 +00:00
d6e7eb27ed == Frameserver ==
Set SO_REUSEADDR on server-socket, since otherwise, frameserver will barf on
second start.
2006-06-26 13:22:55 +00:00
1aab013bcc Bugfix #4483
Fix for bugfix! The code added to solve Driver lag should not be called
when Bones in Armature are drivers (only when Objects are drivers).
2006-06-26 11:29:33 +00:00
7e081266a9 Bugfix #4460
Compositor:
The option to re-render a single node, didn't free memory if nodes were in
use showing exactly same RenderLayer.
2006-06-25 12:00:34 +00:00
3e0d578c96 Bugfix #4430
Particle "Disp" percentage didn't work for particle-dulplicators. Now it
does!
2006-06-23 17:56:15 +00:00
03a1ee30b6 Bugfix #4420 + #3975
Found reasonable OK solution for a cyclic dependency that was bothering
a lot of (character) animators. They would like to drive bones with
Objects, but that lagged when you parent these Objects to the
armature, since that's a circular dependency.

Since Driver relations are only looking at local object properties (i.e.
it's local position/rotation) there's a simple way to solve it. In case
such Objects have an Ipo, it reads driver values directly from the
Object Ipo (on correct time) instead of Object values.
2006-06-23 12:15:22 +00:00
e21c782090 Plumiferos report: Using multiple levels linked scenes (as 'set') didn't
make sure animation updates were executed in the deeper levels. It only
still did the first set.
2006-06-22 15:25:30 +00:00
6867773401 Plumiferos bug: autohandles in Ipos could get screwed up in extreme cases,
but they got this case! :)

Bug was that for autohandle, the previous position of handle was used for
calculating the position too, which I really don't remember why... (that
is code from 10 years ago). Problem with that approach is that extreme
changes in handles don't go correct immediately, but need to itterate a
while. Or even worse, can give NaN values, resulting in this:

http://www.blender.org/bf/ipobug.jpg

Now the handle points are fully recalculated, as it should.
2006-06-21 19:16:09 +00:00
503f7ec248 Fix for bug #4393: initial vertex colors were not created from shaded
mode colors anymore, which also affected python scripts that depend on
this feature. Restored that now.
2006-06-21 15:14:44 +00:00