Commit Graph

121 Commits

Author SHA1 Message Date
Thomas Dinges
f2caaaec9b OSL:
* WIP commit of fixes for musgrave and wave.
2012-09-04 16:00:12 +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
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
Thomas Dinges
bf395ff0b8 OSL / Cmake:
* Holdout shader was missing in cmake.
2012-09-03 14:08:03 +00:00
Lukas Toenne
2f70800923 Fix for OSL shader install paths. 2012-09-03 11:38:22 +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
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
Thomas Dinges
748582f49e Cycles / OSL:
Fixes for API changes in OSL RendererServices:

* Added two new required get_matrix methods, from OSL RendererServices (otherwise the constructor fails). The two new matrix methods probably still need an implementation. 
* Removed deprecated "get_pointcloud_attr_query" and "pointcloud". There are two new routines for pointclouds, function headers for those are there.

* Removed the (unused) PARTIO code parts from OSL. It was marked as not tested / not working, and due to the api changes here broken for sure. Code is still in svn history if needed.
2012-09-02 01:10:31 +00:00
Thomas Dinges
fda711a851 Cycles / OSLGlobals:
* Fixes for changes in the Open Shading Langauge API from version 0.6.0: 11ce51418b

* Removed the need for ShadingSystemImpl.
2012-08-31 20:31:21 +00:00
Thomas Dinges
7ac0dd2953 Cycles / OSL:
* OSL namespace fixes for osl_shader.cpp.
2012-08-31 20:08:55 +00:00
Thomas Dinges
01815d83fb Cycles / OSL:
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function.
2012-08-31 19:59:50 +00:00
Dalai Felinto
ded5e9cd23 clamp for Mix node
the implementation was following my early commit for Math node
I haven't had a chance to run those through Brecht, but would like to do eventually. (they work fine though)
2012-08-30 06:31:02 +00:00
Dalai Felinto
c052ebda8e Cycles bugfix: [32431] Cycles Math Node : Clamp does not work
the OSL solution is slightly different than the svm, but I think it's fine.

thanks Lukas Toenne for helping with a fix on the original patch
2012-08-29 17:30:14 +00:00
Campbell Barton
0fbb6bff27 style cleanup: block comments 2012-06-09 17:22:52 +00:00
Thomas Dinges
46945d805f Revert my own commit r47544, this does not seem to be the correct fix. :/ 2012-06-06 23:01:42 +00:00
Thomas Dinges
379c4ae4d8 Cycles / OSL:
* Missing header kernel_passes.h, needed for "direction_to_panorama" in kernel_triangle.h
2012-06-06 22:36:07 +00:00
Thomas Dinges
47c96b6e40 Cycles / OSL:
* Fixes for some silly typos in the checker shader.
* Added missing GPL licence block to node_fresnel.h.
2012-06-06 16:00:21 +00:00
Thomas Dinges
da38a0348a Cycles / OSL:
* Fixes for r46114, object_fetch_transform missed time argument.
* Syntax fixes for Checker texture.
2012-06-05 15:40:02 +00:00
Thomas Dinges
2221b994bc Cycles / OSL:
* Remove oslexec_pvt.h header and some typo fixes. 
* This file needs deeper updates for changes done in OSL 0.6.0, see
11ce51418b
2012-06-05 09:29:47 +00:00
Campbell Barton
2d290040a1 style cleanup 2012-06-04 22:44:58 +00:00
Thomas Dinges
0d3b19e734 Cycles / OSL:
* Fixes for changes in the OSL register_closure() API.
2012-06-04 20:50:59 +00:00
Thomas Dinges
ca7197b620 Cycles / OSL:
* __OSL__ is now defined for CPU when building with OSL.

* First batch of compile fixes, remove some unneeded std namespace declarations and added missing includes.
2012-06-04 19:00:13 +00:00
Thomas Dinges
f9856c1c2d Cycles / OSL:
* Update the Oren Nayar shader to incorporate updates / fixes from r41968 and r44330.
2012-06-03 18:04:52 +00:00
Thomas Dinges
345a8d8170 Cycles / OSL Textures:
* Ported my checker texture to OSL. :)
2012-06-03 00:02:24 +00:00
Thomas Dinges
a4f3475846 Cycles / OSL Textures:
* More fixes, replaced all remaining size variables with scale ones.
* Remove nonzero check in OSL textures, not needed anymore, was there to prevent division by zero for the size variable.
2012-06-02 22:57:26 +00:00
Thomas Dinges
014105f35d Cycles / OSL:
* More fixes for r41599, removed clouds and distorted noise textures and ported the Noise texture to OSL. 
ToDo: Color output is still commented, needs a closer look. 

* Some more fixes (comments, uninitialized variables)
2012-06-02 21:34:25 +00:00
Thomas Dinges
d6128ae3c6 Cycles / OSL:
* Forgot to rename Gradient OSL file.
2012-06-02 19:25:12 +00:00
Thomas Dinges
a5b2d2a2be Cycles / OSL:
* More OSL fixes for r41599, removed marble and wood texture and ported Wave Texture to OSL.
2012-06-02 19:14:14 +00:00
Thomas Dinges
d61e6e15e4 Cycles / OSL Fixes:
* OSL textures were never updated after the refactor in november 2011.
 
* Remove stucci texture and renamed blend to gradient.
2012-06-02 17:10:59 +00:00
Bastien Montagne
2e89e0096a Spell check fix (lenght -> length)
Note: two remains, in comments in extern/bullet2/src/LinearMath/btVector3.h and extern/libmv/libmv/image/tuple.h.
2012-05-16 14:25:25 +00:00
Campbell Barton
6ca7d82932 code cleanup: white space, spelling & ';;' end of lines. 2012-02-25 16:04:03 +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
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
Dalai Felinto
2a6fdbcccd Cycles Gamma Node
Node specially useful for Texture correction.

This is also a nice example of a simple node made from scratch in case someone wants to create their custom nodes.
Review by Brecht.
2011-12-16 20:35:06 +00:00
Dalai Felinto
3c8ab559a5 Normal Node - Cycles
reviewed by Brecht, with help from Lukas.

Note: dot is reversed compared to Blender.
In Blender Normals point outside, while in Cycles they point inside.
If you use your own custom vector with the Normal Node you will see a difference.
If you feed it with object normals it should work just as good.
2011-12-16 18:15:07 +00:00
Dalai Felinto
d15c5e51a1 Invert Color Cycles Node
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename.

Also the svm code could use mix (svm_lerp) instead:
 32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color;
 35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor));

I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later.
But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
2011-12-03 23:05:35 +00:00
Dalai Felinto
78495ddf32 CameraData Input Cycles Node
----------------------------
reviewed and approved by Brecht 

Important note:
the camera Z is reverted compared to Blender render.
Now it goes from zero (camera) to positive (in front of the camera)
2011-12-02 20:36:13 +00:00
Dalai Felinto
4fd2736487 HSV Color Node for Cycles
.........................
note, the OSL code has a problem.
In the original node the input and output nodes have the same name (Color).
So this will be fixed here once Brecht come up with a nice autorenaming (or we do a doversion patch) for that.
2011-12-02 16:57:37 +00:00
Dalai Felinto
4db4a0933f SeparateRGB and CombineRGB nodes for Cycles materials
reviewed and approved by Brecht

my first OpenCL code \o/
2011-12-01 21:46:10 +00:00