Commit Graph

3733 Commits

Author SHA1 Message Date
Brecht Van Lommel
92ec286752 Cycles: build flags tweaks to avoid errors with msvc debug build. 2011-11-23 16:30:50 +00:00
Brecht Van Lommel
086e4ed825 Cycles: improve error reporting for opencl and cuda, showing error messages in
viewport instead of only console.
2011-11-22 20:49:33 +00:00
Brecht Van Lommel
eb2baf9abc Fix #29274: problem compiling cycles opencl kernel from directory with spaces.
Some drivers don't support passing include paths with spaces in them, nor does
the opencl spec specify anything about how to quote/escape such paths, so for
now we just resolved #includes ourselves. Alternative would have been to use c
preprocessor, but this also resolves all #ifdefs, which we do not want.
2011-11-22 16:38:58 +00:00
Brecht Van Lommel
47853bf6f6 Cycles: OpenCL tweaks
* Reduce kernel arguments size, helps compile for apple nvidia.
* Fix use of unitialized variable in displace kernel.
* Use build flags in opencl kernel md5 hash.
* Reorganize code for kernel feature #defines a bit.
2011-11-22 13:15:19 +00:00
Brecht Van Lommel
6f73e351ee Cycles:
* Fix #29354: crash on branch file. Note that for best compatibility, you need
  to save your files with one of the latest branch builds, since not all version
  patching code was moved to trunk.
* Rename "Cycles" to "Cycles Render" in info header menu.
* Code tweaks to try to fix #29301. It's not a real solution though, I'm thinking
  cause is extended precision for floats on some cpu's, used in one case but not
  in the other, leading to bounding box intersection issue...
2011-11-21 16:28:19 +00:00
Thomas Dinges
2b1f800e9e Bugfix for [#29279] Cycles Displacement Panel appears when blender render engine is choosen. 2011-11-19 22:59:48 +00:00
Brecht Van Lommel
384ec1769b Cycles: another build system tweak that might solve build problem, not sure
why this code is giving issues.
2011-11-19 22:06:39 +00:00
Brecht Van Lommel
c26c5f3852 UI: small tweak to tooltips for enum menus, it wasn't very clear which
description was for the property and which for the item.
2011-11-18 21:06:36 +00:00
Brecht Van Lommel
02ce6fd59c Cycles: try to avoid NaN pixels with oren nayar. Also small cmake code cleanup. 2011-11-18 15:39:40 +00:00
Campbell Barton
4d9766aacf minor cleanup
- remove / comment unused python vars
- replace mul_v3_fl(somevec, -1.0f); with negate_v3(somevec);
2011-11-16 16:38:37 +00:00
Brecht Van Lommel
0566694f6e Cycles: cmake build system tweak, might solve compile issue. 2011-11-16 16:28:19 +00:00
Brecht Van Lommel
b4d453212a Fix #29292: cycles not loading linked image datablocks correctly. 2011-11-16 16:10:11 +00:00
Brecht Van Lommel
63ff37c6d4 Fix #29278: cycles crash with displacement method both. 2011-11-15 22:09:30 +00:00
Guillermo S. Romero
4f743dd0cc SVN maintenance. 2011-11-15 19:37:09 +00:00
Brecht Van Lommel
ef6eab3ce4 Cycles: move clew into cycles namespace to avoid conflicts, and fix mesh
displacement panel showing with blender internal.
2011-11-15 19:23:35 +00:00
Brecht Van Lommel
e78cad5540 Fix build issue on windows, M_PI => M_PI_F. 2011-11-15 18:01:52 +00:00
Brecht Van Lommel
db8024f4b5 Fix #29259: cycles issues on certain processors. Now two versions of the kernel
are compiled, one SSE optimized and the other not, and it will choose between
them at runtime.
2011-11-15 15:13:38 +00:00
Campbell Barton
747f06d3d2 set cycles scripts as pep8 & make some minor changes.
also update sphinx doc generator.
2011-11-15 02:58:01 +00:00
Brecht Van Lommel
3442c16c09 Fix #29249: mapping node not keyable anymore, restore RNA to what it was before
Cycles change, generating RNA paths for this is a bit complicated.
2011-11-14 20:39:53 +00:00
Brecht Van Lommel
2ab2423b06 Cycles:
* Fix #29257: nan-pixels with zero roughness for glass/glossy.
* Fix #29239: crash with border rendering, this is not working yet, but should
  no longer crash now.
* Show object name in 3d view rendered draw type.
* Attempt to improve Sample as Light option description.
2011-11-14 19:45:21 +00:00
Bastien Montagne
21fa7e0b86 Some UI messages fixes and tweaks in recent merges (found while translating in french). 2011-11-14 19:13:52 +00:00
Brecht Van Lommel
e731ffb648 Cycles: Oren-Nayar BSDF support. This is not a separate shader node, rather it
is available through the Roughness input on the Diffuse BSDF.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Diffuse

Patch by Yasuhiro Fujii, thanks!
2011-11-14 17:31:47 +00:00
Thomas Dinges
b1019a56b5 Cycles:
* Typo fix, patch by David on the mailing list.
2011-11-13 11:40:35 +00:00
Thomas Dinges
f79d14dcfa Cycles Addon:
* Added URL to wiki
* Marked as official
* api/blender bump
2011-11-13 10:05:07 +00:00
Thomas Dinges
880225db77 OpenCL/Nvidia:
* Enable OpenCL Full Shading on NVIDIA cards.

Notes:
It makes not much sense to use OpenCL on a nVidia card (as it is slower compared to CUDA), but as OpenCL comes without dependencies, it's an good alternative if you don't want to install the CUDA toolkit or the build comes without CUDA kernels.
2011-11-12 22:22:00 +00:00
Brecht Van Lommel
fc42a6185d Cycles:
* Fix object scaling update issue with interactive rendering + static BVH.
* Fix negative scaling issue with static BVH.
* Fix #29217: excessive fireflies in first sample.
2011-11-12 14:29:52 +00:00
Joshua Leung
4e83c67baa Hack-fix for crash-by-assertion on mingw builds on startup if the CUDA driver on
the computer is too old (and probably can't be upgraded to a version that does)
to support the cuDriverGetVersion method.
2011-11-12 03:59:45 +00:00
Brecht Van Lommel
7d110c2923 Cycles: fix missing particle panels and show emitter option not being respected. 2011-11-10 16:02:46 +00:00
Brecht Van Lommel
9dcf4bf0a6 Cycles: attempt to fix build issue with mingw. 2011-11-10 14:53:56 +00:00
Brecht Van Lommel
5b1a42cb17 Cycles:
* Fix excessive fireflies in Velvet BSDF (patch by David).
* Disable some unused SSE code
* Remove RTTI disabling flags for now, this is giving some compile issues and
  was only needed of OSL which we're not using yet.
2011-11-10 14:32:16 +00:00
Brecht Van Lommel
cf6a1320a8 Cycles: attempted fix for error building with sse/mtune optimization flags. 2011-11-10 14:13:32 +00:00
Brecht Van Lommel
2adcac7661 Cycles: when material/world/lamp doesn't use nodes, show color in the UI. 2011-11-10 13:00:53 +00:00
Brecht Van Lommel
c42772fc95 Cycles:
* Add back option to bundle CUDA kernel binaries with builds.
* Disable runtime CUDA kernel compilation on Windows, couldn't get this working,
  since it seems to depend on visual studio being installed, even though for
  this particular case it shouldn't be needed. CMake only at the moment.
* Runtime compilation on linux/mac should now work if nvcc is not installed in
  the default location, but available in PATH.
2011-11-10 12:52:17 +00:00
Campbell Barton
cd9b51c1bf add some missing headers to cmake, also add some files as comments since it seems they should be added but evidently work fine without. 2011-11-10 06:05:22 +00:00
Antony Riakiotakis
ee1569b933 No tabs in scons! Sorry for that.. 2011-11-09 14:00:24 +00:00
Antony Riakiotakis
83b16687b9 Make scons work MinGW. This commit resolves several issues such as enable OpenEXR, Game Engine and Player, enable latest features, and solve link order for gcc. So MinGW is right now fully supported as a build system for release type builds. Debug builds not tested. 2011-11-09 11:33:10 +00:00
Brecht Van Lommel
46dcad970c Cycles: fix light strength mistmatch when clicking "use nodes".
Regarding merge status, there should be no build failures, but cycles may not
be enabled in your build, we are still solving:

* Windows: CUDA kernel compile at runtime is failing, probably will have to
  do precompiled kernel again.
* Mac: scons is not building cycles yet.
* Linux doesn't have boost + openimageio libs available in lib/ yet, so it
  requires manual install of those libs still.
2011-11-08 22:38:10 +00:00
Brecht Van Lommel
262ac7340e Cycles: cmake tweaks for linux build, instructions on the wiki no longer worked. 2011-11-08 21:40:08 +00:00
Nathan Letwory
c9bca51e76 Add compiles support for Cycles.
No CUDA compiling yet, will be added later.
2011-11-08 20:40:02 +00:00
Campbell Barton
33814e0093 edits to cycles cmake files so cmake_consistency_check.py can parse them. 2011-11-08 20:27:37 +00:00
Campbell Barton
76f77514d3 don't overwrite existing CMAKE_CXX_FLAGS for cycles (they may be important) 2011-11-08 19:08:56 +00:00
Antony Riakiotakis
2a0451dc46 Fix GLEW linking error on MinGW.
The __imp__ prefix on glew lib linking errors should have been a good indication: the code was looking for the glew dll.
Bypassed by adding GLEW_STATIC to the definitions.
2011-11-08 18:58:29 +00:00
Brecht Van Lommel
8cfc17c7cd Cycles Merge:
* It seems we have a problem compiling the CUDA kernel at runtime on Windows,
  will need to investigate more how to solve this best, CPU render should go
  fine though.
* Change OPENIMAGEIO to OPENIMAGEIO_ROOT_DIR on linux for consistency.
2011-11-08 17:53:49 +00:00
Brecht Van Lommel
24aebc444b Cycles Merge
Documentation:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles

Cycles is available is an extra render engine from the top header. It's not
feature complete, consider this as a first preview release. Known bugs:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/KnownIssues

Building currently only works with CMake, SCons support is being worked on
and should be available soon.

Also missing still is precompiled OpenImageIO and Boost for Linux, these will
be added later in lib/linux*, if you do not have these installed on your
system, Cycles will simply not be available.
2011-11-08 17:00:40 +00:00
Brecht Van Lommel
a56c6e18a8 Cycles:
* Disable precompiled cuda binaries, always do at run time
* Change preview samples default to 10
* Hide volume panels since they don't do anything yet
2011-11-08 14:10:33 +00:00
Brecht Van Lommel
64ab414026 Cycles: svn merge -r41627:41650 ^/trunk/blender 2011-11-08 12:33:17 +00:00
Brecht Van Lommel
dca15b215d Cycles: svn merge -r41613:41627 ^/trunk/blender 2011-11-07 17:13:32 +00:00
Brecht Van Lommel
fb56dbc2af Cycles: procedural texture nodes reorganization. This will break existing files
using them, but rather do it now that I have the chance still. Highlights:

* Wood and Marble merged into a single Wave texture
* Clouds + Distorted Noise merged into new Noise node
* Blend renamed to Gradient
* Stucci removed, was mostly useful for old bump
* Noise removed, will come back later, didn't actually work yet
* Depth setting is now Detail socket, which accepts float values
* Scale socket instead of Size socket

http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures
2011-11-06 21:05:58 +00:00
Brecht Van Lommel
fd83a3ede0 Cycles: make cycles work with new camera sensor size. 2011-11-05 11:11:06 +00:00
Brecht Van Lommel
72929172dd Cycles: add location/rotate/scale and XYZ mapping options for all texture nodes,
to reduce the amount of nodes needed to set up a simple texture.

These are currently editable in the texture properties tab, still need to make
them available in the node editor. Projection and color modification options will
be added later, they're not implemented yet but allocated already to avoid
version patches later.

Also an issue with the XYZ mapping is that when you set one to None, texture and
material draw mode doesn't draw the image texture well, OpenGL doesn't seem to
like the degenerate texture matrix?
2011-11-04 20:58:00 +00:00
Brecht Van Lommel
a620ec61ec Cycles: always use static bvh for non-viewport render. 2011-11-04 15:46:15 +00:00
Brecht Van Lommel
9a4e1e0f0a Cycles: updates to follow code committed to trunk. 2011-11-03 10:18:58 +00:00
Brecht Van Lommel
02fae3440c Cycles: RenderEngine api code tweaks, also ensuring it's backwards compatible. 2011-11-02 15:15:45 +00:00
Brecht Van Lommel
bb379c06e9 Cycles: progress printing in background mode, print finished at the end and
avoid duplicate prints.
2011-10-30 10:12:34 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
05334492a3 Cycles: theme changes, some code syncing with trunk. 2011-10-24 19:32:10 +00:00
Brecht Van Lommel
586c631c88 Cycles: when creating nodes from a blender material, set the diffuse color in
the diffuse node, similar for lamps and world.
2011-10-22 18:51:45 +00:00
Brecht Van Lommel
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
Campbell Barton
97e58e499d use CMake's CUDA_NVCC_EXECUTABLE rather then own hard coded CYCLES_CUDA variable. 2011-10-17 11:54:43 +00:00
Thomas Dinges
c18e9a1bc6 Cycles:
* Auto detection of CUDA toolkit, using FIND_PACKAGE(CUDA). (Requires at least CMAKE 2.8)
2011-10-17 11:24:20 +00:00
Brecht Van Lommel
d537a1586d Cycles: fix crash using uv + generated texture coordinates on a single mesh. 2011-10-16 22:07:55 +00:00
Thomas Dinges
590a524323 Cycles:
Add cmake path for the CUDA toolkit (default installation) on windows.
2011-10-16 22:06:35 +00:00
Brecht Van Lommel
7b06c1718b Cycles: material "sample as light" option, to make the integrator sample the
object as a mesh light or not. This may result in more/less noisy renders
depending on the situation, but should converge to the same result.
2011-10-16 20:58:48 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
e5f544dd92 Cycles: add transparent shadow support, i.e. shadows through Transparent BSDF
shaders, enabled by default.
2011-10-16 17:54:43 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
11f3029267 Cycles: fix F12 render not using render resolution for modifiers. 2011-10-16 17:19:29 +00:00
Brecht Van Lommel
7600c687b2 Cycles: fix sampling issue with certain (transparent) max bounce settings, and
tweak presets/defaults to use 128 instead of 1024.
2011-10-16 17:06:01 +00:00
Brecht Van Lommel
7b1ef0f416 Cycles: use mesh normals computed by Blender instead of computing our own,
solves an issue with poor mesh geometry.
2011-10-16 17:00:48 +00:00
Thomas Dinges
60b72a7a41 Cycles:
* World background was emitting light, even after removal of World shader nodes.
2011-10-16 14:11:53 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
9c959d98fe Cycles: make Attribute node work, code for it was implemented in kernel, only
missing was the ability to specify the attribute name in the node. This makes
it possible to use multiple uv or vertex color layers now.
2011-10-15 20:13:35 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
310b25c388 Cycles: code refactoring to split out code from mapping node. 2011-10-12 22:42:13 +00:00
Brecht Van Lommel
4c3b94fdbd Cycles: image texture node now uses UV as default texture coordinate,
instead of generated.
2011-10-12 16:01:37 +00:00
Brecht Van Lommel
c3c44f8736 Cycles: don't use glsl in textured draw mode, to keep things simpler and faster
there for now. Also add viewport color setting for materials for solid draw mode.
2011-10-12 15:48:26 +00:00
Brecht Van Lommel
9ec1114765 Cycles: make node with multiple input sockets with the same name work. Previously
nodes like Mix had their sockets renamed to Color1/Color2, but doing this breaks
compatibility for the internal renderer, so restored it now.
2011-10-12 15:45:52 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
85818c8209 Cycles: add python render engine option to use new shading nodes or not, instead
of hardcoded check for cycles. Also some other minor code cleaning tweaks.
2011-10-11 17:19:55 +00:00
Brecht Van Lommel
1ab9fc59b7 Cycles: fix a few more msvc issues with empty scenes and ustring setting. 2011-10-03 17:42:24 +00:00
Brecht Van Lommel
da8f71bffb Cycles: some tweaks to silence msvc assertions in debug mode. 2011-10-03 15:31:45 +00:00
Thomas Dinges
e6dfbcf7cb Cycles:
* Typo Fix.
2011-09-27 21:05:33 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
f5b60afe4e Cycles: fix error in md5 hash computation for files in directories below
the first level.
2011-09-27 19:35:41 +00:00
Brecht Van Lommel
508bfebf36 Cycles: another bugfix for mix closure sampling + bump. 2011-09-21 11:54:28 +00:00
Brecht Van Lommel
e9b967d05b Cycles: remove deprecated strict aliasing flag for opencl, fix missing update
modifying object layer in properties editor, and add memarena utility.
2011-09-19 11:57:31 +00:00
Campbell Barton
08d52fcc85 added FindOpenImageIO cmake module. 2011-09-18 04:55:22 +00:00
Brecht Van Lommel
f4a9215d7c Cycles: svn merge -r39870:r40266 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Merging the node changes required a lot of conflict resolution, fixed the
issues I could find but if you want stability you might want to wait a bit
before updating.
2011-09-17 13:28:40 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
0a5fcf3da3 Cycles: fix issue with mix shaders, leading to use of uninitialized memory. 2011-09-16 13:00:09 +00:00
Brecht Van Lommel
376aede7a6 Cycles: fix crash deleting emitting objects. 2011-09-16 12:59:22 +00:00
Brecht Van Lommel
28cb4cb957 Cycles: reenable opencl binary caching on mac, it's not the cause of the problem. 2011-09-16 10:29:30 +00:00
Brecht Van Lommel
089abdecf7 Cycles: attempted fixes for OS X preview render problem, and disable
kernel cache there now as well since it seems to give issues there.
2011-09-14 22:26:55 +00:00
Brecht Van Lommel
f97d7b234d Cycles: fix crash with group node sockets that don't connect to any node
inside the group.
2011-09-12 14:47:36 +00:00
Brecht Van Lommel
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
Thomas Dinges
c40492205b Cycles:
* Remove RE_DO_RENDERED again, check for view_draw callback is sufficient.
2011-09-12 11:59:13 +00:00
Thomas Dinges
bf4f793b55 Cycles Render API:
* Show Rendered Viewport Shading only when the engine supports it.
Only enabled for Cycles now.
* Added RenderEngine flag RE_DO_RENDERED, which is an optional flag.
Exposed as bl_use_rendered in Python.

ToDo: When you are in Rendered mode and change to a engine which does not support it, the enum doesn't set properly to OB_SOLID.
2011-09-11 23:44:20 +00:00
Brecht Van Lommel
71c9120d04 Cycles: fix windows build, some minor tweaks. 2011-09-09 16:38:15 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
7d9d9fa976 Cycles: use workgroup size from opencl, attempt to fix issue with apple opencl. 2011-09-05 12:24:28 +00:00
Brecht Van Lommel
f3ee10ce5c Cycles: remove -Werror from opencl compile options, apple opencl on lion
seems to give "no previous prototype for function" warning, but it doens't
make much sense in opencl, seems like a compiler bug?
2011-09-05 08:23:01 +00:00
Antony Riakiotakis
6edb09fe93 Compile fixes for MinGW, checked with basic initial setup, no CUDA, gcc 4.5.2.
OpenImageIO still gives link-time errors, will try to make a lib for MinGW, see if it is fixed.
2011-09-04 15:39:09 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
67030aaf84 Cycles: optimizations for instances in scene updates before render starts,
should load a non-trivial mesh instanced many times quite a bit faster now.
2011-09-02 16:15:18 +00:00
Brecht Van Lommel
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
Thomas Dinges
f10a5c9dc7 Cycles UI:
* If only CUDA or OpenCL is available, show the available one in the device button.
2011-09-02 12:46:37 +00:00
Brecht Van Lommel
3c7dcd7a47 Cycles: compile opencl kernels in non-blocking thread, and don't crash on
build failure but show error message in status text.
2011-09-02 00:10:03 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
27102bfec4 Cycles: OpenCL library is now dynamically loaded so that blender doesn't crash
if it's not installed on the system.

Code copied from clew.h/clew.c in CLCC:
http://clcc.sourceforge.net/
2011-09-01 19:00:23 +00:00
Thomas Dinges
af7171524a Cycles UI:
* Added selector for CUDA/OpenCL.
2011-09-01 18:45:50 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
1e741b3a52 Cycles: integrator presets, patch by Thomas. 2011-08-29 17:55:14 +00:00
Brecht Van Lommel
eac2674f1d Cycles: some tweaks to try to get sm_13 shader compiling. 2011-08-29 17:17:40 +00:00
Brecht Van Lommel
be0aef2ef2 Cycles: pause button to interrupt viewport renders, in the 3d view header. 2011-08-29 16:54:13 +00:00
Thomas Dinges
213c58fdd5 Cycles UI file:
* Import bpy.types.Panel at the beginning, like in Trunk
2011-08-29 13:59:11 +00:00
Brecht Van Lommel
160d8f6c0c Cycles: fix cuda assertion that could be triggerd sometimes, when trying to
tonemap an empty image.
2011-08-29 11:47:03 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
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
Brecht Van Lommel
d48e4fc92b Cycles: fix linux build issue, link order was wrong. 2011-08-25 12:50:52 +00:00
Brecht Van Lommel
48b4de3152 Cycles:
* auto/fixed threads option is used now, patch by Thomas.
* remove unused CUDA_LIBRARIES, library is dynamically loaded
* fix mesh XML export operator for API update
2011-08-24 10:44:04 +00:00
Brecht Van Lommel
bd38aa51ad Cycles: fix crash in 3d view status text display. 2011-08-23 12:20:11 +00:00
Brecht Van Lommel
9ccc60ed8c Cycles:
* Update progress bar during render (patch by Thomas)
* Show status/pass/time during render in 3d view
2011-08-22 13:17:43 +00:00
Brecht Van Lommel
f7b9c85871 Cycles: fix some invalid memory access problems found by running the windows build in debug mode. 2011-08-21 10:32:15 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
18387f3e3f Cycles: fix small memory leak in image loading. 2011-08-15 19:30:24 +00:00
Brecht Van Lommel
b4343da77f Cycles: fix missing update when removing or hiding objects. 2011-08-11 16:48:13 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
18d709022e Cycles: clang build fixes. 2011-08-10 19:45:08 +00:00
Brecht Van Lommel
b98ccf6998 Cycles: amd opencl compatibility fixes. 2011-08-10 14:26:51 +00:00
Brecht Van Lommel
abc601d10e Cycles: opencl 1.1 compatibility tweaks. 2011-08-09 18:53:54 +00:00
Brecht Van Lommel
40886b6965 Cycles: fix missing texture space panels. 2011-08-08 14:08:58 +00:00
Brecht Van Lommel
8318acd129 Cycles: remove docs from svn, moved to wiki. 2011-08-07 12:01:24 +00:00
Brecht Van Lommel
d2c5549f8e Cycles: fix crash with image texture nodes (on windows). 2011-07-01 14:57:48 +00:00
Brecht Van Lommel
4ff22bd097 Cycles: OS X build system changes to use lib/ openimageio and boost. 2011-06-30 14:47:57 +00:00
Brecht Van Lommel
b57c87856d Cycles: cmake changes to make win32 use lib/windows for boost and openimageio. 2011-06-29 19:18:08 +00:00
Brecht Van Lommel
ba36215669 Cycles: attempt to fix OIIO include path on windows. 2011-06-28 15:23:30 +00:00
Brecht Van Lommel
6b2e35c8b7 Cycles: cmake tweak to make specifying OSL/OIIO path simpler. 2011-06-28 14:37:08 +00:00
Brecht Van Lommel
f351e3572d Cycles: fix for dynamic library copying on linux. 2011-06-28 14:25:52 +00:00
Brecht Van Lommel
bdb92dab74 Cycles: for mac and unix, copy oiio/boost dynamic libraries into cycles lib
directory to avoid library path issues.
2011-06-28 13:44:47 +00:00
Brecht Van Lommel
1cf0af703d Cycles: working towards texture workflow design
http://wiki.blender.org/index.php/Dev:2.5/Source/Render/TextureWorkflow

* Added "active texture node" in shading node trees.
* Texture draw mode draw active texture node now, and new Material draw
  mode shows GLSL material.
* GLSL materials now match solid draw mode lighting better.
* Texture properties can now texture nodes from material/world/lamp.
2011-06-27 17:10:50 +00:00
Brecht Van Lommel
d28fc39ff5 Cycles: attempt at fixing windows compile problem after merge. 2011-06-24 17:19:34 +00:00
Brecht Van Lommel
7adc3b6029 Cycles: compile error fix for ICC. 2011-06-17 11:33:57 +00:00
Brecht Van Lommel
a5c6f3d53b Cycles: more work on texturing UI, now texture nodes use same nodes as shading,
only rough implementation for design proposal.
2011-06-14 16:05:21 +00:00
Brecht Van Lommel
77c2266d7b Cycles: texture tab in properties editor now shows dropdown for selecting
texture users in the context. It's only useful for modifiers and brushes
at the moment, not for shading nodes as using texture datablocks there is
not yet supported.
2011-06-08 23:36:06 +00:00
Brecht Van Lommel
966e004bbe Cycles: OSL build & image manager fixes. 2011-05-31 16:21:30 +00:00
Brecht Van Lommel
fc68daff58 Cycles: compile warning fixes. 2011-05-31 16:19:02 +00:00
Brecht Van Lommel
64c2d5e90e Cycles: more opencl fixes. 2011-05-31 11:31:00 +00:00
Brecht Van Lommel
eedcba7ed5 Cycles: for material/world/lamps, if use_nodes is disabled, show some
default shaders instead of black.
2011-05-31 11:28:04 +00:00
Brecht Van Lommel
e2f2626179 Cycles: fix crash syncing curve/text object with no verts/faces. 2011-05-31 11:12:42 +00:00
Brecht Van Lommel
20746f6bb0 Cycles: fix instanced mesh sync being a bit too slow. 2011-05-31 10:57:43 +00:00
Brecht Van Lommel
d404c31e8d Cycles: fix sync issue with group instances. 2011-05-31 10:41:01 +00:00
Brecht Van Lommel
89983a2187 Cycles: fix compile error for cycles_test. 2011-05-31 09:47:19 +00:00
Brecht Van Lommel
7e4ba190cb Cycles: fix GLEW library build issue. 2011-05-27 12:13:10 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
63d4bafff5 Cycles: some steps to getting OpenCL backend to compile. 2011-05-20 12:26:01 +00:00
Brecht Van Lommel
88d9d89c97 Cycles: svn merge -r36495:36747 https://svn.blender.org/svnroot/bf-blender/trunk/blender/ 2011-05-18 13:56:20 +00:00
Brecht Van Lommel
8da594c861 Render API: first step in updating RenderEngine to work according to:
http://wiki.blender.org/index.php/Dev:2.5/Source/Render/RenderEngineAPI
2011-05-17 14:26:45 +00:00
Brecht Van Lommel
25b25059ef Cycles: fix vector math subtract not working correct, patch by Sanne. 2011-05-16 08:08:37 +00:00
Brecht Van Lommel
233f27a7e1 Cycles: fix chained mix/add closures nodes not working. 2011-05-14 13:23:15 +00:00
Brecht Van Lommel
fd5937fd1f Cycles: OSL build fixes, based on patch from erwin94. 2011-05-14 09:42:02 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
216602fe4b Cycles: fix BSDF closure inputs ignoring links. 2011-05-13 12:11:08 +00:00
Brecht Van Lommel
397f3893dd Cycles: remove developer docs, all moved to wiki now. 2011-05-13 11:10:30 +00:00
Brecht Van Lommel
88b25b871d Cycles: fix mapping node rotation not working correct for Y/Z axes, patch by Sanne. 2011-05-12 11:34:16 +00:00
Brecht Van Lommel
442baef055 Cycles: different fix for animation render, in render API instead of python script. 2011-05-09 10:43:09 +00:00
Brecht Van Lommel
31f44d8142 Cycles: fix color difference between render / 3d view with color management disabled. 2011-05-09 09:03:08 +00:00
Brecht Van Lommel
c18c6056ff Cycles: two 32 bit fixes with help from IRC user Agiofws. 2011-05-05 13:51:33 +00:00
Brecht Van Lommel
6778ea39d5 Cycles: rename UV geometry node output to Parametric to avoid confusion with uv texture coordinates. 2011-05-04 15:22:15 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
f56aa76752 Cycles: some more windows build fixes, based on patch by Francisco De La Cruz. 2011-05-04 09:58:02 +00:00
Brecht Van Lommel
0651b9fde3 Cycles: fix scene not updating for animation render, patch by David Rodriguez Garcia. 2011-05-04 09:41:45 +00:00
Brecht Van Lommel
2996f08f84 Cycles: first batch of windows build fixes, not quite there yet. 2011-05-03 18:29:11 +00:00
Brecht Van Lommel
170f8c8c41 Cycles: build without GLUT test app by default. 2011-05-01 10:00:21 +00:00
Brecht Van Lommel
e5d7a38a25 Cycles: fix build issue with Blender includes. 2011-05-01 09:19:45 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
d263fee952 Cycles: fix for incompatible boost filesystem version, provided by "ornitorrincos" on IRC. 2011-04-28 11:53:29 +00:00
Brecht Van Lommel
791f6c94fb Cycles: fix for vector math node by Lukas Toenne, thanks. 2011-04-28 11:45:06 +00:00
Brecht Van Lommel
1484169c2f Cycles: another build fix. 2011-04-27 17:23:37 +00:00
Brecht Van Lommel
4e235c184b Blender modifications for Cycles integration.
Some notes about code status:

* The Blender modifications were fairly quickly put together, much more code
  polish and work is needed to get this to a state where it can be committed
  to trunk. Files created with this version may not work in future versions.

* Only simple path tracing is supported currently, but we intend to provide
  finer control, and more options where it makes sense.

* For GPU rendering, only CUDA works currently. The intention is to have the
  same kernel code compile for C++/OpenCL/CUDA, some more work is needed to
  get OpenCL functional.

* There are two shading backends: GPU compatible and Open Shading Language.
  Unfortunately, OSL only runs on the CPU currently, getting this to run on
  the GPU would be a major undertaking, and is unlikely to be supported soon.
  Additionally, it's not possible yet to write custom OSL shaders.

* There is some code for adaptive subdivision and displacement, but it's far
  from finished. The intention is to eventually have a nice unified bump and
  displacement system.

* The code currently has a number of fairly heavy dependencies: Boost,
  OpenImageIO, GLEW, GLUT, and optionally OSL, Partio. This makes it difficult
  to compile, we'll try to eliminate some, it may take a while before it
  becomes easy to compile this.
2011-04-27 14:36:02 +00:00
Ton Roosendaal
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