Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-31Cycles: Add logging to OSL and CUDA initialization/compilationSergey Sharybin
This is what was handy troubleshooting issues in the studio, plus this is exactly the same thing which would be helpful when solving issues with paths to compiled shaders and cubins for standalone repository.
2014-12-31Cycles: Synchronize changes with standalone repositorySergey Sharybin
This changes were done in original commit of the standalone Cycles repository and needed here for easier patch synchronization.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-25Cycles: Enable QBVH optimization structure for SSE2 CPUsSergey Sharybin
This commit enables QBVH optimization structure automatically if rendering with CPU and SSE2 support is detected. This brings render time of agent shot back to the speed it used to be before the watertight intersections commit, single koro and sponza scenes are about 7% faster here.
2014-12-25Cycles: Implement QBVH tree traversalSergey Sharybin
This commit implements traversal for QBVH tree, which is based on the old loop code for traversal itself and Embree for node intersection. This commit also does some changes to the loop inspired by Embree: - Visibility flags are only checked for primitives. Doing visibility check for every node cost quite reasonable amount of time and in most cases those checks are true-positive. Other idea here would be to do visibility checks for leaf nodes only, but this would need to be investigated further. - For minimum hair width we extend all the nodes' bounding boxes. Again doing curve visibility check is quite costly for each of the nodes and those checks returns truth for most of the hierarchy anyway. There are number of possible optimization still, but current state is good enough in terms it makes rendering faster a little bit after recent watertight commit. Currently QBVH is only implemented for CPU with SSE2 support at least. All other devices would need to be supported later (if that'd make sense from performance point of view). The code is enabled for compilation in kernel. but blender wouldn't use it still.
2014-12-25Cycles: Optimize vector math node without links to single values.Thomas Dinges
2014-12-18Cycles: Add missing entries in the Integrator constructor and some updatesThomas Dinges
to the XML API. (Changes from the standalone repo)
2014-12-08Cleanup: spellingCampbell Barton
2014-12-05Cycles: Add dedicated Progress::set_error() callSergey Sharybin
Currently it acts the same as set_cancel(), but this way we're able to distinguish situations when rendering was aborted by user demand (for example pressing Esc in standalone renderer) or if something went horribly wrong (for example out of VRAM error).
2014-12-05Cycles: Early output from Scene::device_update when device error occursSergey Sharybin
This way for example we wouldn't wait a fortune while BVH is building after GPU run out of memory when loading images just to see the render failure message.
2014-12-04Cycles: Fix compilation error after recent logging changesSergey Sharybin
Forbid OSL from polluting current conext with obscure stuff from windows.h, it's not useful and unhealthy anyway. Maybe we sohuld also forbid using abbreviated Glog constants as well tho.
2014-11-20Cycles: Fix typo on graphiz graph dumperSergey Sharybin
2014-11-19Cycles: Missed some changes in the previous hair motion blur fixSergey Sharybin
So now cases when object has both hair motion blur and deformation motion blur vector pass is all correct. We could get rid of the flag in the future, still need to look deeper into all the areas trying to find a more clear solution.
2014-11-16Cycles: Remove Integrator volume sampling flag, that was moved to Shader.Thomas Dinges
2014-11-11Fix T41783: Cycles baking ignores displacementDalai Felinto
Create unique flag for output shaders with displacement data and use it to calculate transformed normal. Implementation suggested by Brecht Van Lommel. Reviewers: brecht Differential Revision: https://developer.blender.org/D890
2014-11-08Add safe_normalize to cycles, avoid checking length firstCampbell Barton
This won't give any big speedup, just avoids redundant sqrtf and may be useful in future. Differential Revision: https://developer.blender.org/D880
2014-11-08Cleanup: cycles whitespaceCampbell Barton
2014-11-06Cycles: Add "Max Bounce" control for lampsThomas Dinges
With this setting, we can limit the influence of a lamp to a certain amount of bounces. 0 = Only direct light contribution 1 = 1 light bounce ... Differential revision: https://developer.blender.org/D860 You can find an example render in the release logs: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.73/Cycles
2014-11-04Cycles: Remove compatibility code for OSL-1.4Sergey Sharybin
That code was mainly needed for the transition period, now we've got all platforms updated to new OSL. Plus there are some crucial fixes baking in the current upstream sources which we'll need to have for the next Blender release.
2014-10-29Cleanup: warnings, typosCampbell Barton
2014-10-29Cycles: Optimize math node without links to a single value nodeSergey Sharybin
Pretty straightforward implementation. Just needed to move some functions around to make them available at shader compile time.
2014-10-22Revert "Cycles: Implement Mitchell-Netravali pixel filter"Sergey Sharybin
As it appears we can't really use mitchell filter together with the current filter importance sampling, This reverts commit 742911314322e5dae3a07469d0ca53b61427f978.
2014-10-22Cycles: Implement Mitchell-Netravali pixel filterSergey Sharybin
It's the same filter which is used by default by Blender Internal renderer and it gives crispier edges than gaussian filter. Default filter for Cycles is unchanged because it's unclear if new filter gives more noise or not. After some further real production tests we can consider making Mitchell filter default for Cycles as well.
2014-10-22Cycles: Get rid of hardcoded enum values in the codeSergey Sharybin
Still need to keep enum definition in sync with the python code, but the code itself is a bit more clear to understand now.
2014-10-22Cycles: Expose volume voxel data interpolation to the interfaceSergey Sharybin
It is per-material setting which could be found under the Volume settings in the material and world context buttons. There could still be some code-wise improvements, like using variable-size macro for interp3d instead of having interp3d_ex to which you can pass the interpolation method.
2014-10-21Fix T42178: Cycles Film Exposure not triggering Viewport updateSergey Sharybin
2014-10-17Cycles: Fix for possibly uninitialized variableSergey Sharybin
That's rather harmless in the master, just could cause some issues with the patches.
2014-10-12Cleanup: Typo fix for Blackbody variable, had different naming in the ↵Thomas Dinges
comments and also in OSL.
2014-10-08Cycles: reduce float/double conversionsCampbell Barton
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-10-06Cycles: Move system headers include to the top of the filesSergey Sharybin
This is a good practice to do anyway, plus it'll help with the upcoming change.
2014-10-05Cycles: Center Tile order had a slight offset to the left.Greg Zaal
Signed-off-by: Thomas Dinges
2014-10-04Cycles: Add support for debug passesSergey Sharybin
Currently only summed number of traversal steps and intersections used by the camera ray intersection pass is implemented, but in the future we will support more debug passes which would help checking what things makes the scene slow. Example of such extra passes could be number of bounces, time spent on the shader tree evaluation and so. Implementation from the Cycles side is pretty much straightforward, could only mention here that it's a build-time option disabled by default. From the blender side it's implemented as a PASS_DEBUG with several subtypes possible. This way we don't need to create an extra DNA pass type for each of the debug passes, saving us a bits. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D813
2014-10-03Cycles: Decouple object flags update to a separate update stepSergey Sharybin
This way there's much less cross-references between objects and meshes device update functions. The only thing remained s the object bounds calculation which is needed by bvh update. This could also be decoupled, but it's not that crucial yet because its's how it used to be for ages now.
2014-10-03Fix T41920: Changing Use Alpha settings doesn't refresh viewport properlySergey Sharybin
2014-10-03Cycles: Implement preliminary test for volume stack update from SSSSergey Sharybin
This adds an AABB collision check for objects with volumes and if there's a collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag. This solves a speed regression introduced by the fix for T39823 by skipping volume stack update in cases no volumes intersects the current SSS object.
2014-10-03Cycles: Fix for non-initialized variableSergey Sharybin
2014-10-03Cycles: Make camera-in-volume an official featureSergey Sharybin
This means it's no longer needed to enable experimental feature set in order to have proper camera in volume support. And this also means if there's something wrong going on, or if there's speed regression for cases when camera is obviously not in the volume -- this issues are to be reported and handled in the regular matter. Happy blending!
2014-10-03Cycles: Speedup of kernel side camera-in-volume detectionSergey Sharybin
The idea is to only count intersections with objects which has volumetric shader and ignore all other objects. This is probably as fast as we can go without involving some forth level magic.
2014-10-02Cycles: optimization of panoramic camera in volumeSergey Sharybin
Now we do much better preliminary check for panoramic camera is inside the volume object boundings. Also we're now cacheing the has_volume in the mesh, which makes it unneeded iterations for each object's shaders. Should be no functional changes, just faster sync and panoramic-in-volume rendering.
2014-09-25Cycles: Add support for cameras inside volumeSergey Sharybin
Basically the title says it all, volume stack initialization now is aware that camera might be inside of the volume. This gives quite noticeable render time regressions in cases camera is in the volume (didn't measure them yet) because this requires quite a few of ray-casting per camera ray in order to check which objects we're inside. Not quite sure if this might be optimized. But the good thing is that we can do quite a good job on detecting whether camera is outside of any of the volumes and in this case there should be no time penalty at all (apart from some extra checks during the sync state). For now we're only doing rather simple AABB checks between the viewplane and volume objects. This could give some false-positives, but this should be good starting point. Need to mention panoramic cameras here, for them it's only check for whether there are volumes in the scene, which would lead to speed regressions even if the camera is outside of the volumes. Would need to figure out proper check for such cameras. There are still quite a few of TODOs in the code, but the patch is good enough to start playing around with it checking whether there are some obvious mistakes somewhere. Currently the feature is only available in the Experimental feature sey, need to solve some of the TODOs and look into making things faster before considering the feature is ready for the official feature set. This would still likely happen in current release cycle. Reviewers: brecht, juicyfruit, dingto Differential Revision: https://developer.blender.org/D794
2014-09-25Cycles: Add method to dump current shader graph to the graphiz fileSergey Sharybin
This is rather useful to see how good optimization went and so. Currently uses quite simple notation: shader nodes are nodes on the graph, connects between graph nodes are named by the sockets names, so i.e. connection between BSDF and Mix would be named bsdf:closure1. Could be improved in the feature to draw fancier graph, but it's good enough already. Use in the following way: - To create graphix file call graph->dump_graph("graph.dot") - To visualize the grapf call: dot -Tpng graph.dot -o graph.png
2014-09-24make "tri_shader" an int instead of a floatMartijn Berger
tri_shader does no longer need to a float. Reviewers: dingto, sergey Reviewed By: dingto, sergey Subscribers: dingto Projects: #cycles Differential Revision: https://developer.blender.org/D789
2014-09-24Cycles: Shader Graph Optimization for Mix RGB nodes.Thomas Dinges
Basically the same as AC2c58e96685e8, but for Mix RGB Shaders, in case we use the Mix type. This way the node can be used as texture switch for example, setting the Factor to 0.0 or 1.0, without wasting extra memory / render time.
2014-09-19Cycles: Remove unused Mix Shaders from the ShaderGraph, instead of only ↵Thomas Dinges
relinking. Differential revision: https://developer.blender.org/D796
2014-09-11Followup for last commit, we can break the loop, once we have a match.Thomas Dinges
2014-09-11Fix T41784, Re-enabling transparent shadows in Cycles doesn't work correctlyThomas Dinges
2014-09-05Cycles: Split caustics option, to allow separate control for Reflection and ↵Thomas Dinges
Refraction caustics. This way artists can only disable/enable refraction or reflection caustics. See Cycles logs for an example: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Cycles Differential revision: https://developer.blender.org/D766
2014-09-05Cycles: Initial support for volume ray visibility.Thomas Dinges
This adds a new "Volume Scatter" option to the "Ray Visibility" panels and can be used to e.g. exclude lamps from having an influence on the volume. See release logs for an example: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Cycles Differential revision: https://developer.blender.org/D771
2014-09-04Cleanup: Code deduplication for similar passes.Thomas Dinges