Commit Graph

2246 Commits

Author SHA1 Message Date
238f3a7d34 Cycles: seed value to get different noise values from renders, there was a patch
for this but I've implemented it differently.
2011-10-29 14:27:24 +00:00
72e47de8b5 Cycles: fix some issues with mix shaders when the weight for an emission shader
was 0.0, and background shader mix wasn't working.
2011-10-19 00:13:41 +00:00
97e58e499d use CMake's CUDA_NVCC_EXECUTABLE rather then own hard coded CYCLES_CUDA variable. 2011-10-17 11:54:43 +00:00
5fd67a3ba5 Cycles: enable multi closure sampling and transparent shadows only on CPU and
CUDA cards with shader model >= 2 for now (GTX 4xx, 5xx, ..). The CUDA compiler
can't handle the increased kernel size currently.
2011-10-16 18:54:27 +00:00
e5f544dd92 Cycles: add transparent shadow support, i.e. shadows through Transparent BSDF
shaders, enabled by default.
2011-10-16 17:54:43 +00:00
60bc63c7b8 Cycles: enable improved closure sampling, this should give less noise for mix, add
and glass shaders. How well this will work on non-fermi GPU's is unclear still, it's
a bit heavy on register usage.
2011-10-16 17:40:47 +00:00
60b72a7a41 Cycles:
* World background was emitting light, even after removal of World shader nodes.
2011-10-16 14:11:53 +00:00
d5b679253a Cycles:
* Sun, area and point lights with size now supported
* Cast shadow option to disable shadow casting for lamps
* Emission strength of materials tweaked such that setting strength to 1.0
  basically makes the material "shadeless" in that the value of the color
  input will be the resulting color in the image.
2011-10-15 23:49:01 +00:00
9ebfcea8f3 Cycles: revert commit that joined surface/volume socket into a single shader socket,
on second thought this makes it a bit too difficult to understand what's going on.
2011-10-12 23:03:12 +00:00
7503a7edfb Cycles: replace surface/volume sockets in output nodes with a single shader socket,
decided it's better to render objects as either surface or volume.

This may break the volume rendering patch, but shaders with volume closures still
get tagged as having volume closures, so it should be fixable without too many
changes.
2011-10-12 15:42:35 +00:00
cdee3435c6 Cycles: internal changes that should have no effect on user level yet, added
shader flags for various purposes, and some code for light types other than
points.
2011-09-27 20:37:24 +00:00
136d27b350 Cycles: add some volume nodes, they don't actually do anything, this is just
to give other developers who may want to work on this to get a starting point.
2011-09-27 20:03:16 +00:00
66b1dfae89 Cycles: tweaks to properties and nodes
* Passes renamed to samples
* Camera lens radius renamed to aperature size/blades/rotation
* Glass and fresnel nodes input is now index of refraction
* Glossy and velvet fresnel socket removed
* Mix/add closure node renamed to mix/add shader node
* Blend weight node added for shader mixing weights

There is some version patching code for reading existing files, but it's not
perfect, so shaders may work a bit different.
2011-09-16 13:14:02 +00:00
ebc653463d Cycles:
* Fix missing update when editing objects with emission materials.
* Fix preview pass rendering set to 1 not showing full resolution.
* Fix CUDA runtime compiling failing due to missing cache directory.
* Use settings from first render layer for visibility and material override.

And a bunch of incomplete and still disabled code mostly related to closure
sampling.
2011-09-12 13:13:56 +00:00
71c9120d04 Cycles: fix windows build, some minor tweaks. 2011-09-09 16:38:15 +00:00
cfbd6cf154 Cycles:
* OpenCL now only uses GPU/Accelerator devices, it's only confusing if CPU
  device is used, easy to enable in the code for debugging.
* OpenCL kernel binaries are now cached for faster startup after the first
  time compiling.
* CUDA kernels can now be compiled and cached at runtime if the CUDA toolkit
  is installed. This means that even if the build does not have CUDA enabled,
  it's still possible to use it as long as you install the toolkit.
2011-09-09 12:04:39 +00:00
9b31cba74e Cycles: some warning fixes, cpu device task tweaks, avoid unnecessary
tonemap in non-viewport render, and some utility functions.
2011-09-08 18:58:07 +00:00
db1664ed4c Cycles:
* Compute MD5 hash to deal with nvidia opencl compiler cache not recognizing
  changes in #included files, makes it possible to do kernel compile only
  once and remember it for the next time blender is started.
* Kernel tweak to compile with ATI/linux. Enabling any more functionality than
  simple clay render still chokes the compiler though, without a specific error
  message ..
2011-09-03 10:49:54 +00:00
1135875ab1 Cycles:
* Fix crash in light path node
* Fix struct alignment issue for cuda
* Fix issue with instances taking up too much memory
* Fix issue with ray visibility working incorrect on some objects
* Enable OpenCL always and remove option, it has no dependencies so may as well
* Refuse to load kernel if OpenCL version < 1.1, recent drivers are needed
* Better error handling for OpenCL device
* 3D views with rendered draw mode will now revert to wireframe on file load
2011-09-02 14:55:06 +00:00
1f7ac51c36 Cycles: fix opencl device bug that crashed on windows. Now shows diffuse
meshes here on windows/nvidia.
2011-09-01 22:40:52 +00:00
8ddef5163f Cycles: fix broken kernel compile after recent change, some tweaks
to UI to only show options when available, fix linux lib detection.
2011-09-01 19:43:57 +00:00
df625253ac Cycles:
* Add max diffuse/glossy/transmission bounces
* Add separate min/max for transparent depth
* Updated/added some presets that use these options
* Add ray visibility options for objects, to hide them from
  camera/diffuse/glossy/transmission/shadow rays
* Is singular ray output for light path node

Details here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Render/Cycles/LightPaths
2011-09-01 15:53:36 +00:00
eac2674f1d Cycles: some tweaks to try to get sm_13 shader compiling. 2011-08-29 17:17:40 +00:00
47fb31404f Cycles: preview passes setting to set the max number of passes to render in
the viewport working now, set to 0 for unlimited (well, actually 2147483647).
2011-08-29 10:21:10 +00:00
bae896691a Cycles:
* Add alpha pass output, to use set Transparent option in Film panel.
* Add Holdout closure (OSL terminology), this is like the Sky option in the
  internal renderer, objects with this closure show the background / zero
  alpha.
* Add option to use Gaussian instead of Box pixel filter in the UI.
* Remove camera response curves for now, they don't really belong here in
  the pipeline, should be moved to compositor.

* Output full float values for rendering now, previously was only byte precision.
* Add a patch from Thomas to get a preview passes option, but still disabled
  because it isn't quite working right yet.
* CUDA: don't compile shader graph evaluation inline.
* Convert tabs to spaces in python files.
2011-08-28 13:55:59 +00:00
360fcd73fe Cycles:
* add some (disabled) test code for using OpenImageIO in imbuf
* link cycles, openimageio and boost into blender instead of a shared library
* some cmakefile changes to simplify the code and follow conventions better
* this may solve running cycles problems on windows XP, or give a different
  and hopefully more useful error message
2011-08-16 16:15:34 +00:00
6686f18948 Cycles: more opencl tweaks, status is:
* kernel has shading nodes / textures disabled, amd/nvidia opencl
  compilers choke on these, need to figure out how to avoid this
* works in cycles_test, not available as option in blender yet
* kernel compiles and runs with opencl 1.1 from intel/amd/nvidia
2011-08-11 12:36:08 +00:00
b98ccf6998 Cycles: amd opencl compatibility fixes. 2011-08-10 14:26:51 +00:00
abc601d10e Cycles: opencl 1.1 compatibility tweaks. 2011-08-09 18:53:54 +00:00
966e004bbe Cycles: OSL build & image manager fixes. 2011-05-31 16:21:30 +00:00
64c2d5e90e Cycles: more opencl fixes. 2011-05-31 11:31:00 +00:00
4bb582effb Cycles: some mix node blend modes not working correct:
subtract, screen, divide, difference, darken, lighten, overlay

patch by Sanne, thanks!
2011-05-27 09:38:49 +00:00
63d4bafff5 Cycles: some steps to getting OpenCL backend to compile. 2011-05-20 12:26:01 +00:00
25b25059ef Cycles: fix vector math subtract not working correct, patch by Sanne. 2011-05-16 08:08:37 +00:00
233f27a7e1 Cycles: fix chained mix/add closures nodes not working. 2011-05-14 13:23:15 +00:00
fd5937fd1f Cycles: OSL build fixes, based on patch from erwin94. 2011-05-14 09:42:02 +00:00
922bb24865 Cycles: color space control for image/environment texture nodes. Ideally would
be automated but need to think about how to do this, not so simply in a node
system. But guideline for now is, for color textures set to sRGB, for things like
bump or roughness map, set to Linear.
2011-05-13 14:32:08 +00:00
216602fe4b Cycles: fix BSDF closure inputs ignoring links. 2011-05-13 12:11:08 +00:00
6778ea39d5 Cycles: rename UV geometry node output to Parametric to avoid confusion with uv texture coordinates. 2011-05-04 15:22:15 +00:00
cf00171da5 Cycles: fix for UV texture coordinates lookup with more than one mesh, bug in corner attribute storage. 2011-05-04 14:01:38 +00:00
f56aa76752 Cycles: some more windows build fixes, based on patch by Francisco De La Cruz. 2011-05-04 09:58:02 +00:00
2996f08f84 Cycles: first batch of windows build fixes, not quite there yet. 2011-05-03 18:29:11 +00:00
e5d7a38a25 Cycles: fix build issue with Blender includes. 2011-05-01 09:19:45 +00:00
774584d7e8 Cycles: hook up the CMake build system.
New build instructions for Ubuntu Linux in the wiki:
http://wiki.blender.org/index.php/Dev:2.5/Source/Cycles
2011-04-28 13:47:27 +00:00
791f6c94fb Cycles: fix for vector math node by Lukas Toenne, thanks. 2011-04-28 11:45:06 +00:00
da376e0237 Cycles render engine, initial commit. This is the engine itself, blender modifications and build instructions will follow later.
Cycles uses code from some great open source projects, many thanks them:

* BVH building and traversal code from NVidia's "Understanding the Efficiency of Ray Traversal on GPUs":
http://code.google.com/p/understanding-the-efficiency-of-ray-traversal-on-gpus/
* Open Shading Language for a large part of the shading system:
http://code.google.com/p/openshadinglanguage/
* Blender for procedural textures and a few other nodes.
* Approximate Catmull Clark subdivision from NVidia Mesh tools:
http://code.google.com/p/nvidia-mesh-tools/
* Sobol direction vectors from:
http://web.maths.unsw.edu.au/~fkuo/sobol/
* Film response functions from:
http://www.cs.columbia.edu/CAVE/software/softlib/dorf.php
2011-04-27 11:58:34 +00:00