Commit Graph

833 Commits

Author SHA1 Message Date
e2ab16fae7 Bugfix #5481
After an ESC or render error, the render buffers in compositor were not
tagged to be released. Causing crashers.
2006-12-23 09:50:07 +00:00
080ecf33c1 Bugfix #5491
Ztransp Mask issue: now I did all this work to solve the exceptions, but
forgot the most simple case: regular alpha-over :)

This solves for example AA issues in ztransp-hair over solid faces.
2006-12-22 12:43:40 +00:00
e7d916b6e6 Bugfix #5489
Variable "osatex" was hanging in cases, giving weird noisy results
in cases (like when you use extreme high frequency image texture).
2006-12-22 08:30:19 +00:00
ac37a15675 "Save Buffers" fix: when you ESC from rendering, it now saves empty
tiles in the file, that read back fast as black. This also solves
crashes on partial written files, when trying to read them.
2006-12-21 19:37:53 +00:00
e61dec0767 Defocus Composite Node, by Alfredo de Greef
Log:
http://www.blender3d.org/cms/Composite__Defocus.836.0.html

An incredible quality composite effect, might be slow but worth waiting
for!
2006-12-21 18:11:07 +00:00
af60771eca Fix for threads usage. This solves the hanging 'render baking', cauused
by yesterdays commit.

Now a designater LOCK_IMAGE is used for all image write/read.
2006-12-21 15:44:46 +00:00
47bc3d1208 Added names to UV and vertex color layers, and display them as a list.
Added support for multiple UVs in the render engine. This also involved
changing the way faces are stored, to allow data to be added optionally
per 256 faces, same as the existing system for vertices.

A UV layer can be specified in the Map Input panel and the Geometry node
by name. Leaving this field blank will default to the active UV layer.

Also added sharing of face selection and hiding between UV layers, and at
the same time improved syncing with editmode selection and hiding.

Still to do:
- Multi UV support for fastshade.
- Multires and NMesh preservation of multiple UV sets.
2006-12-21 13:47:27 +00:00
b12927ecb8 MultiLayer images: added support for choosing compression type.
Without setting anything, it uses ZIP now as default, which gives the best
lossless compression and works nice fast.
2006-12-21 10:41:43 +00:00
5ffa4dd55a Warning fixes for previous Image commit, also fixed verse_image.c 2006-12-20 18:29:23 +00:00
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
80ee52e444 Multiple UV and vertex color layers: (still work in progress)
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.

Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers

Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
2006-12-12 21:29:09 +00:00
12c0fb9312 Bugfix: Object "restrict render" option was missing in vectorblur
Plumiferos request: Made individual duplicated group objects still check on
the restriction flag, *after* the group-duplicator itself was checked for.
So it works both. (Matt; was urgent feature, hope you're OK? These options
showed in outliner for groups anyway :).
2006-12-12 16:47:18 +00:00
4595bef2b4 Three-fixes-in-one:
#5417: Only Shadow material gave shadow outside of Spot bundle
#5414: Material Nodes: sockets without input were always treated as single
       value inputs, ignoring color or vector. (Caused by commit to do
       automatic conversions of socket links).
#5420: When reading with old Blender a new file that has a new window type,
       saving it over, and read back in current Blender, the window type
       should be reset to EMPTY, because all its data got lost.
2006-12-12 11:13:43 +00:00
b597093994 Bugfix #5406
If Material has "Shadow" off, it didn't skip AO correctly. Effect was it
showed AO colors from other materials on same scanline.
2006-12-11 19:20:10 +00:00
a919981d60 Bugfix #5401
Material Nodes still have undefined output to the passes. Currently only
the active Material node gives pass info. Bug was that check for active
was wrong, giving stripes because of hanging variables.
I'll work soon on providing all pass options in the Material nodes. This
fix at least correctly provides passes for active material, and clears
memory of pass info in advance.

Also: outliner view "current scene" did not show render layers.
ALso: outliner click on renderlayer now activates it (for UI)
Also: zbuffer for transparent was not initialized to 'infinity' correctly
2006-12-11 11:33:03 +00:00
089e87ccea Composite & Pass render goodies:
- New Passes: UV and Rad(iosity)
- New Nodes: UV Map and Index Mask
- Z-combine now is antialiased

As usual, please check the log. Has nice pics!
http://www.blender3d.org/cms/Composite__UV_Map__ID.830.0.html

For devs: the antialias code from Vector Blur is now exported in compo
too. Works pretty good. Even fixed a bug in antialias, so vectorblur
will be better.

Also: found out that OpenGL display list speedup accidentally was still
triggered with the rt button... so it did not work by default.
2006-12-10 20:30:15 +00:00
6451c2b156 Bugfix #5399
Irregular Shadow Buffer: doesn't support wire shadow, but also should not
crash then!
Note that ISB works with real face coverage, not zbuffering faces at all.
For wires to work in this method, we have to introduce a wire thickness,
but that will give endpoint condition troubles.
2006-12-10 13:20:57 +00:00
877688129a Bugfix #5383
Raytraced transparent: silly error in commit of dec 5, forgot one multiply
in the code, which made transparency look very much different.
2006-12-09 15:21:00 +00:00
2edcd75f9c Crash fix in adding lightgroups: previewrender.c sets ob->data to NULl for
a lamp it uses for preview... something I never thought of could get
rendered!
2006-12-08 22:00:44 +00:00
4cdf96ae19 Lightgroups!
Functionality was a bit limited still; now added the option to bind
a group of Lamps entirely to a Material, excluding them from any other
Material. Note that Lamp visibility layer options still work as for
Lamps usually.

In preview.blend: made a lightgroup for all lamps, and set them to be
the "RenderLayer override". That way it will ignore local material
lightgroups for previews.
2006-12-08 18:37:55 +00:00
c9686f9562 Only-shadow AO was inversed... and it didn't use the material ambient or
the AO strength factor.
2006-12-08 15:07:50 +00:00
45128f458d Another crasher: shadow in a ray-mirror crashed, unitialized vars again...
Gotta review how raytracing code uses memory once :)
2006-12-08 14:40:33 +00:00
9e634957e0 Two bugfixes:
#5387: transparent shadow crashed, caused by passes recode
irc report: buffer shadow for tangent shaders didn't work. (2.42 bug)
2006-12-08 11:51:31 +00:00
902a69a7d3 Numerous fixes in Render code:
- Bug: material emit was ignored (showed in preview render backdrop)
- Bug: world exposure was ignored
- Bug: lamp halo was ignoring 'render layer light override'.

Further reshuffled the way shadows are being pre-calculated, this to enable
more advanced (and faster) usage of Material lightgroups. Now shadows are
being cached in lamps, using a per-sample counter to check if a recalc is
needed. Will also work (later) for Raytracing node shaders.

- New: Material LightGroup option "Always", which always shades the lights
  in the group, independent of visibility layer. (so it allows to move such
  lights to hidden layer, not influencing anything).
2006-12-08 09:40:44 +00:00
fb261464b0 Bug, caused by render recode for passes: raytraced transparency didn't
clear osa vectors for UV, causing textures to not show correct when
traced.
2006-12-07 21:48:31 +00:00
aae544e9f4 Pass render errors (thanks to irc review, thanks ZanQdo!)
- Color for refraction was added wrong (was using 3 x r, instead of rgb)
- Refraction was added on top of specular in Combined, should not.
2006-12-07 17:54:15 +00:00
40c77590f9 Small plumiferos wishlist item.
Adds a button next to the threads button to disable texture processing
in a render.  If anyone doesn't like the button feel free to revert this
one, its pretty simple.

Kent
2006-12-07 16:48:15 +00:00
17231f83f3 Work on RenderLayer and Pass control:
Full log:
http://www.blender3d.org/cms/Render_Passes.829.0.html

In short:
- Passes now have option to be excluded from "Combined".
- RenderLayers allow to override Light (Lamp groups) or Material.
- RenderLayers and Passes are in Outliner now, (ab)using Matt's nice
  'restriction collumns'. :)
2006-12-07 14:17:38 +00:00
49f1375638 Another fix for pass recode: lamp shadow for lamps not in visible
render-layers or with option "only layer" was still calculated, giving
unnecessary slowdowns.
2006-12-06 15:48:40 +00:00
a720296999 Another 3-in-one commit:
- Unitialized variable in new shadow code caused Sun lamp shadow to not
  work.
- Ipo handle bug: when the handle was vertical it flipped around
- Loop select: unitialized variable caused it to work unpredictable in
  cases. Also found an unitialized var in collaps_edgeuvs().
2006-12-06 11:17:34 +00:00
54e946e839 Three fixes:
- Crash, caused by commit of 1 hour ago to fix 'All Z' render problem
- Bug: yesterday's fix for node material renders caused some issues with
  precalculating correct shadow.
- Composite Translate node: input sockets allowed multiple inputs
2006-12-06 09:56:20 +00:00
cf1cbbd979 Render error: option "All Z" for render layers crashed. I forgot it uses
face index -1 for it... :)
2006-12-06 08:10:13 +00:00
5e52bee5a7 Node shaders bug: using 'shadeless' material inside of node tree, a mode
flag messed up that tried to detect if shadow was needed.
2006-12-05 19:47:45 +00:00
084179bb39 Bugfix, irc report:
OSA 16 crashed. Wrong sizeof() for memset...
2006-12-05 18:58:58 +00:00
2c816da097 Two fixes:
- Shaded view was black, needed to tell it to use 'combined' pass :)
- Crash when deleting in compositor all nodes with an output.
2006-12-05 18:02:43 +00:00
4f8079d49c Modifier Stack: Limit calculation to required data.
This commit upgrades the modifier stack to only calculate the data which is
needed, either by modifiers further down the stack or by other functions at
the end of the stack (e.g. drawing functions).

This speeds up modifier stack recalculation, especially where vertex
groups and UV coordinates are concerned. For example, a mesh with an Armature
modifier followed by a Subsurf modifier would previously have required the
Subsurf modifier to interpolate all the vertex groups in the mesh, slowing
down modifier calculations considerably. With this update, vertex group data
is not propagated beyond the Armature modifier, so calculations are faster.

Note that this depends on the order of modifiers in the stack. If the Armature
and Subsurf modifiers were swapped in the above example, the Subsurf modifier
would have to interpolate vertex groups, as they are needed by the Armature
modifier.
2006-12-05 17:42:03 +00:00
869eeadeff Damn! Commit for render passes in wrong dir.... 2006-12-05 16:44:57 +00:00
3177c4f69f Next stage of RenderPipe refactor: now everything within the pixel was
tackled.

Resulting features:
- render passes
- new pass: Object Index, for masking
- sub-sample alpha masks

Docs:
http://mediawiki.blender.org/index.php/BlenderDev/RenderPipeline
http://www.blender3d.org/cms/Render_Passes.829.0.html
http://www.blender3d.org/cms/New_Render_features.774.0.html

Note that these changes might mean things to not render fully identical...
For the next days a lot of testing is needed!
2006-12-05 16:43:01 +00:00
b4b6dd2654 Simplified/fixed code for rendering with multires+modifiers, no more unfree memory warnings 2006-12-01 21:35:27 +00:00
20ac94e8f0 Two hours of fixing details based on Klocwork source review. Useful report,
although it has a lot of noise. Not to mention our bad string code gives
a load of warnings.

I've reviewed specifically:
- file reading/write
- dna and library code
- node system
- entire render module

Done a couple of files in src/ too, seemed to be nice errors.
2006-12-01 19:52:04 +00:00
5a3959e54b Thread support for commandline:
-t <threads>

It overrides the settings as saved in scenes. Only works for background
rendering, to force thread amounts to match the cpus in system.
For funny jokers: amount is clipped for MAXTHREADS :)
2006-11-29 19:31:45 +00:00
6543d3e220 Render Monster support: (part 1)
Removed all limitations from render code for maximum threads. The only
define for this now is in BLI_threads.h, and currently set to 8.
Note that each thread renders an entire tile, and also allocates the
buffers for the tiles, so; more threads might work better with smaller
tiles.

IMPORTANT: node system won't work yet with more than 2 threads! So, don't
try material nodes or compositing with over 2 threads. That I'll commit
later today.

What does work (should work :) is AO and soft shadow now.
2006-11-29 17:01:09 +00:00
401a42b698 Bake Render bug: check for which image to filter (bleed) used wrong
flag, picking wrong images (or even ones without buffer, so crashing).
2006-11-28 18:28:23 +00:00
c1258980a4 Render Baking upgrade:
- Now baking itself is threaded too (like for render, max 2 cpus. Moving
  this to 4 cpus is on todo. Goes twice as fast!

- fix: ESC from bake was broken...

- other fix: toolbox menus didn't treat sublevel string lengths OK,
  truncating items like for Group library names.
2006-11-28 10:16:24 +00:00
3ccfa7709e Bugfix #5311
AO with option "Use Distances" gave artefacts. This because the raytracer
was still returning on any hit, instead of find the closest hit.
2006-11-27 12:06:35 +00:00
e600fdb882 Bugfix #5292
Crash is irregular shadow buffer, due to using un-initialized memory
2006-11-24 15:11:29 +00:00
7cb76f4bf9 Render Baking candy: while baking, the UV Image window shows the progress
in rendered images, once per second. Also switches to other images.

This happens threaded, so might need a good test :)
2006-11-22 18:45:34 +00:00
967869fecd Bugfix #5277
Bake-render:
Quad faces still didn't get handled properly, error visible for vertex
color or UV textures.

Also: added error meny when a Bake cannot work because there are no Images
or no Images with buffers
2006-11-21 18:09:32 +00:00
20e6dc7f57 Bugfix, own collection:
Random seeding is still not perfect in render, especially lack of good
thread support still.

- VectorBlur node was calling seed for each exec, causing other nodes to
  get fixed random too.
- added seed in non-OSA main loop for render
- use BLI_srandom, is better than BLI_srand
2006-11-21 15:52:45 +00:00
e75a2773fa Bugfix #5265
3D window, preview panel, didn't give correct specular for Ortho.
The view-vector was flipped negative then, so more view-depending
code (like tracing) would go wrong then.
2006-11-21 12:41:07 +00:00