Commit Graph

1545 Commits

Author SHA1 Message Date
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
7ac0dd2953 Cycles / OSL:
* OSL namespace fixes for osl_shader.cpp.
2012-08-31 20:08:55 +00:00
01815d83fb Cycles / OSL:
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function.
2012-08-31 19:59:50 +00:00
Lukas Toenne
9e3fa15d4b Added a bunch of additional particle state attributes to the Cycles particle info node:
* Location: Basically the same as the location from Object Info node for object instances on particles, but in principle there could be additional offsets for dupli objects, so included for completeness.
* Size: Single float scale of the particle. Also directly translates to object scale for current dupli objects, but handy to have as a single float to start with instead of a scale vector (currently not even exposed in Object Info).
* Rotation: This is a quaternion, which are not yet supported by Cycles nodes. The float4 is copied to internal Cycles data and stored in the particles texture data, but the node doesn't have a socket for it yet and the data is not yet written to the stack. Code is just commented out so could be enabled quickly if/when rotation support is added to cycles.
* Velocity: Linear velocity vector of particles.
* Angular Velocity: Angular velocity around principle axes.

The texture data is currently packed tightly into the particles texture, which saves a few bytes, but requires an additional texture lookup for some vector attributes which spread over two float4s. Could also add another float4 to particle size to avoid this.
2012-08-31 19:38:59 +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
9ee3a8655f Fix for fix, now nested 2012-08-07 12:09:48 +00:00
d4029de0d6 Fix for endiantest, xcode condition interferred with other os 2012-08-07 12:03:43 +00:00
5bcdecd72b OSX: disable kernels in cycles gpu again, would only work in 10.8 afaik 2012-08-07 10:10:03 +00:00
b9c441536c OSX/cmake: Mountain-Lion (10.8 )adaptions, skip unsupported endianess etc., todo: deployment target management 2012-08-07 10:02:34 +00:00
7ffa42075e Fix #32205: Holdout shader + transparent background stays black with Alpha = 1
It was read of initialized memory around holdout_weight in cases when
holdout material is used. Seems that it should be assigned to result
of shader_holdout_eval here.

If Brecht could double check this it'll be great.

This could potentially fix #32224: Holdout Error with CUDA Cycles Render
2012-08-01 12:59:47 +00:00
a199ae5368 style cleanup: whitespace, also add '?' to save over popup since it wasnt totally clear it was a question (user pointed this out, they thought it was just notification and lost their work). 2012-07-31 23:06:12 +00:00
Lukas Toenne
fec872ef9c Added a particle index output to the Particle Info Cycles node. This is required to get consistent ID numbers for particles. The Object ID is not usable since it's a user defined value of the instanced object, which does not vary per instance. Also the random value from the object info node is not consistent over time, since it only depends on the index in the dupli list (so each emitted or dying particle shifts the value).
The particle index is always the same for a specific particle. Randomized values can be generated from this with the use of a noise texture.
2012-07-26 11:40:58 +00:00
5412389af6 fix for cycles bug in localview: see r48269, bits used for localview gave collisions with PathRayFlag's 2012-07-23 14:48:19 +00:00
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
158a70c8a3 the mutex struct seems to be different across systems, use memset rather then an initializer value.
also quiet warning in cycles.
2012-06-25 11:19:38 +00:00
6a8fceb8b8 Fix cycles non-progressive integrator not delivering correct AO pass. 2012-06-15 10:15:10 +00:00
4940482e59 Fix issue with missing emission in non-progressive integrator. 2012-06-13 17:34:47 +00:00
4ba456d175 Cycles: first step for implementation of non-progressive sampler that handles
direct and indirect lighting differently. Rather than picking one light for each
point on the path, it now loops over all lights for direct lighting. For indirect
lighting it still picks a random light each time.

It gives control over the number of AA samples, and the number of Diffuse, Glossy,
Transmission, AO, Mesh Light, Background and Lamp samples for each AA sample.

This helps tuning render performance/noise and tends to give less noise for renders
dominated by direct lighting.

This sampling mode only works on the CPU, and still needs proper tile rendering
to show progress (will follow tommorrow or so), because each AA sample can be quite
slow now and so the delay between each update wil be too long.
2012-06-13 11:44:48 +00:00
2c1abe1f58 style cleanup: assignment & indentation. 2012-06-09 18:56:12 +00:00
43361487ba code cleanup: quiet all warnings about double promotion (either by changing the type or explicitly casting). 2012-06-09 17:45:22 +00:00
0fbb6bff27 style cleanup: block comments 2012-06-09 17:22:52 +00:00
7c87f646c2 Cycles / Textures:
* Some code cleanup, removed old enums, which are not used anymore. 
* Some renaming for consistency and to match new texture names.
2012-06-08 19:57:25 +00:00
3d740121ed Cycles / Code Cleanup:
* Removed a workaround for the NodeType enum, uses consecutive values now. 

I could not find issues with CUDA, when compiling with Toolkit 4.2 (all sm kernels) and regression files rendered fine on my GPU with sm_21.
2012-06-08 19:21:12 +00:00
Lukas Toenne
5e1bbde01d Particle Info node for Cycles. This can be used to access particle information in material shaders for dupli objects. For now only the particle Age and individual Lifetime (in frames) are supported, more attributes can be added when needed.
The particle data is stored in a separate texture if any of the dupli objects uses particle info nodes in shaders. To map dupli objects onto particles the store an additional particle_index value, which is different from the simple dupli object index (only visible particles, also works for particle dupli groups mode).

Some simple use cases on the code.blender.org blog:
http://code.blender.org/index.php/2012/05/particle-info-node/
2012-06-08 16:17:57 +00:00
5ebc88266e Cycles: small code fix for disabled code. 2012-06-06 23:27:38 +00:00
46945d805f Revert my own commit r47544, this does not seem to be the correct fix. :/ 2012-06-06 23:01:42 +00:00
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
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
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
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
2d290040a1 style cleanup 2012-06-04 22:44:58 +00:00
0d3b19e734 Cycles / OSL:
* Fixes for changes in the OSL register_closure() API.
2012-06-04 20:50:59 +00:00
510f98576a Cycles / OSL:
* Compile fixes, missing ShaderClosure argument for eval functions. (r40163)
2012-06-04 19:53:50 +00:00
d9589bf0dd Cycles: fix spot lamp emitting light in two directions. 2012-06-04 19:38:10 +00:00
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
6548f7efef Cycles: spot lamp support. 2012-06-04 17:17:10 +00:00
f9856c1c2d Cycles / OSL:
* Update the Oren Nayar shader to incorporate updates / fixes from r41968 and r44330.
2012-06-03 18:04:52 +00:00
345a8d8170 Cycles / OSL Textures:
* Ported my checker texture to OSL. :)
2012-06-03 00:02:24 +00:00
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
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
d6128ae3c6 Cycles / OSL:
* Forgot to rename Gradient OSL file.
2012-06-02 19:25:12 +00:00
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
cf929c7796 Cycles / Wave Texture:
* Found an issue in the shader code, it used the x coordinate twice.
2012-06-02 17:44:28 +00:00
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
2b5eed9689 Cycles:
* Added missing GPL licence block to kernel_textures.h
2012-05-31 20:26:36 +00:00
a7c68afc72 Cycles / CUDA:
* Remove double declaration of cosf.
2012-05-28 23:51:06 +00:00
d3c6c6babd Cycles / CUDA:
* Remove -use_fast_math flag from scons as well.
2012-05-28 19:49:26 +00:00
131de4352b Cycles: fixes to make CUDA 4.2 work, compiling gave errors in shadows and
other places, was mainly due to instancing not working, but also found
issues in procedural textures.

The problem was with --use_fast_math, this seems to now have way lower
precision for some operations. Disabled this flag and selectively use
fast math functions. Did not find performance regression on GTX 460 after
doing this.
2012-05-28 19:21:13 +00:00
857dedbc58 style cleanup 2012-05-27 00:36:50 +00:00