Commit Graph

3559 Commits

Author SHA1 Message Date
f7708a2692 bugfix #5545
Bake Render now works for dupli-verted lamps.
Note, shift+z shaded view too!
2007-01-10 21:09:42 +00:00
f236541161 Bugfix #5764
Added a check and warning in renderpipe init for 'renderer' type. Unknown
render engines (like from experimental builds) can crash.
2007-01-10 11:07:25 +00:00
2e66b143f3 - Added panel for Bake render (tabbed now in 'anim' panel).
(Empty space will get OSA options, that I add tomorrow or so)

- Removed a lot of old unused variables in renderdata. Also meant I had
  to remove this from python API... please check if this gives valid
  scripts?

- Cleaned up bad formatted code for FFMPG buttons (spaces instead of tabs)
2007-01-09 11:10:12 +00:00
fb17663988 Bugfix #5548
New option to use "Tangent Space normalmap" normals now works for node
materials.
2007-01-08 20:53:43 +00:00
ad9b1c58f5 Bugfix #5611
Lamp halo render with option "Layer" crashed.
2007-01-06 11:13:07 +00:00
6f6051d455 Preview render in 3D window used wrong clipping... 2006-12-28 11:14:08 +00:00
d24597c8a3 Fix for bug #5523:
A crash on rendering with multiple UV layers, layer names weren't always
getting copied correct.
2006-12-27 10:20:29 +00:00
bef18061ec Select Grouped editdata- minor fix in the menu.
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's

renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
2006-12-23 17:07:02 +00:00
2933f6b9e6 Bugfix #5444
Additions in passrendering broke Baking a bit; what did not work was having
a full render + AO. Was missing a new flag initialize...
2006-12-23 12:58:25 +00:00
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
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
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