Commit Graph

1123 Commits

Author SHA1 Message Date
cd0262b635 Small render engine optimization: don't create objects in prev/next
frames if they are not part of a renderlayer that has a vector pass.
2008-02-07 16:29:08 +00:00
44bd390cc6 FSA: tweaked merging samples with filter to correctly map edges of the
images. Found method that doesn't require image to be rendered larger.

Note: assembling pre-rendered parts that are result of FSA renders might 
still give minor visible artefacts on edges; however, we should include 
such render methods in the render pipeline, so multiple computers can
each render parts, save all samples, and have 1 computer assembling and
compositing all. This is for another project... :)
2008-02-07 12:14:58 +00:00
f9593a4f89 * fix: "only shadow" lamps still lit materials with "shadow" turned off. Now, they have no effect. 2008-02-07 06:00:08 +00:00
03402b8419 - Removed the Save Buffers/FSA restriction that the width and height
must be divisible by the number of parts.
- OpenEXR code also has some changes to allow writing mipmapped images,
  but that is unused at the moment.
2008-02-06 13:45:07 +00:00
4d58ff50cf Fix for bug in strand shading, could give errors on border of parts. 2008-02-05 19:49:42 +00:00
33a23853e1 fix for bug [#8065] Crash when baking.
http://projects.blender.org/tracker/index.php?func=detail&aid=8065&group_id=9&atid=125

Lamp ray_samp_method could be an invalid value while rendering because a check was only done in the user interface.
2008-02-03 20:57:52 +00:00
1879af7d5c - Small approximate AO optimization for falloff, saves some percentages
render time.
2008-02-01 12:18:45 +00:00
baf7be9e46 Memory usage debugging: now with the -d debug option enabled, at the end
of rendering it prints memory usage for images and all memory blocks.
2008-02-01 12:14:15 +00:00
16ae726f8c More logging prints while preparing scenes in background render.
Uses a timer, so nothing gets printed more than once a second.
2008-01-31 18:03:46 +00:00
30b0e926a2 - Bugfix in non-osa pass adding, for example AO got too high values.
Now made it work more like the osa case, easier to verify it works
  correct then.
2008-01-31 16:32:15 +00:00
90f8fb733b Fix: render could crash when you enable 'do composite' without having
nodes in scene.

Feature: SHIFT+R in compositor reloads all full sample buffers, composites
and merges with filter. (ALso in Node menu).
2008-01-31 15:35:24 +00:00
e2ee9b57d3 Stupid error in commit of last weekend for zmasking:
You could not mask out anymore using the 'ctrl-click layer' without
having zmask on.
2008-01-31 14:14:03 +00:00
70c413d4ad Fixes in reading back rendered temp files ("Save buffers" and "FSA" options).
Press Rkey in compositor for reading back render results and invoke a compo.
This now correctly reads AO (skipped it sometimes) and it makes a correct
composite.

FSA todo:
- hotkey + button for reading all samples back + composite
- solve black border around image
2008-01-30 21:14:36 +00:00
b9309909fb Bugfix for recent commit in strands, accidentally included code that
wasn't working yet, this should fix it.
2008-01-30 14:25:36 +00:00
2227c32b7f Two small fixes for FSA render:
- better warning for exr tiles not being equally sized (compositor scenes)
- better check for which exr temp files should be read during merging
2008-01-30 14:10:37 +00:00
e67422e863 Fix for bug #8191: FSA + SSS didn't work. 2008-01-30 13:44:25 +00:00
33656dfa83 - Bugfix for ztransp not being filled into the z-pass after FSA changes.
- Bugfix for speedvectors being not properly set for some strands.
2008-01-30 13:35:28 +00:00
8e94028ed5 Bounding box clipping in the render engine.
Now bounding boxes are computed per object, and checked first before
zbuffering objects. For strands, bounding boxes are computed per
original face in the mesh. Overall the speed improvement from this 
is quite small (zbuffering is rarely the bottleneck), but it seems a
sensible thing to do anyway.
2008-01-29 12:20:42 +00:00
c68f48d964 - Fix for adding rendering passes. It seems the result was multiplied
by alpha twice, which gave dark edges on an grass AO pass for example.
2008-01-28 22:43:16 +00:00
db9f702db9 - Fix for approximate AO pixel cache crash.
- Fix in FSA pass sample adding (more fixes to come).
2008-01-28 22:34:14 +00:00
f25d2dbb41 Strands now mix together correctly with ZTransp.
They now also store a list of samples per pixel, and then get
shaded together with the ztransp samples. This comes with a
slight speed hit, but mainly memory might be a concern. However,
testing some peach scenes I haven't problems.
2008-01-28 16:54:52 +00:00
703f248ab4 New rendering option: FSA!
This completes the pipeline make-over, as started in 2006. With this
option, during rendering, each sample for every layer and pass is being
saved on disk (looks like non-antialiased images). Then the composite 
and color correction happens, then a clip to 0-1 range, and only in end 
all samples get combined - using sampling filters such as gauss/mitch/catmul.

This results in artefact-free antialiased images. Even Z-combine or
ID masks now work perfect for it! 

This is an unfinished commit btw; Brecht will finish this for strands.
Also Halo doesnt work yet.

To activate FSA: press "Save Buffers" and the new button next to it. :)
2008-01-28 16:33:59 +00:00
f1ed7337bb render touch didnt work when the directory wasnt there. 2008-01-26 17:05:38 +00:00
dbefdd34ca Improvements in Zmask feature of yesterday:
- zmask now allows to have solid faces included too
- ctrl+click on render-layer layers (whats in a name!) now works better

Here's the revised and extended doc:

http://www.blender.org/development/current-projects/changes-since-244/rendering-features/

It's a difficult to explain feature... but important for a good compo pipeline
here. Being tested still!
2008-01-26 10:58:31 +00:00
019817d95c New feature: Zmask rendering
It's quite a complex feature for simple log, so here's the log as
it should be, with images:

http://www.blender.org/development/current-projects/changes-since-244/rendering-features/
2008-01-25 15:31:43 +00:00
9c02ca37d6 Fixes for SSS with render layers. Now in the preprocessing pass
it uses flags from all render layers added together, not fully
correct yet, but it's not so easy to separate passes cleanly with
SSS.
2008-01-24 15:41:21 +00:00
5219b56e92 Phase one of better masking support while rendering.
Problem: artist wants character to walk in grass, but still have all rendered
in seperate render-layers, for postpro effects and vblur. How to efficiently
create a mask image you can put *over* the character for the grass?

Solution has two parts; this commits allows any layer inside of the renderlayers
to become a Z-mask (Z values for solid gets filled in, but not rendered).

Second part of commit is render option "Only render stuff that's in front of
a zbuffer value that was filled in (saves render time)
2008-01-24 15:03:34 +00:00
02145966a8 Fix for strand render + simplification + vector blur. With the number
of strands changing between frames, vector blur couldn't work. Now
speed vectors are interpolated from the surface. This also means
child particles don't have to be computed in the previous and next
frames, so saves time too.
2008-01-24 13:11:15 +00:00
4a913e0010 Bugfix to filter strands with solid correctly. 2008-01-23 20:54:44 +00:00
3e81d4723c Bugfix for strand pass adding with non-box filter, same bug as
existed in ztransp.
2008-01-23 14:30:55 +00:00
52404cd114 Minor render memory usage optimization, removed layer and
radface from VlakRen, saves about 100mb for 10 million faces.
2008-01-23 13:35:51 +00:00
d4ae72c7c9 Bugfix in render instancing for missing leaves. 2008-01-23 11:51:18 +00:00
b2f3c6ffe2 fix for bug where that caused vector blur to crash but could also cause problems elsewhere. 2008-01-22 22:01:49 +00:00
ff714ce654 Bugfix for approximate AO to deal better with degenerate geometry. 2008-01-22 14:01:50 +00:00
82b0ee69e5 Bugfix for another issue with last render instancing commit,
objects could get created multiple times.
2008-01-22 12:10:59 +00:00
ec04c09365 Fix for error in approximate AO in last commit, made it really slow.
Also, duplis are now taking into account, the proper way to exclude
them is to set the material to be not traceable.

Removed an unnecessary pointer from the VlakRen struct to save some
memory, not really that significant, but still, saves 70 mb for 10
million faces.
2008-01-21 23:17:19 +00:00
643e29c736 added function BLI_filepathsize - so you dont have to open the file to get its size.
made render Touch function remove the touched file if the animation is canceled.
2008-01-21 22:10:20 +00:00
9dd1bcfdfb Render instancing can now also handle the same object in multiple,
non-animated dupligroups.
2008-01-21 22:10:14 +00:00
1357f1b09f Vector Blur now has option to be curved!
Especially for fast moving objects (as we have here in Peach) the
art department demanded nice curved vector blur. This formula uses
a quadratic bezier function, which is not giving perfect circles, but
certainly useful results.

Also on todo: get this blur code to do nicer accumulation...
2008-01-21 18:08:57 +00:00
14241f8349 Fixes:
- Particle system distribution wasn't flushed properly for non-edited hair.
- For instances in the renderer, also count their verts and faces in the stats.
- Fix for error in the "surface diffuse" formula for strand shading.
2008-01-21 14:18:24 +00:00
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
f417989871 Made it so locked strips inside metastrips are transformed.
Removed FTYPE from render output panel - was some old format that did index colors, and wasn't even used anywhere.

Added 2 options to the render output panel that can be used for a really basic local renderfarm (even artists can use it!),
"NoOverwrite" and "Touch"
When both are enabled, rendering 1 scene between many pc's on a fast network will populate the directory with frames.
Also useful to delete frames that have errors and re-render (without manually re-rendering each frame)
2008-01-20 17:53:58 +00:00
518d3b2c36 Two fixes for yesterday commit, new Mist pass:
- non OSA case didn't work
- ztransp adding was accidentally using an incorrect alpha value

NOTE: allmost all pass types rendered in OSA with a filter (not box!) were
incorrectly added on solid layers. Like diffuse, AO, etc.
2008-01-20 14:50:30 +00:00
231840a99f Bugfix for crash in approximate AO pixel cache. 2008-01-19 19:33:32 +00:00
c8841a7f2f Added new render pass: "Mist".
This is actually just the alpha value as currently being calculated
by the mist code. It is in many cases not very useful to have this as
alpha in shading result, also for postprocess and composite.

Note: this pass also works with "Mist" not set in World, of course.
2008-01-19 11:17:12 +00:00
afc53a1eba Bugfix: particle settings didn't automatically link in associated
objects or groups.
2008-01-18 14:30:26 +00:00
8cdfe865ec Approximate Ambient Occlusion
=============================

A new approximate ambient occlusion method has been added, next to the
existing one based on raytracing. This method is specifically targetted
at use in animations, since it is inherently noise free, and so will
not flicker across frames.

http://www.blender.org/development/current-projects/changes-since-244/approximate-ambient-occlusion/
http://peach.blender.org/index.php/approximate-ambient-occlusion/

Further improvements are still needed, but it can be tested already. There
are still a number of known issues:

- Bias errors on backfaces.
- For performance, instanced object do not occlude currently.
- Sky textures don't work well, the derivatives for texture evaluation
  are not correct.
- Multiple passes do not work entirely correct (they are not accurate
  to begin with, but could be better).
2008-01-17 19:27:16 +00:00
9af3b8a07e Render control feature: shader-level shadowbuffer bias
Lampbuffers require painful bias tweaking (to prevent aliasing or to
get shadow detail). Sometimes you want this different per object, like
for gras you want less shadow detail, but for the ground you want high
detail. This feature allows to tweak it.

The new "LBias" slider is in shader panel, bottom. Ugly! But, thats for
later...
2008-01-17 19:01:58 +00:00
16a37bcd31 Bugfix for "ghost feathers" trailing one frame behind the character.
The derivedmesh and particle system needed to be evaluated at render
level before creating dupliparticles.
2008-01-17 12:02:15 +00:00
243f4530ef Bugfix for emitter with dupli particles not drawing in group. 2008-01-17 11:07:45 +00:00