Commit Graph

1276 Commits

Author SHA1 Message Date
Matt Ebb
b9816c98bc * Volume render weaks/fixes/etc from Alfredo, after code review
- General correctness tweaks
- Light cache is enabled for all objects now
- Metaballs now give density info, for smooth falloff
2009-09-08 08:15:56 +00:00
Campbell Barton
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Campbell Barton
d1c90f4bef easier to re-apply the replacement table then merge from 2.4x, same as 23023
replacements...
 MTC_cross3Float -> Crossf
 MTC_diff3Float -> VecSubf
 MTC_dot3Float -> Inpf
 MTC_Mat3CpyMat4 -> Mat3CpyMat4
 MTC_Mat3MulVecd -> Mat3MulVecd
 MTC_Mat3MulVecfl -> Mat3MulVecfl
 MTC_Mat4CpyMat4 -> Mat4CpyMat4
 MTC_Mat4Invert -> Mat4Invert
 MTC_Mat4Mul3Vecfl -> Mat4Mul3Vecfl
 MTC_Mat4MulMat4 -> Mat4MulMat4
 MTC_Mat4MulSerie -> Mat4MulSerie
 MTC_Mat4MulVec4fl -> Mat4MulVec4fl
 MTC_Mat4MulVecfl -> Mat4MulVecfl
 MTC_Mat4One -> Mat4One
 MTC_Mat4Ortho -> Mat4Ortho
 MTC_Mat4SwapMat4 -> Mat4SwapMat4
2009-09-06 00:36:26 +00:00
Janne Karhu
f09d605410 Some particles cleanup & fixes:
- Some big refresh issues with softbody & cloth point cache usage should now be fixed.
- Removed sticky objects from particles (better stuff will come back when I get to updating reactor particles).
- Some initial easy memory efficiency cleanup for ParticleData struct. The ultimate goal is to get particles less memory hungry -> more particles possible in single scene.
- Wrong path timing clamping caused hair particles to seem disappeared when changing between normal<->hair particles.
- "Calculate to current frame" in cache buttons baked instead of the intended function.
- Boids particle data is now a bit better organized.
2009-09-04 23:06:15 +00:00
Matt Ebb
62dd488ad1 * New and improved voxel interpolation methods, from Alfredo.
Now there is (in order of speed):
* Nearest neighbour (very rough quality)
* Linear (medium quality)
* Quadratic (good quality)
* Cubic Catmull-rom (very good quality, crisp)
* Cubic B-spline (very good quality, smooth)

Thanks!
2009-09-04 06:55:01 +00:00
Matt Ebb
970c9214b5 * Fixes for shading objects inside volumes 2009-08-30 07:07:02 +00:00
Campbell Barton
75697c40a0 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22717:22875 2009-08-29 23:41:09 +00:00
Campbell Barton
324b3fbe74 - BGE crash fix when casting a ray to the same location as the object from python.
- Incorrect Mathutils vector docstrings.
- last rayshade commit had an incomplete comment.
2009-08-27 06:55:54 +00:00
Campbell Barton
0db2975ff6 [#18837] if a sunlamp is set to a too high energy, speculars turn black
shr->spec values could be greater then 1.0, causing negative color when using (1.0-shr->spec[i]) as a blending factor.

When shr->spec[i] is 1.0 the mircol is ignored, so only mix the mircol when needed (like clamping the spec).
2009-08-26 16:05:01 +00:00
Matt Ebb
740752da12 * Hopefully fix some weird merging business 2009-08-26 06:51:26 +00:00
Matt Ebb
163d0bb811 * Fix for yesterday's valgrind fix
* Fix for plane material preview render. Now, light cache aborts if there isn't enough volume, and falls back on non-cached single scattering. It still doesn't make much sense to render a plane as a volume, but for now in the preview it will shade the region in between the plane and the checker background.
2009-08-26 06:17:39 +00:00
Joshua Leung
4893cdc338 2.5 - Warning cleanups (for mingw+scons)
Also, made the Outliner's horizontal scrollbar work better for keymaps view. It's still using an approximation of the width, but at least you can scroll now.
2009-08-26 00:38:43 +00:00
Diego Borghetti
cfcd355c27 Update Makefile and missing include on voxeldata.c
Note that With libsndfile also need libflac and libogg here (Linux), right
now I just add this two librarys to the NAN_SNDFILELIBS, but maybe
it's better split this ? (NAN_FLAC/NAN_OGG)
2009-08-25 21:25:41 +00:00
Matt Ebb
1441f337fb Small error detected by valgrind, thanks cam 2009-08-25 08:11:37 +00:00
Matt Ebb
a81b458dbd * Volume Rendering
Finally in 2.5 branch :)

Still things to do, but will continue working in here. I won't bother
repeating the commit messages from the last year or so, however I've 
written up some technical docs to help Ton/Brecht/etc review and find 
their way around the code:
http://wiki.blender.org/index.php/User:Broken/VolumeRenderingDev

That above page has some known issues and todos listed, but I'm still 
interested in bug reports.

Credits for this code:
* Matt Ebb 
(with thanks to Red Cartel/ProMotion Studios)
* Raul Fernandez Hernandez (Farsthary) for patches:
  o Light cache based multiple scattering approximation
  o Initial voxeldata texture code
  o Depth Cutoff threshold 
* Andre Susano Pinto for BVH range lookup addition
* Trilinear interpolation adapted from pbrt
* Tricubic interpolation from libtricubic
2009-08-25 06:30:09 +00:00
Campbell Barton
9967037e92 [#19029] Baking selected to active with nearby dupliframes objects crashes blender
from Jorge Hodge (watcom)

Confirmed the crash. baking didn't account for RE_RAY_TRANSFORM_OFFS in R.objectinstance.
2009-08-24 10:16:39 +00:00
Matt Ebb
90895fce8c * Fix for camera+internal surface object inside ztransp volume 2009-08-24 08:13:09 +00:00
Matt Ebb
6ddcb47746 * Fix for volume materials + AAO 2009-08-23 22:19:45 +00:00
Matt Ebb
c1edc2f313 * Fix for rendering wire materials 2009-08-23 22:11:19 +00:00
Matt Ebb
971435f2a1 * Compile fix after merge - disabled high-res smoke rendering in voxeldata texture. Will re-enable when the modifier situation has been worked out. 2009-08-23 13:15:10 +00:00
Matt Ebb
f5711909a6 svn merge -r 22628:22714 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-23 03:33:33 +00:00
Matt Ebb
46aac7b4fc * Volume rendering - z transparency
This solves one of the last remaining hurdles for 
volume rendering. Previously it always used ray 
tracing to shade other objects inside or behind the 
volume. This meant that said objects would look 
aliased, unless you used Full OSA on the volume 
(which is slow!). As well as this, it meant that you didn't 
get a good alpha channel out of the volume to use for 
compositing, similar to ray refracting materials.

This commit enables z transparency for volume 
materials. Although it can be potentially less 
physically correct, in most situations there's no 
difference, and you get the benefit of nice sampling for 
other objects and an alpha channel for compositing too.
2009-08-23 02:54:30 +00:00
Matt Ebb
8df1d6d13a * cleaning and simplification 2009-08-20 13:45:04 +00:00
Matt Ebb
d8cd7a22e8 * a few more small cleanups 2009-08-20 08:18:54 +00:00
Matt Ebb
fa5838c7be * volume rendering cleanups and optimisations 2009-08-19 21:48:09 +00:00
Robin Allen
792d526489 More texnode preview fixes. Previews now have correct aspect ratio and are drawn by the renderer. 2009-08-19 15:45:16 +00:00
Campbell Barton
315229ea5f texture enum was crashing when generating docs, removed radiosity from makefiles. 2009-08-19 14:04:21 +00:00
Matt Ebb
132277f098 svn merge -r 22450:22627 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-19 11:18:52 +00:00
Campbell Barton
360235a5f4 cmake cleanup (remove unused includes, make some within IF checks) 2009-08-19 07:48:56 +00:00
Matt Ebb
8480ea2b0a *small volume render code cleanups 2009-08-19 05:54:53 +00:00
Matt Ebb
6412fe4b92 * Point density texture works again 2009-08-17 22:09:36 +00:00
Robin Allen
f9ceeeede6 Slight refactor of texture nodes.
Delegates now receive a TexParams* instead of float *coords. This gives texture nodes access to dxt, dyt, cfra as well as coords. This fixes the time node and allows nice sampling to be implemented.
2009-08-17 20:30:11 +00:00
Brecht Van Lommel
d35a42d3e6 2.5: Render Api
* Add RenderResult.load_from_file to load whole multilayer exr's at once.
* Removed x/y offset from RenderLayer.load_from_file, better to encourage
  using offset in begin_result() to minimize memory usage.
* Added WITH_OPENEXR in some screen/file/image module for scons/make, exr
  was not working in some places there.
2009-08-16 22:53:15 +00:00
Matt Ebb
fe984a6e6c volume material
* data reorganisation - uses own values now instead of reusing surface material properties (i.e. an individual density value, rather than reusing alpha) Files saved with the old system won't load up the same after this.

* improved defaults and ui
2009-08-16 06:10:31 +00:00
Brecht Van Lommel
3da40611d9 2.5: Material buttons
* Transparency is now it's own panel, with a boolean toggle
  + enum for z/ray transparency (following mockup made by
  William). Also had to change DNA flags for this.
* Disabled radiosity a bit more in render engine, it still had
  some effects like auto autosmooth.
* Make some sliders in material buttons percentages in RNA.
* Some other small tweaks in layout and naming.
2009-08-15 19:35:03 +00:00
Matt Ebb
a8872d99a9 * scons fixes for voxel data texture 2009-08-15 07:49:56 +00:00
Matt Ebb
5a21bc578c * First commit merging 2.4-based sim_physics in to volume25 branch.
Integration is still very rough around the edges and WIP, but it works, and can render smoke (using new Smoke format in Voxel Data texture) --> http://vimeo.com/6030983

More to come, but this makes things much easier to work on for me :)
2009-08-13 05:21:25 +00:00
Janne Karhu
3757bb4a4f Mistake in previous commit. 2009-08-12 17:41:03 +00:00
Janne Karhu
bba9c797b5 Various fixes:
- Correct fix for file loading crash introduced by earlier point cache commit.
- Simulations are no longer calculated to current frame at render time automatically.
	* This has to be thought through more carefully at some point, perhaps through render profiles.
	* All simulations can be updated manually to current frame from any cache panel with the "update all to current frame" button.
- Some explanatory comments added for BKE_pointcache.h.
2009-08-12 17:39:11 +00:00
Joerg Mueller
6c5c58e057 2.5: Sound branch merge!
See mailing list for additional information.
2009-08-09 21:16:39 +00:00
Peter Schlaile
eff8e107fe == Sequencer ==
This brings back sequencer rendering, moving do_render_seq() into the
pipeline where it belongs.

Things to fix: SCENE-strip rendering and memory cleanup for
SCENE-strips.

Otherwise: enjoy :)
2009-08-02 23:02:59 +00:00
Campbell Barton
2a727083c9 fix for warnings and implicit declarations
also fixed smoke comparing a float's mem-location rather then its value.
2009-07-31 01:40:15 +00:00
Campbell Barton
eb40d8ef0f render api utility function to initialize a render layer from an image rather then loading through python.
lay = result.layers[0]
	lay.rect_from_file("somefile.png", part.x, part.y)

If the source image is bigger then the render layer x/y offsets can be used to choose the part of the image use.
2009-07-27 18:50:10 +00:00
Brecht Van Lommel
eb80ce4d7f 2.5: Materials
* Diffuse/specular ramps works again.
* Wire is now a material type next to Surface and Halo.
* Removed Volume material type option until it is actually there.
* Some button layout tweaks.
2009-07-25 21:31:17 +00:00
Campbell Barton
1b14243405 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20937:21899
missing commits from peter 20942, 21165, 21170, 21174, 21597
these files still need manual merging

source/blender/makesdna/DNA_sequence_types.h
source/blender/src/sequence.c
source/blender/src/seqeffects.c
source/blender/src/editseq.c
source/blender/include/BSE_sequence.h
2009-07-25 20:59:09 +00:00
Brecht Van Lommel
366a64959c 2.5: Render/Game Engine
An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.

* Top header now has an engine menu, to choose between the blender
  render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
  only properties that work in the game engine, and similarly for
  the render engine.
* Moved panels from the logic space and game tabs to the physics,
  scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
  specific too, to better show what is supported.
2009-07-23 21:50:40 +00:00
Brecht Van Lommel
94518b6308 2.5
* Make EWA new default, rename Default to Box.
* Fix windows compile issue in texture filter code.
2009-07-22 17:20:04 +00:00
Brecht Van Lommel
c354ea0ef1 2.5: Render
This adds a RenderEngine type to RNA, which can be subclassed
in python (c++ will follow once we support subclassing there).
It's very basic, but plugs into the pipeline nicely. Two example
scripts:

http://www.pasteall.org/6635/python
http://www.pasteall.org/6636/python

Issues:
* Render runs in a separate thread, and there is unrestricted
  access, so it's possible to crash blender with unsafe access.
* Save buffers and full sample are not supported yet.
2009-07-21 20:28:32 +00:00
Brecht Van Lommel
b8445173c4 2.5:
* Fix armature drawing crash with materials.
* Mixed texture/material preview was doing wrong gamma correction.
* Use *f math functions for AAO.
2009-07-21 18:29:37 +00:00
Brecht Van Lommel
a1407ff342 2.5:
* Windows fixes for texture filter & bump patches, thanks
  Jean-Michel Soler for noting.

* Added sqrtf/sinf/fabsf/... fallback #ifdefs in BLI_arithb.h,
  those should be safe to use now. Replacing the double for the
  float version throughout the code can be done once, but would
  need proper testing.
2009-07-21 18:23:45 +00:00