Commit Graph

2700 Commits

Author SHA1 Message Date
Matt Ebb
6b4ac3e7de * Volume colour absorption
Rather than a single absorption value to control how much light is absorbed as it 
travels through a volume, there's now an additional absorption colour. This is 
used to absorb different R/G/B components of light at different amounts. For 
example, if a white light shines on a volume which absorbs green and blue 
components, the volume will appear red.

To make it easier to use, the colour set in the UI is actually the inverse of the 
absorption colour, so the colour you set is the colour that the volume will 
appear as.

Here's an example of how it works:
http://mke3.net/blender/devel/rendering/volumetrics/vol_col_absorption.jpg

And this can be textured too:
http://mke3.net/blender/devel/rendering/volumetrics/vol_absorb_textured.png

Keep in mind, this doesn't use accurate spectral light wavelength mixing (just 
R/G/B channels) so in cases where the absorption colour is fully red green or 
blue, you'll get non-physical results.

Todo: refactor the volume texturing internal interface...
2008-09-23 07:05:06 +00:00
Daniel Genrich
c08acde589 svn merge -r 16592:16667 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-09-22 10:04:45 +00:00
Campbell Barton
486a6a214d copy object properties was crashing because of my recent changes. need to NULL listbase first.
changed visibility actuator menu to 3 toggle buttons and added tooltip note about outliner render restriction being used for visibility.
2008-09-22 07:17:39 +00:00
Matt Ebb
7522f86d01 * Volume rendering
This is an initial commit to get it in SVN and make it easier to work on.

Don't expect it to work perfectly, it's still in development and there's
plenty of work still needing to be done. And so no I'm not very interested 
in hearing bug reports or feature requests at this stage :)

There's some info on this, and a todo list at:
http://mke3.net/weblog/volume-rendering/

Right now I'm trying to focus on getting shading working correctly (there's 
currently a problem in which 'surfaces' of the volume facing towards or away
from light sources are getting shaded differently to how they should be),
then I'll work on integration issues, like taking materials behind the volume
into account, blending with alpha, etc. You can do simple testing though,
mapping textures to density or emission on a cube with volume material.
2008-09-22 01:51:24 +00:00
Daniel Genrich
a1b8a918cb Respect compile flags if elbeem is disabled, fix compiling for that case 2008-09-21 18:36:25 +00:00
Daniel Genrich
8471184dc5 Merging fluidcontrol to trunk from rev16649 fluidcontrol branch. Code provided by Nils Thuerey. 2008-09-21 18:20:02 +00:00
Ton Roosendaal
afe851b6d1 Sunsky / Atmoshphere:
- Added blending mode and factor option, so it's more clear and
  controllable what happens with it. Also nice for crazy effects
  of course!
- Preview render now shows preview for it too

On the todos:

- have this in World buttons (as well) for quicker sky setups
- review math of color clamping and scaling, this is definitely 
  not good... but a fix will make old files look very different.
2008-09-21 16:04:33 +00:00
Daniel Genrich
518b8fe018 svn merge -r 16593:16648 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-09-21 13:03:39 +00:00
Campbell Barton
a9988317c9 Added select grouped property (objects with shared property names will be selected)
(updated select group toolbox and header menu)

Added 2 copy property options - Replace All and Merge All, since there was no way to remove all properties, or set all objects game properties to be the same as the active objects.
Added set_ob_property(ob, prop) to property api.

bugfix in python api, copyAllPropertiesTo, it didnt check for duplicates or that it wasnt copying from/to the same object.
2008-09-21 10:12:33 +00:00
Campbell Barton
0a364788c1 simple changes for bez point selection. use as a flag incase other flags are stored in bezt->f1,2,3 2008-09-20 13:21:10 +00:00
Ton Roosendaal
2bd6e1ae82 Patch #8461, by Rob Hausauer
This unifies all usage of FTOCHAR, putting it in utildefines.h
Submitter did several interesting tests for speed, check it here:
http://projects.blender.org/tracker/?func=detail&atid=127&aid=8461&group_id=9
2008-09-20 13:02:06 +00:00
Ton Roosendaal
9b9edad6b6 Patch 17403, small gcc warning fixes. 2008-09-20 12:26:18 +00:00
Campbell Barton
f510057fef [#17600] char* -> const char*
Thanks to Sean Bartell (wtachi), was causing many many warnings which distracted from the real problems.
2008-09-20 11:08:35 +00:00
Brecht Van Lommel
a15296eff6 Small dependency debugging aid: now it also prints cycles for
the object depsgrah instead of only armatures.
2008-09-19 22:03:16 +00:00
Diego Borghetti
4f737bafa7 == Render ==
Commit patch #7788, allow to set the render step, so it's
possible make render every N frames only.

The step is change in Scene buttons (F10), below start and
end frame buttons.

Also add a command line options (-j), so it's possible to
overwrite the file step (useful for renderfarm).

[ Brecht, this work with OpenGL renders and simulated
  the skipped frames, please double check ]
2008-09-19 21:57:15 +00:00
Brecht Van Lommel
650ae3b4e6 Fix for bug #16662: modifiers on lattices were ignored sometimes
when rendering opengl previews, it unnecessarily cleared lattice
displists when it was really intended for shaded mode colors.
2008-09-19 21:52:15 +00:00
Benoit Bolsee
a44177a401 BGE patch: new 'Advanced Settings' button to keep special Bullet options away from main UI.
Three features that were on the main UI interface are now 
moved to the Advanced Settings panel:
Margin, Actor (that becomes Sensor Actor) and No sleeping.

Sensor Actor is now a feature: it can be turned on and off
for all types of objects, and not just static objects.
Select the Sensor Actor button to make the object visible
to Near and Radar sensor.
The button is selected by default for dynamic objects
and unselected by default for static objects, to match
previous behavior.
2008-09-19 20:41:38 +00:00
Joshua Leung
6f9a254d61 PyConstraints:
Basic (non-python) target evaluation still occurs when scriptlinks are disabled.
2008-09-19 12:43:21 +00:00
Campbell Barton
15bce017df scons update, BF_NO_ELBEEM wasnt working, WITH_BF_SDL wasnt implimented, WITH_CCGSUBSURF isnt used anymore. 2008-09-19 01:39:34 +00:00
Willian Padovani Germano
6ff74f4527 == Python Script Links ==
Bug #17599:
Summary: Python constraints, good in 2.46 not working anymore in 2.47
http://projects.blender.org/tracker/?func=detail&atid=125&aid=17599&group_id=9

Improved my old hack to avoid frame changed scriptlinks from running when rendering stills, should fix this bug. It also causes REDRAW scriptlinks to be executed during renders, but that conforms to how FRAMECHANGED ones work.

BTW: this can still be improved. The current system meant to disable all Python functionality at once needs imo to be replaced by one that allows to enable / disable per feature (scriptlinks, pyconstraints, pynodes, etc.). A better way to inform scriptlinks about what is going on (render, anim, render anim, etc.) would also help. Will discuss with others.
2008-09-18 22:33:49 +00:00
Janne Karhu
a283e7e4af A typo in my fix for bug #11740 caused problems with at least grid distributed particles. 2008-09-18 17:42:17 +00:00
Janne Karhu
f7113fd267 Reactor particles were born with incorrect timing. Some changes made could effect normal particles too, but after many tests I didn't notice any adverse effects. Be sure to poke me hard if there are some though :) 2008-09-18 17:19:40 +00:00
Daniel Genrich
fc312fae98 svn merge -r 16454:16593 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-09-18 14:59:44 +00:00
Daniel Genrich
beb7738a29 Hopefully fixes crash in particle system with effector enabled 2008-09-18 01:55:43 +00:00
Janne Karhu
0a6d2e26a9 Fix for [#17642] Particule Hair - Vertex Group lenght don't works without Children
- This feature had been removed from the code! So this is how things work now:
For normal (non-child) hair particles the length vgroup is used if we're not in particle edit mode and if there are no child particles. So for example checking "Parents" in the visualization panel when children are in use will result in full length parent strands, this is a feature so that you can see how the parent's go to predict child behavior better, not a bug :)
2008-09-17 19:29:44 +00:00
Janne Karhu
0a43036701 Fix for [#17637] Children from "Faces" in Object without a face leads to crash
- a simple check for psys->child was missing
2008-09-17 17:59:29 +00:00
Ton Roosendaal
3ecbcb5848 Bugfix #14412
Outliner option 'unlink group' didn't remove its members, in case the
group members were local in file, a confusing situation happened. Now
it removes members.
2008-09-17 17:47:59 +00:00
Brecht Van Lommel
9064ed8d6a Fix for bug #4192: game engine armatures that are dynamically added
but don't have an action got the pose of already added armatures, even
though they're not related. This also fixes an issue where the armature
in Blender would end up in the pose from the game after ESC, removes
unneeded copies made during armature evaluation, and also solves the
constraint copying hack.
2008-09-17 01:29:54 +00:00
Benoit Bolsee
9b7d40dbae BGE patch: bullet buttons UI change after discussion with Erwin: use a drop down instead of a series of buttons. Introduction of soft body option. 2008-09-16 22:52:42 +00:00
Janne Karhu
0cae815127 Fix for [#17561] when i try to change the particle to hair I cant choose group or object as viz.
-Partly reverted Genscher's previous fix on the issue and added the idea he had as a special case
2008-09-16 21:16:32 +00:00
Janne Karhu
0922ecee93 "Fix" for #17636 Crashing bug - won't open a file
- The cause was indeed corrupted particle settings which should have caused a deletion of the whole particle system. However the particle modifier was still left and that led to the crash.
- A "fix" because there's really no way of knowing what caused the corruption of the particle settings. If anyone else gets this and can recreate I'd love to get a .blend. Now that there shouldn't be a crash anymore the symptom will be a missing particle system after file load in an object that had a particle system before.
2008-09-16 18:40:54 +00:00
Janne Karhu
4683cb34e4 Fix for #17618 Particles: changing RGB sliders snap back
-particle drawing was reading material ipos in a too invasive way
2008-09-15 22:08:30 +00:00
Benoit Bolsee
41a0b56b70 BGE patch: new Physics button and margin parameter in Logic panel. Change subversion.
The Physics button controls the creation of a physics representation 
of the object when starting the game. If the button is not selected,
the object is a pure graphical object with no physics representation
and all the other physics buttons are hidden.
Selecting this button gives access to the usual physics buttons.
The physics button is enabled by default to match previous Blender
behavior.

The margin parameter allows to control the collision margin from
the UI. Previously, this parameter was only accessible through 
Python. By default, the collision margin is set to 0.0 on static 
objects and 0.06 on dynamic objects. 
To maintain compatibility with older games, the collision margin
is set to 0.06 on all objects when loading older blend file.

Note about the collision algorithms in Bullet 2.71
--------------------------------------------------
Bullet 2.71 handles the collision margin differently than Bullet 2.53
(the previous Bullet version in Blender). The collision margin is 
now kept "inside" the object for box, sphere and cylinder bound 
shapes. This means that two objects bound to any of these shape will
come in close contact when colliding. 
The static mesh, convex hull and cone shapes still have their
collision margin "outside" the object, which leaves a space of 1
or 2 times the collision margin between objects. 

The situation with Bullet 2.53 was more complicated, generally
leading to more space between objects, except for box-box collisions. 

This means that running a old game under Bullet 2.71 may cause
visual problems, especially if the objects are small. You can fix
these problems by changing some visual aspect of the objects: 
center, shape, size, position of children, etc.
2008-09-14 19:34:06 +00:00
Joshua Leung
4245aaed86 == Global 'Delete Key' Tool ==
The 'opposite' of the "Insert Key" tool. 
- Use the hotkey Ctrl-Alt-IKEY to activate.
- Only available in 3d-view and buttons window 

I've added an extra var to verify_ipo and verify_ipocurve to save having to make another duplicate of that code. Hopefully the gameengine compiles ok with this.
2008-09-14 12:41:42 +00:00
Brecht Van Lommel
d111983064 Fix for bug #5758 and #17585: armatures with IK constraint did not
work in the game player, now the IK lib is linked into the player.

Makefiles/Scons/CMake buildsystems have been updated.

Fix materials nodes to work in the game player.
2008-09-14 03:51:51 +00:00
Janne Karhu
06be41648f Fix for #11740 - Reactor particles do not render in animation.
- Particle data was deleted when the current frame was outside the baked range. Reactor particles need this data to store birth and death times.
2008-09-13 21:06:22 +00:00
Janne Karhu
d2186508da Particle collisions upgrade:
- Particle now use the deflector objects collision modifier data to collide with deflectors and as a result can now use the velocity of the colliding object for more realistic collisions.
- Dynamic rotations are also quite a bit more realistic and are related to the friction setting of the deflector (to get any dynamic rotations there has to be some friction). This is largely due to the separate handling of rolling friction (approximated to be 1% of normal sliding friction).
- Collisions should be a bit faster on complex deflectors due to the tree structure used by the collision modifier.
- Collision should also generally be a bit more accurate.

To be noted: Only the average velocity of individual deflector faces is used, so collisions with rotating or deforming objects can't be handled accurately - this would require much more complex calculations. Subdividing the deflector object surface to smaller faces can help with this as the individual face velocities become more linear.
2008-09-13 18:09:41 +00:00
Campbell Barton
f40aa6d13f typo in recent commit 2008-09-12 13:26:49 +00:00
Daniel Genrich
0795d01df4 Bugfix [#17609] Complex particles crash II - related to #17592 2008-09-12 13:15:52 +00:00
Ken Hughes
3e5549213c Add some typecasts for intptr_t and uintptr_t value to fix gcc warnings. 2008-09-12 05:27:02 +00:00
Brecht Van Lommel
5eb1d5e3dc Fix for bug #17593: glsl crash using a texture node without a
texture assigned.
2008-09-11 10:17:17 +00:00
Joshua Leung
7b98b5d34e Compiler warning fixes (mingw) 2008-09-11 06:17:21 +00:00
Daniel Genrich
9e675e547e Bugfix [#17594] separated mesh crash 2008-09-10 15:51:10 +00:00
Daniel Genrich
3bf182c4b4 Bugfix for [#17561] when i try to change the particle to hair I cant choose group or object as viz; Bugfix for mat[4][4] equal to zero resulting in no duplis --> Important: Janne could you check that fixes? 2008-09-10 15:25:06 +00:00
Daniel Genrich
fdb057ff53 Implement softbody function for modifier_depeends_on_time() 2008-09-10 11:42:07 +00:00
Daniel Genrich
1c44562d64 Bugfix [#12033] Cloth and Softbody don't work with Object Actions (fix pointed out by Aligorith. Ton: You might like to look over this) 2008-09-10 11:40:30 +00:00
Daniel Genrich
dfd51ab5b6 Bugfix [#17592] Complex particle system crash 2008-09-10 11:38:19 +00:00
Daniel Genrich
190aae27ae svn merge -r 16369:16454 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-09-10 11:04:07 +00:00
Daniel Genrich
568ba15726 Bugfix for [#17329] Bevel Weights are lost after Subsurf 2008-09-09 18:44:10 +00:00
Daniel Genrich
d9404adcd1 Bugfix #17562: array fit to curve isnt working 2008-09-09 16:38:08 +00:00