Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-04-212nd try to merge sim_physics with trunk rev 19825Daniel Genrich
Please check if volumetrics are yet working
2009-03-11* Patch by Raul F HernandezMatt Ebb
This adds a header to the voxel data texture's data file format, to auto-fill the resolution settings upon loading a file. I don't have a data file of the right format to test with, so I'll trust it works and wait for confirmation! It also adds a 'still frame' setting, to pause the voxel data sequence on a specified frame, throughout the course of the rendered animation.
2009-02-26* Fix for a small bug where multiple scattering wasn't being enabled properly.Matt Ebb
* Also a MSVC compile fix
2009-01-26Volume rendering: multiple scatteringMatt Ebb
This is mostly a contribution from Raul 'farsthary' Hernandez - an approximation for multiple scattering within volumes. Thanks, Raul! Where single scattering considers the path from the light to a point in the volume, and to the eye, multiple scattering approximates the interactions of light as it bounces around randomly within the volume, before eventually reaching the eye. It works as a diffusion process that effectively blurs the lighting information that's already stored within the light cache. A cloudy sky setup, with single scattering, and multiple scattering: http://mke3.net/blender/devel/rendering/volumetrics/vol_sky_ss_ms.jpg http://mke3.net/blender/devel/rendering/volumetrics/sky_ms.blend To enable it, there is a menu in the volume panel (which needs a bit of cleanup, for later), that lets you choose between self-shading methods: * None: No attenuation of the light source by the volume - light passes straight through at full strength * Single Scattering: (same as previously, with 'self-shading' enabled) * Multiple Scattering: Uses multiple scattering only for shading information * Single + Multiple: Adds the multiple scattering lighting on top of the existing single scattered light - this can be useful to tweak the strength of the effect, while still retaining details in the lighting. An example of how the different scattering methods affect the visual result: http://mke3.net/blender/devel/rendering/volumetrics/ss_ms_comparison.jpg http://mke3.net/blender/devel/rendering/volumetrics/ss_ms_comparison.blend The multiple scattering methods introduce 3 new controls when enabled: * Blur: A factor blending between fully diffuse/blurred lighting, and sharper * Spread: The range that the diffuse blurred lighting spreads over - similar to a blur width. The higher the spread, the slower the processing time. * Intensity: A multiplier for the multiple scattering light brightness Here's the effect of multiple scattering on a tight beam (similar to a laser). The effect of the 'spread' value is pretty clear here: http://mke3.net/blender/devel/rendering/volumetrics/ms_spread_laser.jpg Unlike the rest of the system so far, this part of the volume rendering engine isn't physically based, and currently it's not unusual to get non-physical results (i.e. much more light being scattered out then goes in via lamps or emit). To counter this, you can use the intensity slider to tweak the brightness - on the todo, perhaps there is a more automatic method we can work on for this later on. I'd also like to check on speeding this up further with threading too.
2008-12-31Volume renderingMatt Ebb
* Fixed an old problem where if both the camera and a solid surface were inside a volume, the volume wouldn't attenuate in front of the surface (was visible in the blender conference art festival clouds animation: http://mke3.net/blender/devel/rendering/volumetrics/vol_shade_cam_inside.mov * Initial support for refracting solids inside volumes. I might be able to make this work better, but not sure at the moment. It's a bit dodgy, limited by the code that does the recursive ray shading - it's really not set up for this kind of thing and could use a refactor very much.
2008-12-22Volume rendering:Matt Ebb
* Multithreaded volume light cache While the render process itself is multithreaded, the light cache pre-process previously wasn't (painfully noticed this the other week rendering on some borrowed octocore nodes!). This commit adds threading, similar to the tiled render - it divides the light cache's voxel grid into 3d parts and renders them with the available threads. This makes the most significant difference on shots where the light cache pre- process is the bottleneck, so shots with either several lights, or a high res light cache, or both. On this file (3 lights, light cache res 120), on my Core 2 Duo it now renders in 27 seconds compared to 49 previously. http://mke3.net/blender/devel/rendering/volumetrics/threaded_cache.jpg
2008-12-13and the new voxel data files..Matt Ebb
2008-12-13* Volume Rendering: Voxel dataMatt Ebb
This commit introduces a new texture ('Voxel Data'), used to load up saved voxel data sets for rendering, contributed by Raúl 'farsthary' Fernández Hernández with some additional tweaks. Thanks, Raúl! The texture works similar to the existing point density texture, currently it only provides intensity information, which can then be mapped (for example) to density in a volume material. This is an early version, intended to read the voxel format saved by Raúl's command line simulators, in future revisions there's potential for making a more full-featured 'Blender voxel file format', and also for supporting other formats too. Note: Due to some subtleties in Raúl's existing released simulators, in order to load them correctly the voxel data texture, you'll need to raise the 'resolution' value by 2. So if you baked out the simulation at resolution 50, enter 52 for the resolution in the texture panel. This can possibly be fixed in the simulator later on. Right now, the way the texture is mapped is just in the space 0,0,0 <-> 1,1,1 and it can appear rotated 90 degrees incorrectly. This will be tackled, for now, probably the easiest way to map it is with and empty, using Map Input -> Object. Smoke test: http://www.vimeo.com/2449270 One more note, trilinear interpolation seems a bit slow at the moment, we'll look into this. For curiosity, while testing/debugging this, I made a script that exports a mesh to voxel data. Here's a test of grogan (www.kajimba.com) converted to voxels, rendered as a volume: http://www.vimeo.com/2512028 The script is available here: http://mke3.net/projects/bpython/export_object_voxeldata.py * Another smaller thing, brought back early ray termination (was disabled previously for debugging) and made it user configurable. It now appears as a new value in the volume material: 'Depth Cutoff'. For some background info on what this does, check: http://farsthary.wordpress.com/2008/12/11/cutting-down-render-times/ * Also some disabled work-in-progess code for light cache
2008-11-19svn merge -r 17201:17502 ↵Daniel Genrich
https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-11-15cleaned some code and split volume precaching into a new fileMatt Ebb
2008-11-12Patch #7897 Texture Nodes!Ton Roosendaal
Robin (Frrr) Allen did a decent job on this, so we can also welcome him as a member in the svn committers team to maintain it! I do the first commit with some minor fixes: - get Makefiles work - fix rounding issue with tiles on unit faces - removed UI includes from tex node A nice doc in wiki is here: http://wiki.blender.org/index.php/User:Frr/TexnodeManual On the todo for Robin is: - When using one or more Texture-input nodes, you cannot edit them by activating (as works now for Material nodes). - The new "output node" option fails on the default case, when only one output node is active. It then shows often a blank menu. Will get fixed asap. - When using a NodeTree-Texture as input node, the menu for 'active output' should not show. NodeTree should ignore other nodetrees to keep things sane for now. - On a future todo is proper usage of "Dxt" and "Dyt" texture vectors for superior antialising of checkers/bricks. General note; I know people are dying to get a full integrated shader system with nodes. In theory we could merge this with Material Nodetrees... but I rather wait for a solid and very well thought out design proposal for this, also including design ideas for unifying with a shader language (GPU, CPU). For the time being this is a nice extension of current textures. :)
2008-10-27svn merge -r 17042:17201 ↵Daniel Genrich
https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-10-17non-working WIP commit to continue coding at home.Matt Ebb
nothing to see here, move along!
2008-10-14Bugfix #17830Ton Roosendaal
Index OB pass didn't support FSA for Ztransp. Also made buttons to set black/white for non-RGBA images hide in Image Window, the Curves color code only supports 4 channels atm.
2008-10-13* Raytraced shadow casting for volumesMatt Ebb
This is a first version and still has a couple of things undefined or unimplemented, such as external objects casting shadows on or within volumes, however volume->solid shadows are going ok. http://mke3.net/blender/devel/rendering/volumetrics/shadows_test_02.mov http://mke3.net/blender/devel/rendering/volumetrics/vol_test_shad3.blend As with other transparent raytraced shadows in Blender ,in order to make it work, you must enable 'TraShad' on the material *receiving* the shadow. It would be nice to make this a bit easier to use, since there's not much chance you want a volume material to be casting solid shadows, but that's a bigger issue in the renderer outside this scope. The volume shadows are working from the same physical basis of absorption, and support coloured absorption: http://mke3.net/blender/devel/rendering/volumetrics/vol_shad_absorption.png They also work properly with multi-sampled (i.e. QMC) soft shadows: http://mke3.net/blender/devel/rendering/volumetrics/vol_shad_sharp.png http://mke3.net/blender/devel/rendering/volumetrics/vol_shad_soft.png And by popular request the test file: http://mke3.net/blender/devel/rendering/volumetrics/vol_test_shad_clouds.blend
2008-10-12- Fix for bug #17825: baking SSS is not supported, but it didn't giveBrecht Van Lommel
proper results, should bake as if SSS was disabled. - Fix for GLSL to handle failing shadow buffer creation better. - Fix for sky/atmosphere version patch, was not doing files from 2.46 and newer.
2008-10-12svn merge -r 16866:17042 ↵Daniel Genrich
https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-10-07Fix for bug #13363: ray (qmc) shadows had some light leaking issues,Brecht Van Lommel
due to jittering of the start position for antialiasing in a pixel. Now it distributes the start position over the fixed osa sample positions, instead of of random positions in space. The ugly bit is that a custom ordering was defined for osa 8/11/16 to ensure that the first 4 are distributed relatively fair for adaptive sampling to decide if more samples need to be taken.
2008-10-01svn merge -r 16741:16866 ↵Daniel Genrich
https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-09-29Bugfix #17711Ton Roosendaal
SunSky didn't include skycolor in raytrace. Note: there seems to be an error in sunsky when looking straight down, so this option requires raytracing stuff not in outer space. :)
2008-09-29Updated color calculus for sunskyTon Roosendaal
- removed ugly clamping function (it was dividing XYZ based on max of one of the values) - added option to use Exposure, this only works for brightness (Y). results look very pleasant, foggy and hazy results are possible. with exposre==0, no exposure happens for HDR extreme range skies, this is how yafray rendered it. - added menu for choosing color spaces (CIE = modern lcds) Please review! (and yes i know it's still not in World :)
2008-09-28* VolumetricsMatt Ebb
Removed all the old particle rendering code and options I had in there before, in order to make way for... A new procedural texture: 'Point Density' Point Density is a 3d texture that find the density of a group of 'points' in space and returns that in the texture as an intensity value. Right now, its at an early stage and it's only enabled for particles, but it would be cool to extend it later for things like object vertices, or point cache files from disk - i.e. to import point cloud data into Blender for rendering volumetrically. Currently there are just options for an Object and its particle system number, this is the particle system that will get cached before rendering, and then used for the texture's density estimation. It works totally consistent with as any other procedural texture, so previously where I've mapped a clouds texture to volume density to make some of those test renders, now I just map a point density texture to volume density. Here's a version of the same particle smoke test file from before, updated to use the point density texture instead: http://mke3.net/blender/devel/rendering/volumetrics/smoke_test02.blend There are a few cool things about implementing this as a texture: - The one texture (and cache) can be instanced across many different materials: http://mke3.net/blender/devel/rendering/volumetrics/pointdensity_instanced.png This means you can calculate and bake one particle system, but render it multiple times across the scene, with different material settings, at no extra memory cost. Right now, the particles are cached in world space, so you have to map it globally, and if you want it offset, you have to do it in the material (as in the file above). I plan to add an option to bake in local space, so you can just map the texture to local and it just works. - It also works for solid surfaces too, it just gets the density at that particular point on the surface, eg: http://mke3.net/blender/devel/rendering/volumetrics/pointdensity_solid.mov - You can map it to whatever you want, not only density but the various emissions and colours as well. I'd like to investigate using the other outputs in the texture too (like the RGB or normal outputs), perhaps with options to colour by particle age, generating normals for making particle 'dents' in a surface, whatever!
2008-09-26Wheee!Matt Ebb
Initial commit for supporting rendering particles directly as volume density. It works by looking up how many particles are within a specified radius of the currently shaded point and using that to calculate density (which is used just as any other measure of density would be). http://mke3.net/blender/devel/rendering/volumetrics/smoke_test01.mov http://mke3.net/blender/devel/rendering/volumetrics/smoke_test01.blend Right now it's an early implementation, just to see that it can work - it may end up changing quite a bit. Currently, it's just a single switch on the volume material - it looks up all particles in the scene for density at the current shaded point in world space (so the volume region must enclose the particles in order to render them. This will probably change - one idea I have is to make the particle density estimation a procedural texture with options for: * the object and particle system to use * the origin of the co-ordinate system, i.e. object center, world space, etc. This would allow you in a sense, to instance particle systems for render - you only need to bake one particle system, but you can render it anywhere. Anyway, plenty of work to do here, firstly on getting a nice density evaluation with falloff etc...
2008-09-24Volumetrics:Matt Ebb
* Now it's possible to render with the camera inside a volume. I'm not sure how this goes with overlapping volumes yet, will look at it. But it allows nice things like this :) http://mke3.net/blender/devel/rendering/volumetrics/clouds_sky.mov * Sped up shading significantly by not doing any shading if the density of the current sample is less than 0.01 (there's nothing to shade there anyway!) Speeds up around 200% on that clouds scene. * Fixed a bug in global texture coordinates for volume textures
2008-09-24* Volumetrics scene integrationMatt Ebb
Now other objects (and sky) correctly render if they're partially inside or behind a volume. Previously all other objects were ignored, and volumes just rendered on black. The colour of surfaces inside or behind the volume gets correctly attenuated by the density of the volume in between - i.e. thicker volumes will block the light coming from behind. However, other solid objects don't receive volume shadows yet, this is to be worked on later. http://mke3.net/blender/devel/rendering/volumetrics/vol_inside_behind.png Currently this uses raytracing to find intersections within the volume, and rays are also traced from the volume, heading behind into the scene, to see what's behind it (similar effect to ray transp with IOR 1). Because of this, objects inside or behind the volume will not be antialiased. Perhaps I can come up with a solution for this, but until then, for antialiasing, you can turn on Full OSA (warning, this will incur a slowdown). Of course you can always avoid this by rendering volumes on a separate renderlayer, and compositing in post, too. Another idea I've started thinking about is to calculate an alpha value, then use ztransp to overlay on top of other objects. This won't accurately attenuate and absorb light coming from objects behind the volume, but for some situations it may be fine, and faster too.
2008-09-23* Refactored the volume texture code. Seems to go ok so far, stress Matt Ebb
tests and all my old files render fine, but anyone feel free to let me know if you find a bug in this :) Should be a bit faster too, this file renders in about 60% of the time it did before (http://mke3.net/blender/devel/rendering/volumetrics/vol_col_emit.mov)
2008-09-23* Volume colour absorptionMatt Ebb
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-22svn merge -r 16592:16667 ↵Daniel Genrich
https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-09-22* Volume renderingMatt Ebb
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-21Sunsky / Atmoshphere:Ton Roosendaal
- 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-20Fix for gcc compiler warning about a call to do_lamp_tex() resulting in ↵Joshua Leung
"overflow in implicit constant conversion"
2008-09-19Patch #13422, By Roland Hess, Shadow ColorTon Roosendaal
Finally, after a long time new render candy for the non-game peoples! :) Good doc is here: (url splits in two) http://www.harkyman.com/2008/08/06/controllable-shadow-intensity- and-color/ Note the colorpicker for shadow is in "Shadow and Spot" panel. A bit hidden, could get more attention. For later. :)
2008-09-05Merge of first part of changes from the apricot branch, especiallyBrecht Van Lommel
the features that are needed to run the game. Compile tested with scons, make, but not cmake, that seems to have an issue not related to these changes. The changes include: * GLSL support in the viewport and game engine, enable in the game menu in textured draw mode. * Synced and merged part of the duplicated blender and gameengine/ gameplayer drawing code. * Further refactoring of game engine drawing code, especially mesh storage changed a lot. * Optimizations in game engine armatures to avoid recomputations. * A python function to get the framerate estimate in game. * An option take object color into account in materials. * An option to restrict shadow casters to a lamp's layers. * Increase from 10 to 18 texture slots for materials, lamps, word. An extra texture slot shows up once the last slot is used. * Memory limit for undo, not enabled by default yet because it needs the .B.blend to be changed. * Multiple undo for image painting. * An offset for dupligroups, so not all objects in a group have to be at the origin.
2008-08-17Win64: please check my changes if you ran across them ;) But should be fine ↵Daniel Genrich
since no additional crashes were reported!
2008-07-03Sun,Sky and atmosphere for lamps(sun type), PATCH#8063 ↵Hamed Zaghaghi
http://projects.blender.org/tracker/?func=detail&atid=127&aid=8063&group_id=9
2008-06-05Apricot feature, thats fit for trunk.Campbell Barton
Baking would split non-planer quads in an unpredictable way, which is fine for rending but game engines often use a fixed order (0,1,2), (0,2,3) or (1,2,3) (1,3,0). Added an option to use a fixed order when baking.
2008-05-15Fix for bug #11650: removing uv layers in editmode did not work correct.Brecht Van Lommel
Fix for bug #11661: bake to viewport uv layer instead of render uv layer.
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-04-14Patch #8034: "soft" option for halos, which avoids ugly intersectionsBrecht Van Lommel
with geometry, and makes halos look more volumetric. Patch contributed by Markus Ilmola, thanks!
2008-04-14Attempted fix for bug #8349: QMC raytracing being very slow on someBrecht Van Lommel
computers, probably due to slow multithreaded malloc. Now each render thread keeps a list of qmc samplers that it fills as needed while rendering (since it is hard to predict the actual amount needed in advance due to ray recursion).
2008-03-14Fix for bug #8555: geometry node front/bake was broken.Brecht Van Lommel
Fix for bug #7418: texture ipo's didn't show for textures in node materials. Fix for part of bug #6758: node materials in other node materials could miss texture coordinates.
2008-03-14Bugfix: baking selected to active did not include materials withBrecht Van Lommel
Traceable disabled.
2008-03-12Baking now does material texture anti-aliasing if the OSA button isBrecht Van Lommel
enabled, result of that is mainly visible for image textures.
2008-03-11Bugfix: render instancing didn't work correct with layer ipo's,Brecht Van Lommel
each instance should have it's own layer.
2008-03-07Normal map tangents are now not always averaged at vertices anymore,Brecht Van Lommel
but only when the UV's are connected. That fixes some artifacts when baking and using tangent space normal maps. It does mean increased memory usage because it now stores 4 tangents per face like UV's, and increased processing time, but there's no simple way around that.
2008-03-04Bugfix: the shadow samplenr increment to reuse shadow results inBrecht Van Lommel
the renderer could lead to results being reused for unrelated points, result was one wrong pixel or strand per part. Now instead of setting the sample counter to 0 multiple times, it keeps a global counter per thread for the whole render.
2008-02-22Bugfix: objects in groups with texture mapping Object now get textureBrecht Van Lommel
coordinates from the object as if they were in their original position, untransformed by dupligroups or dupliverts. Otherwise the textures of such objects would change depending on their position.
2008-02-20Negative zmask rendering: now there is a setting to render everythingBrecht Van Lommel
behind the zmask instead of in front. Might need tweaks, and doesn't work with halo yet.
2008-02-15Bugfix for unnecessary missing object warnings for speed vectors,Brecht Van Lommel
caused by optimization that doesn't compute vectors for objects that don't need them.
2008-02-13Render SimplificationBrecht Van Lommel
This adds a few settings to control global render quality, for faster renders when tweaking lighting etc. The implementation is not so great, and this should really be part of a proper render profile and preset system. So for now it's a hidden Peach feature, enabled by setting rt to 1. Before the next release, I'll either remove or improve it. Settings are: - Maximum subsurf level - Child particles percentage - Maximum shadow map samples - AO and SSS quality factor