Commit Graph

3153 Commits

Author SHA1 Message Date
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
Andre Susano Pinto
ea18c6ef0a Code reorganization
-separated vbvh, svbvh, qbvh in diferent files (before the only way to switch between them was at compile time)
2009-08-29 17:24:45 +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
Joseph Eagar
de7f08cc41 merge with 2.5 at r22793 2009-08-26 10:27:04 +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
Andre Susano Pinto
aec7f2f2c4 *Changed RayObject_ calls to RE_rayobject to keep consistency on calls
*Moved part of counters code to a separated file (rayobject_raycounter.c)
2009-08-25 20:26:50 +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
Andre Susano Pinto
950b770c1e svn merge -r 22371:22571 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-17 17:43:49 +00:00
Andre Susano Pinto
0e3acbaa38 fix raycounters 2009-08-17 17:04:58 +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
Andre Susano Pinto
cc0dafa627 Addition of some fake nodes to use SIMD even when theres only 3 nodes 2009-08-13 20:35:53 +00:00
Andre Susano Pinto
cb40f0ff80 Another tree pass during build to increase the number of nodes that have multipe of 4childs 2009-08-13 15:56:24 +00:00
Andre Susano Pinto
7050a4a6a2 *Bug fix on finding hit on neighbour face (think this is the last know bug)
This bug fix makes the "non-smoothed" faces appear again (just like they do in 2.49 and blender2.5)
Meaning the "detect neighbour faces" isn't working 100%.
2009-08-13 12:23:21 +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
Andre Susano Pinto
c101d58d42 *Instance support is only enabled if target mesh uses more than 4 faces
if theres very few faces its not worth it to create a separated tree for beinng reused.
	should speedup some particle renders.

This "fixes" a bug relationed with a arithmetic precision on instances and raytrace of very close objects
which usually happens on rendering (almost) overlapping alpha-enabled leafs/feathers
2009-08-12 02:00:44 +00:00
Andre Susano Pinto
eff93b099d Fix ray_trace_shadow_tra 2009-08-11 18:43:55 +00:00
Andre Susano Pinto
495ef8a6a2 fix instance support when using SIMD 2009-08-11 17:28:58 +00:00
Andre Susano Pinto
f88eb78baf svn merge -r 22138:22364 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-11 12:55:50 +00:00
Andre Susano Pinto
5d40c1b597 *Added a tree structure with a variable number of childs per node, but with groupped childs (for SIMD)
*SIMD support for the first 4*N childs of each node
*Some bvh code organized
2009-08-11 00:33:51 +00:00
Andre Susano Pinto
4ce316ee0f Ability to disable hints at compile time 2009-08-10 21:37:16 +00:00