Commit Graph

655 Commits

Author SHA1 Message Date
7c7a931fed made auto threads default (noob's get faster renders in their dual core CPU's)
changed env variable check order $TMP, $TMPDIR - aparently $TMP is more common.
2008-02-21 08:43:13 +00:00
4c0b33ef80 Python Bugfix
A new file could have its Blender.Get("filename") return "<memory>" after undo'ing on an open file.
Fix for own error with python sys.path, messed up game engine.
2008-02-20 18:56:07 +00:00
82d769c79f automatic threads, next to the Threads button, so you can set threads to use whatever the system has, useful in the studio with 2,4,8 core systems when sharing files. 2008-02-19 22:23:21 +00:00
988ffbc704 Bugfix for speed vector pass not being done when rendering a single
layer from the compositor. I've solved this by changing the behavior,
now it always renders a vector pass even if Do Composite is disabled.
I think that's more consistent because other passes get rendered too
regardless of Do Composite, the vector pass was just an exception.
2008-02-18 13:38:16 +00:00
1dc7f17493 Bugfix:
In compositor, not always all scenes rendered... this was why:
When disabling 'save buffers', but keeping the 'full sample' option, the
*other* scenes in a composite didn't render.
2008-02-15 13:49:10 +00:00
bc9848f7e6 Added a global string to be used for the tempdir. since the user preference is not loaded in background mode and the user preference is not validated and has no fallback.
'btempdir' is set with BLI_where_is_temp() - This tries to use U.tempdir but falls back to $TEMP or /tmp/
2008-02-13 13:55:22 +00:00
c5c53b0f2d Bugfix: FSA enabled in compositing scene but disabled in other
scenes could crash, there was code to make sure osa level is
the same in all scenes, but that was set too late, after sample
tables are created.

Fix for some unitinialized vector warnings with FSA, these were
harmless, unfortunately.
2008-02-11 11:00:09 +00:00
611e6e79e2 Potential bugfix for an exr tile writing crash. SSS preprocessing now
doesn't write tiles to disk anymore (there is no reason to do so).
2008-02-08 22:09:47 +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
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
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
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
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
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
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
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
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
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
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
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
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
Ken Hughes
b8ca87a0ba Rendering
--------
Bugfix #4863: AVI jpg would crash on really small images (less than 16x16).
Change it to pop up an error dialog and abort.
2007-12-19 18:17:56 +00:00
25a434fd25 Threaded Shadowbuffers Creation
===============================

- One shadowbuffer per thread.
- Added more break tests in shadow buffer code.
- Removed R.clipcrop global, solution is not nice yet, but at
  least threadsafe.
- Fixed bug in strand render shadow buffer code.
2007-12-17 21:04:22 +00:00
32a8b4f8e6 Particles
=========

- Fix crash in particle transform with the particle system not editable.
- Particle child distribution and caching is now multithreaded.
- Child particles now have a separate Render Amount next to the existing
  Amount. The render amount particles are now only distributed and cached
  at render time, which should make editing with child particles faster.

- Two new options for diffuse strand shading:
	- Surface Diffuse: computes the strand normal taking the normal at
	  the surface into account.
	- Blending Distance: the distance in Blender units over which to
	  blend in the normal at the surface.
- Special strand rendering for more memory efficient and faster hair and
  grass. This is a work in progress, and has a number of known issues,
  don't report bugs to me for this feature yet.

More info:
http://www.blender.org/development/current-projects/changes-since-244/particles/
2007-12-04 13:57:28 +00:00
8a3f926938 Stampinfo: added correct redraw after adding stamp.
The issue: while renderprogress is in use, the rr->renlay has to be set
2007-10-29 13:11:42 +00:00
7718b3d642 render stamp drawing is now done everywhere - (not just when saving
images)
separated stamp metadata and stamp draw functions.
2007-10-28 22:27:07 +00:00
3c99fb6389 Bugfix #6918
- Multilayer EXR files:
  Rendering without "do composite" skipped to render the vector pass

- Also found a wrong loop, missing to clear speed vectors in the first 
  pixel of a tile, causing error print:
  "Found uninitialized speed in vector buffer... fixed"
2007-07-23 14:16:41 +00:00
1e4057f6fd Bugfix: SSS did not work with panorama render. 2007-05-20 19:01:34 +00:00
2a94ae8a81 Fix preview rendering for SSS to not show preprocessing pass that
leads to flickering, and a bug that would display parts of the
preview render as black for interrupted preview renders.

(sorry for the late fix, i've triple checked the code ..)
2007-05-09 16:25:58 +00:00
03040b54b3 Bugfix: SSS render crashed with option "Save buffers".
Apparently brecht wanted to disable it... but enabling it works just OK.
Gives at least uniform code for now.
2007-05-05 13:14:10 +00:00
3a8c6c81d8 Subsurface scattering:
Documentation on the settings, known limitations and implementation
info can be found here:
http://www.blender.org/development/current-projects/changes-since-243/subsurface-scattering/
2007-05-03 21:37:52 +00:00
Ken Hughes
115b65ce7c Fix numerous gcc warnings. 2007-03-16 05:03:38 +00:00
735b426344 Two fixes:
- when rendering a scene, all composite trees of other trees should get
  signalled the render output changed. This only happened with a composite
  active in render.

- the Mix node "A" option only works in Composite, as accidentally visible
  for shader trees.
2007-01-27 10:08:16 +00:00
4175460d85 Bugfix #5816
Render pipeline: setting option "Single layer render" and having the active
layer disabled, crashed blender. It's a non-option anyway, so on a single
layer render, that layer is enabled by default now.
2007-01-24 09:13:40 +00:00
c3c37b2d88 Bugfix 5726
Tests with 8 threads and many parts reveiled that Blender render could
hang. Brecht found a line of code that should move up to prevent this!
2007-01-21 10:24:41 +00:00
d2fd630e0a Bugfix #5748
Composite: when using multiple scene render-nodes, and one of these
scenes got re-rendered (by making scene active temporary), the composite
cache should free the used buffers.

Now, on each render, all scenes in a Blender project are being checked.
2007-01-19 12:43:02 +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
6f6051d455 Preview render in 3D window used wrong clipping... 2006-12-28 11:14:08 +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
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
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
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
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
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
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
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
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