Commit Graph

266 Commits

Author SHA1 Message Date
Campbell Barton
e3958015db Code Cleanup: check is / is not when comparing singletons. 2012-02-02 21:07:56 +00:00
Brecht Van Lommel
5504ba6f50 Cycles: material pass index button was missing from material properties still. 2012-02-01 13:38:23 +00:00
Brecht Van Lommel
21554f2df5 Fix #30011 & #30027: cycles division by zero evaluating BSDF with zero weights,
showed up as NaN on GPU render.
2012-01-31 15:59:30 +00:00
Brecht Van Lommel
87149fc4b6 Fix #30034: bug in multiple importance sampling + transparency, would
give slightly wrong lighting behind transparent objects.
2012-01-31 14:57:46 +00:00
Brecht Van Lommel
26d3b873d5 Fix #30009: cycles translucent BSDF + environment importance sampling not
working correct.
2012-01-30 18:34:01 +00:00
Brecht Van Lommel
b023665551 Cycles: another fix for CUDA render passes, needed to align float4 passes. 2012-01-27 13:58:32 +00:00
Brecht Van Lommel
4fe00cd4f9 Cycles: disable environment importance sampling code for CUDA cards with
compute model < 2.x, to avoid running out of memory in the compiler.
2012-01-26 19:45:59 +00:00
Brecht Van Lommel
803286dde8 Cycles: render passes for CUDA cards with compute model >= 2.x. 2012-01-26 19:07:01 +00:00
Brecht Van Lommel
de5d5ded7b Cycles: fixes for OpenCL build after pass changes, patch by Daniel Genrich. 2012-01-26 15:37:33 +00:00
Brecht Van Lommel
7e86c8fcdc Fix #29966: cycles elapsed time not resetting in viewport after changes. 2012-01-26 14:55:39 +00:00
Brecht Van Lommel
f8bddbd347 Cycles: fix issues rendering second render layer passes, and avoid unnecessary
clear of buffer.
2012-01-26 14:55:25 +00:00
Brecht Van Lommel
f99343d3b8 Cycles: Render Passes
Currently supported passes:
* Combined, Z, Normal, Object Index, Material Index, Emission, Environment,
  Diffuse/Glossy/Transmission x Direct/Indirect/Color

Not supported yet:
* UV, Vector, Mist

Only enabled for CPU devices at the moment, will do GPU tweaks tommorrow,
also for environment importance sampling.

Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes
2012-01-25 17:23:52 +00:00
Thomas Dinges
c905415f6b Cycles Node Editor:
* Add Use Nodes button for World shader type
* UI was not redrawing the Node area, when enabling "Use nodes", added check for it to the listener.
2012-01-24 20:10:37 +00:00
Dalai Felinto
335ffb0ff3 Brightness/Contrast Node for Cycles
Contrast helps to adjust IBL (HDR images used for background lighting).
Note: In the UI we are caling it Bright instead of Brightness. This copy what Blender composite is doing.
Note2: the algorithm we are using produces pure black when contrast is 100. I'm not a fan of that, but it's a division by zero. I would like to look at other algorithms (what gimp does for example). But that would be only after 2.62.
2012-01-24 16:32:31 +00:00
Thomas Dinges
9dac61c74d Cycles Textures:
* Remove the "Use nodes" button, the TextureOutput node was never ported to trunk from the cycles branch.
2012-01-22 22:59:21 +00:00
Thomas Dinges
b3d5224390 Cycles UI:
* Use full width for the world sample as lamp properties
2012-01-22 22:43:21 +00:00
Brecht Van Lommel
27e94f7cbe Fix #29935: missing cycles update/crash when removing world datablock form scene. 2012-01-22 13:56:39 +00:00
Brecht Van Lommel
3fa4b6ea7d Fix missing shadows with cycles world sample as lamp option, my mistake in
tweaking patch.
2012-01-22 13:26:59 +00:00
Campbell Barton
acfeb47aa3 use property definitions more consistant with other addons in trunk. (no functional change) 2012-01-20 18:31:23 +00:00
Brecht Van Lommel
5873301257 Sample as Lamp option for world shaders, to enable multiple importance sampling.
By default lighting from the world is computed solely with indirect light
sampling. However for more complex environment maps this can be too noisy, as
sampling the BSDF may not easily find the highlights in the environment map
image. By enabling this option, the world background will be sampled as a lamp,
with lighter parts automatically given more samples.

Map Resolution specifies the size of the importance map (res x res). Before
rendering starts, an importance map is generated by "baking" a grayscale image
from the world shader. This will then be used to determine which parts of the
background are light and so should receive more samples than darker parts.
Higher resolutions will result in more accurate sampling but take more setup
time and memory.

Patch by Mike Farnsworth, thanks!
2012-01-20 17:49:17 +00:00
Brecht Van Lommel
3ce32c3fec Fix small code issue pointed out by nico_ga, was doing negation on unsigned type,
didn't seem to break anything though.
2012-01-18 22:36:12 +00:00
Campbell Barton
2019f636b0 misc small changes and bmesh support for testing script 2012-01-17 18:01:16 +00:00
Brecht Van Lommel
92764260d7 Cycles: add option to cache BVH's between subsequent renders, storing the BVH on
disk to be reused by the next render.

This is useful for rendering animations where only the camera or materials change.
Note that saving the BVH to disk only to be removed for the next frame is slower
if this is not the case and the meshes do actually change.

For a render, it will save bvh files to the cache user directory, and remove all
cache files from other renders. The files are named using a MD5 hash based on the
mesh, to verify if the meshes are still the same.
2012-01-16 13:13:37 +00:00
Campbell Barton
9c2a58a811 remove api from addon bl_info, was never used. 2012-01-14 13:02:20 +00:00
Brecht Van Lommel
b20a56b2ca Fix #29860: cycles musgrave scale input not working correct. 2012-01-12 17:13:56 +00:00
Brecht Van Lommel
6ce92d09f7 Fix #29848: cycles not respecting dupli group visible layers, also exposed
DupliObject.hide property in API now.
2012-01-11 13:55:00 +00:00
Brecht Van Lommel
778774ba16 Fix: cycles CPU device not being used when it should be on some multi-GPU
configurations.
2012-01-11 13:18:06 +00:00
Brecht Van Lommel
d7932ceea8 Cycles: multi GPU rendering support.
The rendering device is now set in User Preferences > System, where you can
choose between OpenCL/CUDA and devices. Per scene you can then still choose
to use CPU or GPU rendering.

Load balancing still needs to be improved, now it just splits the entire
render in two, that will be done in a separate commit.
2012-01-09 16:58:01 +00:00
Brecht Van Lommel
47d9c6689b Cycles: show elapsed time for F12/background render. 2012-01-09 16:57:46 +00:00
Brecht Van Lommel
8f37c143ed Cycles: small tweak to checker texture, scale rather than add with epsilon,
looks a bit better on all sides of a mesh.
2012-01-09 16:57:26 +00:00
Brecht Van Lommel
8bfa48384d Cycles: checker texture node, patch by Thomas. 2012-01-08 14:55:43 +00:00
Brecht Van Lommel
49bc284d10 Fix #29760: cycles border render issue on 32 bit linux. 2012-01-05 22:41:46 +00:00
Brecht Van Lommel
049ab98469 Cycles: device code refactoring, no functional changes. 2012-01-04 18:06:32 +00:00
Brecht Van Lommel
84437bb5e9 Fix #29695: cycles particle emitter not being properly hidden. 2012-01-02 19:44:13 +00:00
Brecht Van Lommel
1e96b5f284 Fix #29740: missing cycles viewport update with animated node socket values. 2012-01-02 19:44:07 +00:00
Brecht Van Lommel
2077b7e3b7 Fix #29755: cycles crash with array modifier that can produce material indices
that are out of bounds.
2012-01-02 15:51:49 +00:00
Brecht Van Lommel
b5595298d3 Cycles code refactoring: change displace kernel into more generic shader
evaluate kernel, added background shader evaluate.
2011-12-31 15:18:13 +00:00
Brecht Van Lommel
e32a117c8b Fix: cycles camera dof object with non-uniform scale gave incorrect distance. 2011-12-29 23:34:25 +00:00
Dalai Felinto
b4c95833ab bugfix: [#29711] Cycles - HSV Node - Hue Change Bug
* Adding hue instead of removing it.

fmod doesn't work as % when it comes to negative numbers:
fmod( 1.3, 1) ==  1.3 % 1 == 0.3
fmod(-0.3, 1) != -0.3 % 1
2011-12-29 05:40:48 +00:00
Campbell Barton
85a97f64a7 add UNLIKELY / LIKELY util defines to help optimize iterators that are called a lot, only defined for gcc at the moment.
also some cmake formatting edits.
2011-12-29 01:46:58 +00:00
Brecht Van Lommel
9d3f5ea334 Fix #29715: cycles and glsl normal node not working correct. 2011-12-28 19:42:22 +00:00
Brecht Van Lommel
c9830549ea Fix #29689, #29702: cycles render crash with node setups with non-cycles nodes,
after group socket refactoring.
2011-12-28 19:42:08 +00:00
Thomas Dinges
a06358570e Cycles Test App:
* Added some new integrator parameters to the xml reading. 
* Added ability to specify window width/height, if not set it uses film/camera width/height. 
* Added back the xml exporter script from cycles branch, with modifications to hock up into the UI. To use it, copy the script into 2.61/scripts/startup.

Note: This is intended for developers for now, but the standalone Cycles app has potential to be used as benchmark for example.
2011-12-25 13:34:18 +00:00
Campbell Barton
33bd38ebc7 minor edits to cycles c/python module
- rename 'bcycles' --> '_cycles', since this is the python convention when a py module uses a C module internally.
- use macros for returning None
- make with_osl an attribute rather then a function.
- changes methods METH_VARARGS --> METH_O when single args are used.
2011-12-24 02:47:13 +00:00
Thomas Dinges
e68f0ff3c0 Another Fix after Cucumber Merge:
* Cycles did not displayed the Scene panels anymore, due to addition of COMPAT_ENGINE to them.
2011-12-22 22:34:23 +00:00
Brecht Van Lommel
c287a09b40 Cycles: support for multiple render layers. It currently renders each layer
entirely before moving on to the next.
2011-12-21 20:51:55 +00:00
Brecht Van Lommel
b65061e2ae Cycles: code refactoring, to do render layer visibility test a bit different,
replacing the camera visibility flag with object layer flags.
2011-12-21 20:51:43 +00:00
Brecht Van Lommel
34909c64e5 Cycles: some small code refactoring related to buffer parameters. 2011-12-21 13:48:35 +00:00
Thomas Dinges
2d1de2e78d Cycles/CUDA:
* Rename shader model to compute capability in error messages.
2011-12-20 18:59:10 +00:00
Brecht Van Lommel
690de79580 Cycles: some tweaks for apple opencl with ATI cards, to get it working up to
the level of ambient occlusion render, shaders still fail. Fixes found with
much help from Jens and Dalai.
2011-12-20 17:36:56 +00:00