Commit Graph

1285 Commits

Author SHA1 Message Date
c388244be4 Move some static math functions out of paint_image.c into arithb.c
* VecLerp3f and Vec2Lerp3f - interpolate 3 2d/3d vectors from 3 weights
* AngleToLength(angle) - useful for making even width shell/walls based on the angles of the surrounding geometry from each point. (same method used in 2.4x python solidify script).

also quiet some warnings.
2009-09-18 16:39:45 +00:00
08e2da590f Particles cleanup, optimizations and some small new stuff.
New stuff
- Bending springs for hair dynamics.

Code cleanup & optimization
- Disabled reactor particles temporarily for cleanup, it's a clumsy system that will be replaced with something better.
- Removed child seams, something better will come here too :)
- Normal particle drawing data is now saved between redraws if the particles don't move between redraws.
	* For example rotating the 3d view is now realtime even with 1M particles.
- Many random values for particles now come from a lookup table making things much faster.
- Most accessed small point cache functions are now much faster as macros.
- Lot's of general code cleanup.
- Nothing big should have changed so if something doesn't work like it used to it's probably just a typo somewhere :)
2009-09-17 22:00:49 +00:00
fbbda4c06e Warning fixes for blenkernel and editors.
Note sure what to do with this one, and personally think
we should avoid using macros for this kind of thing:

V_GROW(edges);
source/blender/editors/mesh/loopcut.c:232: warning: value computed is not used
2009-09-17 14:46:22 +00:00
8df1bb99f9 * enable high res smoke rendering in voxeldata texture 2009-09-16 03:10:25 +00:00
725c30f606 2.5 Bugfixes
#19345: can't get out of grayed out pointer field.
#19342: item_pointerR fields can't be cleared with one item.
#19341: fix hanging tooltips when manipulating regions.
#19339: context panel still allowed tabbing, but it has no header.
#19334: editing SSS settings crashed previewrender.
#19330: object mode could not be switched on from the header menu.
2009-09-14 19:12:29 +00:00
2b5f89ed9f svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r23043:23119 2009-09-11 03:00:09 +00:00
dac27004b8 committing patch #19252-Soft/Linear Light blend modes+Darken mode bug fix 2009-09-10 03:00:50 +00:00
4cb53d91ea Small code cleanup related to curves, to avoid cryptic names:
renamed set_four_ipo -> key_curve_position_weights
renamed set_afgeleide_four_ipo -> key_curve_tangent_weights
added key_curve_normal_weights
2009-09-09 18:09:03 +00:00
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
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
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
c9dd69c11a remove MTC_ functions, (don't merge)
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:19:15 +00:00
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
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
970c9214b5 * Fixes for shading objects inside volumes 2009-08-30 07:07:02 +00:00
75697c40a0 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22717:22875 2009-08-29 23:41:09 +00:00
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
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
740752da12 * Hopefully fix some weird merging business 2009-08-26 06:51:26 +00:00
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
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
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
1441f337fb Small error detected by valgrind, thanks cam 2009-08-25 08:11:37 +00:00
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
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
90895fce8c * Fix for camera+internal surface object inside ztransp volume 2009-08-24 08:13:09 +00:00
6ddcb47746 * Fix for volume materials + AAO 2009-08-23 22:19:45 +00:00
c1edc2f313 * Fix for rendering wire materials 2009-08-23 22:11:19 +00:00
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
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
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
8df1d6d13a * cleaning and simplification 2009-08-20 13:45:04 +00:00
d8cd7a22e8 * a few more small cleanups 2009-08-20 08:18:54 +00:00
fa5838c7be * volume rendering cleanups and optimisations 2009-08-19 21:48:09 +00:00
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
315229ea5f texture enum was crashing when generating docs, removed radiosity from makefiles. 2009-08-19 14:04:21 +00:00
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
360235a5f4 cmake cleanup (remove unused includes, make some within IF checks) 2009-08-19 07:48:56 +00:00
8480ea2b0a *small volume render code cleanups 2009-08-19 05:54:53 +00:00
6412fe4b92 * Point density texture works again 2009-08-17 22:09:36 +00:00
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
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
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
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
a8872d99a9 * scons fixes for voxel data texture 2009-08-15 07:49:56 +00:00
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
3757bb4a4f Mistake in previous commit. 2009-08-12 17:41:03 +00:00
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
6c5c58e057 2.5: Sound branch merge!
See mailing list for additional information.
2009-08-09 21:16:39 +00:00
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