Age | Commit message (Collapse) | Author |
|
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.
|
|
* Holdout shader is now working in OSL.
|
|
shader parameters, use the compatible_name function to strip whitespace.
|
|
|
|
* WIP commit of fixes for musgrave and wave.
|
|
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.
|
|
* Gradient texture renders now.
|
|
simple renderer example in OSL does it this way.
|
|
not get released properly.
|
|
BGE to not use RNA (use lower level BKE/BLI funcs instead)
|
|
BKE_utildefines is now unused but keep incase we want to add defines there later.
|
|
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.
|
|
bits, leading to out-of-range index if used directly. This must use the SHADER_MASK to get actual array index.
|
|
|
|
|
|
|
|
* Holdout shader was missing in cmake.
|
|
|
|
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.
|
|
would be
fixed in the dependency graph so it gives a proper signal but that would need a
bigger refactor.
|
|
feature set is "Experimental".
|
|
|
|
|
|
cycles_kernel_osl to the list of blender libs in creator.
|
|
identifiers. RTTI has to be disabled in cycles for OSL.
|
|
|
|
|
|
|
|
* Updates for noise_turbulence, to match svm function.
|
|
functions now all take an eta parameter, set to 1.0 if no IOR is given.
|
|
* oren_nayar is not part of the default stdosl, added it back.
|
|
into 2 parts, since OSL only allows one shader per file.
|
|
* Add oslutil.h, from osl 1.2.
|
|
* Update the stdosl header file, from official osl 1.2.
|
|
* 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.
|
|
* First batch of compile fixes for several shaders, mainly syntax errors.
|
|
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.
|
|
* Compile fix for the "direction_to_panorama" issue.
Added kernel_projection.h to kernel_triangle.h.
|
|
checking object data, which can be NULL and doesn't actually say anything about particles, removed.
|
|
systems. The device texture always contains at least one dummy particle in case particle info node is used for non-instance objects, this must be initialized in any case.
|
|
* Fixes for changes in the Open Shading Langauge API from version 0.6.0: https://github.com/imageworks/OpenShadingLanguage/commit/11ce51418b45e975ace4d919a4bdd8c2001ba300
* Removed the need for ShadingSystemImpl.
|
|
* OSL namespace fixes for osl_shader.cpp.
|
|
* Fixes for changes in r40163. Removed unused code and fixed emissive_eval function.
|
|
set to 'dying', which is just an indicator that the particle will be removed, but it is is used for instancing. This would lead to insufficient texture size and assert crash.
|
|
|
|
first particle in the device texture is a dummy for non-instance objects using the particle info node.
|
|
manager updates the device data.
|
|
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.
|
|
The particle data used by the Particle Info node was stored in cycles as a list in each object. This is a problem when the particle emitter mesh is hidden: Objects in cycles are only intended as instances of renderable meshes, so when hiding the emitter mesh the particle data doesn't get stored either. Also the particle data can potentially be copied to multiple instances of the same object, which is a waste of texture space.
The solution in this patch is to make a completely separate list of particle systems in the Cycles scene data. This way the particle data can be generated even when the emitter object itself is not visible.
|
|
* Assume OSL libs in the libdir.
|