Lukas Toenne
a9105a7dea
Fix for Cycles (CUDA) compilation (again ...). Moved the AttributeStandard enum typedef and the attribute_standard_name mapping function to util_attribute/util_types headers, so they can properly be used by kernel and render files alike. This should avoid any std C includes which are not available in CUDA. Thanks to Sergey for help!
2012-09-07 11:06:45 +00:00
Sergey Sharybin
518c974b80
Resolve CUDA kernel compilation error
...
Instead of including util_string.h which in fact also defines some
symbols from util_string.cpp include STL's string header and directly
use std::string.
2012-09-06 16:42:55 +00:00
Lukas Toenne
ab4b74f1ed
Cycles compiler fixes related to OSL changes:
...
* reverted r50430
* removed 2 util_params.h includes from r50428, these were causing trouble with OIIO in CUDA compilation. The purpose of these was to define the ustring type, but can just use the standard string type from util_string as well.
2012-09-06 07:44:49 +00:00
Campbell Barton
04b5ef20f1
style cleanup: indentation
2012-09-06 02:20:03 +00:00
Campbell Barton
47ec91e8d3
code clenup: comments and some style edits on ghost/osx (odd indentation)
2012-09-06 02:10:09 +00:00
Thomas Dinges
3f7b4916e9
OSL Backend:
...
* Added the Phong BRDF from the inbuilt OSL shader library.
This can be used in OSL shaders only for now:
* phong(normal N, float exponent)
* phong_ramp(normal N, float exponent, color colors[8]
2012-09-05 23:22:36 +00:00
Dalai Felinto
dbe3cea002
silencing some of the warnings in OSL for OSX
2012-09-05 20:50:10 +00:00
Lukas Toenne
d490277194
Quick fix for compiler error. Somehow the isfinite symbol got lost for SVM too now, no idea how this happened or where it actually came from. This will likely also cause trouble with CUDA/OpenCL compilers, will have to be fixed properly later.
2012-09-05 18:12:17 +00:00
Lukas Toenne
674d295df3
Fix for attribute lookup in OSL. This uses a map in the OSL globals instead of the device texture.
2012-09-05 17:08:56 +00:00
Lukas Toenne
a823207d81
Cycles fix: particle standard attribute had no name conversion yet.
2012-09-05 12:06:44 +00:00
Lukas Toenne
f3a91f461c
Fix for OSL memory leak. The context creation for OSL is now done in the shader_setup_* functions, since it should specific to the sample being worked on. The the context release then happens in the kernel_shader functions after shader evaluation is done. Care has to be taken to ensure the shader_release function is also called in cases where the path integration is cancelled early, this was the main cause for unreleased contexts and subsequent new allocations.
2012-09-05 08:12:22 +00:00
Thomas Dinges
65b214ed04
* Forgot to commit CMake change for the Brick texture.
2012-09-05 00:59:04 +00:00
Thomas Dinges
ebe29c3f84
OSL:
...
* Noise Texture is rendering now.
2012-09-04 23:34:08 +00:00
Thomas Dinges
0206d7d02b
Cycles / OSL:
...
* Ported the Brick Texture to OSL. Renders fine :)
2012-09-04 22:33:11 +00:00
Lukas Toenne
95b85a8c37
Revert "Use one context per OSL thread. Not sure if this actually works, but the simple renderer example in OSL does it this way."
...
This does not actually work: The context must not be shared between threads, but using the same context between different samples actually seems to prevent OSL from switching between shaders. The proper solution would be to ensure memory pooling works correctly.
This reverts commit 69f87e69258d6266dcb20f09f7e3d4021e663432.
2012-09-04 17:28:36 +00:00
Thomas Dinges
0e3f3a0aef
OSL:
...
* Holdout shader is now working in OSL.
2012-09-04 16:54:32 +00:00
Lukas Toenne
64a4a05d31
Fix for OSL input parameter name mapping. When assigning input constants to shader parameters, use the compatible_name function to strip whitespace.
2012-09-04 16:47:00 +00:00
Lukas Toenne
f51eb99faa
Minor syntax error in musgrave osl texture.
2012-09-04 16:46:56 +00:00
Thomas Dinges
f2caaaec9b
OSL:
...
* WIP commit of fixes for musgrave and wave.
2012-09-04 16:00:12 +00:00
Brecht Van Lommel
adea12cb01
Cycles: merge of changes from tomato branch.
...
Regular rendering now works tiled, and supports save buffers to save memory
during render and cache render results.
Brick texture node by Thomas.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Brick_Texture
Image texture Blended Box Mapping.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Image_Texture
http://mango.blender.org/production/blended_box/
Various bug fixes by Sergey and Campbell.
* Fix for reading freed memory in some node setups.
* Fix incorrect memory read when synchronizing mesh motion.
* Fix crash appearing when direct light usage is different on different layers.
* Fix for vector pass gives wrong result in some circumstances.
* Fix for wrong resolution used for rendering Render Layer node.
* Option to cancel rendering when doing initial synchronization.
* No more texture limit when using CPU render.
* Many fixes for new tiled rendering.
2012-09-04 13:29:07 +00:00
Thomas Dinges
bf8d695234
OSL:
...
* Gradient texture renders now.
2012-09-04 11:41:48 +00:00
Lukas Toenne
6805db676d
Use one context per OSL thread. Not sure if this actually works, but the simple renderer example in OSL does it this way.
2012-09-04 08:53:47 +00:00
Lukas Toenne
71871463a4
Fix for bad memory leak in OSL: the context created for each OSL sample did not get released properly.
2012-09-04 08:53:44 +00:00
Campbell Barton
914d389713
fix for building without python, also rework python-main-loop control in the BGE to not use RNA (use lower level BKE/BLI funcs instead)
2012-09-04 03:26:12 +00:00
Campbell Barton
aaafa0c2fe
code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later.
2012-09-03 22:04:14 +00:00
Lukas Toenne
f8c29c999f
Fix for Cycles OSL: The RenderServices pointer in ShadingSystem is no longer accessible from the interface class (presumably because it is just the base class pointer anyway and would have to be casted). The OSLRenderServices pointer to our own implementation is now stored alongside the ShadingSystem in the kernel globals, so it can be accessed in thread_init.
2012-09-03 18:51:02 +00:00
Lukas Toenne
9b30e8d83a
The shader id generated by the manager contains some special flags in high bits, leading to out-of-range index if used directly. This must use the SHADER_MASK to get actual array index.
2012-09-03 18:50:59 +00:00
Brecht Van Lommel
a2515f3ca0
Fix #32089 : non-progressive integrator issue with semi-transparent surfaces.
2012-09-03 17:41:49 +00:00
Brecht Van Lommel
195c520d05
Fix #32046 : GHOST_DropTargetWin32 memory leak, patch by Matt D.
2012-09-03 17:41:47 +00:00
Brecht Van Lommel
989313e450
Fix #32088 : cycles crash removing a lamp with non-progressive sampling.
2012-09-03 16:52:59 +00:00
Thomas Dinges
bf395ff0b8
OSL / Cmake:
...
* Holdout shader was missing in cmake.
2012-09-03 14:08:03 +00:00
Brecht Van Lommel
bfa82b074d
Fix #32097 : cycles window texture coordinate wrong, happened after 2.63.
2012-09-03 14:07:49 +00:00
Lukas Toenne
ad551c1ec6
Enable compilation of the SVM backend for Cycles even when OSL is enabled. The switch between SVM/OSL is decided at runtime, so the SVM code cannot simply be ignored when OSL is enabled.
...
Currently all shader functions check the OSL/SVM flag to dispatch to the appropriate backend. If this turns out to be a significant overhead (unlikely) this test should be moved out of the inner loop.
2012-09-03 13:56:40 +00:00
Brecht Van Lommel
264975b89c
Fix #32144 : cycles viewport missing update with dupliverts. Ideally this would be
...
fixed in the dependency graph so it gives a proper signal but that would need a
bigger refactor.
2012-09-03 13:18:23 +00:00
Thomas Dinges
9fbc1c3149
* Added back UI switch for the Cycles shading system. Only visible when the feature set is "Experimental".
2012-09-03 12:35:32 +00:00
Lukas Toenne
2f70800923
Fix for OSL shader install paths.
2012-09-03 11:38:22 +00:00
Lukas Toenne
99972cbfdc
RTTI needs to be disabled in cycles for OSL.
2012-09-03 11:38:20 +00:00
Lukas Toenne
c0a3657e7a
Added library linking for cycles_kernel_osl to OSL libraries and added cycles_kernel_osl to the list of blender libs in creator.
2012-09-03 11:38:18 +00:00
Lukas Toenne
0238d032b2
Replaced dynamic_casts for node type checks by simple 'special type' identifiers. RTTI has to be disabled in cycles for OSL.
2012-09-03 11:38:15 +00:00
Lukas Toenne
c9cd150f43
Cycles compile fix: only use std::isfinite when OSL is enabled.
2012-09-02 18:11:28 +00:00
Thomas Dinges
dfec5a3655
* Removed last occurrence of get_pointcloud_attr_query.
2012-09-02 17:39:07 +00:00
Thomas Dinges
add7ca12d9
* OSL can't overwrite input parameters, use a local variable instead.
2012-09-02 16:37:58 +00:00
Thomas Dinges
b26d19a7b8
Cycles / OSL:
...
* Updates for noise_turbulence, to match svm function.
2012-09-02 16:06:18 +00:00
Lukas Toenne
e1bca6cfc4
Fixed a number of OSL syntax errors from the updated 1.2 API. Microfacet functions now all take an eta parameter, set to 1.0 if no IOR is given.
2012-09-02 15:41:35 +00:00
Thomas Dinges
28d02bc056
Fix for r50314:
...
* oren_nayar is not part of the default stdosl, added it back.
2012-09-02 15:26:13 +00:00
Lukas Toenne
092f6344c3
Fixed remaining syntax errors in OSL files. node_sepcomb_rgb.osl is split into 2 parts, since OSL only allows one shader per file.
2012-09-02 15:07:51 +00:00
Thomas Dinges
f1d279912f
Cycles / OSL:
...
* Add oslutil.h, from osl 1.2.
2012-09-02 13:34:12 +00:00
Thomas Dinges
6c02a8fc8c
OSL / Cycles:
...
* Update the stdosl header file, from official osl 1.2.
2012-09-02 13:23:44 +00:00
Thomas Dinges
25fc454ce0
Cycles / OSL:
...
* Remove declaration of node_blend_weight_texture from cmake, does not exist, and match node_blend_weight name in nodes.cpp with the actual file.
2012-09-02 12:46:54 +00:00
Thomas Dinges
23dca13691
Cycles / OSL:
...
* First batch of compile fixes for several shaders, mainly syntax errors.
2012-09-02 12:24:04 +00:00