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
path: root/intern
AgeCommit message (Collapse)Author
2015-12-13Moto Clean-up: double-promotion warningsJorge Bernal
2015-12-13BGE: Use float as default instead of double in Moto library.Porteries Tristan
Use float in moto instead of double for MT_Scalar. This switch allow future optimization like SSE. Additionally, it changes the OpenGL calls to float versions as they are very bad with doubles. Reviewers: campbellbarton, moguri, lordloki Reviewed By: lordloki Subscribers: brecht, lordloki Differential Revision: https://developer.blender.org/D1610
2015-12-11Memutil: remove some unused code.Brecht Van Lommel
2015-12-11IK Solver: remove unused and outdated test code.Brecht Van Lommel
2015-12-11Moto: remove some unused code.Brecht Van Lommel
2015-12-11IK Solver: replace TNT math library with Eigen.Brecht Van Lommel
Performance is about the same or slightly better for typical IK chains. In extreme cases with many bones and multiple targets, of which some are unreachable, I've seen 2x speedups.
2015-12-11IK solver: replace Moto math library with Eigen.Brecht Van Lommel
2015-12-10Cleanup: quiet warningCampbell Barton
2015-12-10Eigen: fold remaining OpenNL code into intern/eigen.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D1662
2015-12-10Eigen: move C API into intern/eigen.Brecht Van Lommel
2015-12-09Cycles: Comment out unused argumentsSergey Sharybin
2015-12-09remove a debug printfMike Erwin
2015-12-08OpenGL: use sized texture internal formatsMike Erwin
Maybe this is pedantic but I read it’s best to explicitly set the desired component size. Also append “_ARB” to float texture formats since those need an extension in GL 2.1.
2015-12-07Add support for compiling the cuda kernel on the Nvidia Jetson TX1Martijn Berger
2015-12-07OpenSubdiv: refine OpenGL version & extension checksMike Erwin
Use new GPU_legacy_support() function. Determine GLSL version once instead of per shader. For Texture Buffers, allow ARB or EXT version of the extension. Either one will do.
2015-12-07OpenGL: request version 2.1 when creating context on WindowsMike Erwin
In practice this gives us a context that is *compatible* with GL 2.1. On my machine it gives a GL 3.3 or 4.3 compatibility profile context, depending on graphics card installed. Also fixed enum for core profile (not used yet). Also added option for GL 3.2 compatibility profile. This will be useful during Blender 2.8 development, until we are able to use the core profile. On my machine this gives exactly a GL 3.2 compatibility profile context, not 3.3 or 4.
2015-12-07OpenSubdiv: disable TF on lower GL versions. Fixes T46794Mike Erwin
My previous edit to this check was too lax. OSD's shader for the Transform Feedback evaluator declares itself #version 410 so disable the feature if user's GL < 4.1.
2015-12-07Cycles: Fold Value and RGB node as well.Thomas Dinges
This way, connecting Value or RGB node to e.g. a Math node will still allow folding. Note: The same should be done for the ConvertNode, but I leave that for another day.
2015-12-05Cycles: Implement extrapolation for RGB curvesSergey Sharybin
Previously RGB Curves node will clamp input to 0..1 which is rather useless when one wants to use HDR image textures and do bit of correction on them. Now kernel code supports extrapolation of baked LUT based on first/last two table points and performs linear extrapolation. The only tricky part is to guess the range to bake the LUT for. Currently it's using simple approach -- minmax of the input curves. While this behaves ok for the simple cases it's easy to trick the system up causing incorrect results. Not sure we can solve those issues in a general case and since the new code is giving more expected results it's not that bad actually. In the worst case artist migh always create explicit point to make sure LUT is created for the needed HDR range. Reviewers: brecht, juicyfruit Subscribers: sebastian_k Differential Revision: https://developer.blender.org/D1658
2015-12-05Fix OSL shaders building with some versions of that lib.Bastien Montagne
This must have happened months ago, but as I did not `make clean` any build folder since then, so only noted that today. Issue is same as dirty patch we have to apply to ODL sources before building it in install_deps.sh - for some mysterious reason, it has become impossible to compoile .osl files into .oso ones without giving explicit output file name (otherwise it just produces `.oso` file - utterly stupid and useless). We could probably fix that in own OSL source, but think being explicit here does not hurt anyway, so... Let's go the easy way.
2015-12-02Cycles: Avoid recursion when doing constant foldSergey Sharybin
This reduces stress on the the stack memory which could be really handy on certain operation systems which applies strict limits on the stack. Reviewers: brecht, juicyfruit, dingto Reviewed By: brecht, juicyfruit, dingto Differential Revision: https://developer.blender.org/D1656
2015-12-02Cycles: Fix SSS object not properly reflected in glossy object with indirect ↵Sergey Sharybin
clamping This fixes remained issues reported in T46908.
2015-12-02Fix T46815: Changing playback setting makes blender crashJörg Müller
Copied the fix from upstream audaspace.
2015-12-02Cleanup: warnings & spellingCampbell Barton
2015-12-02Cycles: Fix wrong SSS intersection refinement when this option is disabledSergey Sharybin
The code is disabled by default, but we'd better keep it all correct.
2015-12-02Cycles: Fix wrong SSS on scaled instanced objectsSergey Sharybin
Was a mistake on searching refined position form ray and hit distance. Remember kids: SSS distance is in the object space!
2015-12-02Cycles: Remove TODO, it is possible there'll be more intersections recordedSergey Sharybin
It's just only few of them will be stored in the intersection array, nothing wrong with that what's so ever.
2015-12-01Cleanup: Remove some more code for BVH cache. I missed that somehow.Thomas Dinges
2015-12-01Fix T46906: Cycles syntax error while compiling OpenCL kernelsLukas Stockner
The safe normalization was using a float as a condition, now the intended non-zero test is explicit.
2015-12-01Fix T46898: OpenCL Fails to compile after recent SSS changesSergey Sharybin
2015-11-30Cleanup: warning w/ unknown defineCampbell Barton
2015-11-28Cycles: Avoid having two consequence getenv() callsSergey Sharybin
2015-11-28Cycles: Fix wrong volume stack after SSS bounceSergey Sharybin
Was introduced by a recent fixes, now it should be all correct and additionally it solves the TODO mentioned in the code.
2015-11-28Cycles: Fix wrong original ray used for SSS bakingSergey Sharybin
Also de-duplicated some code by moving to an utility function.
2015-11-28Cycles: Set of fixes for delayed SSS ray tracingSergey Sharybin
There were multiple issues which are solved now: - It was possible that ray wouldn't be bounced off the BSSRDF, for example when PDF or shader eval is zero. In this case PathState might have been left in pre-bounced state which would have been gave incorrect shading results. This is solved by having separate PathState for each of the hits. - Path radiance summing wasn't happening correct as well, indirect rays were using wrong path radiance in the case when there were more than one hit recorded. This is now using a bit trickier state machine which calculates path radiance for just SSS (both direct and indirect) and then sums it back to the final radiance. - Previous commit wasn't totally correct either and was an induced bug due to wrong path state left from the "un-happened" ray bounce. There should be no special case happening here, BSSRDFs will be replaced with diffuse ones due to PATH_RAY_DIFFUSE_ANCESTOR flag. - Merged back codebases for "delayed" and "immediate" indirect SSS ray tracing, hopefully making it easier to maintain the codebase. Sure this changes brings memory usage back by about 4-5%, but overall it's still about 2x memory reduction for the experimental kernel here. Thanks Brecht for the review!
2015-11-28Cycles: Fallback to diffuse BSDF for the indirect SSS rays when BSSRDF is hitSergey Sharybin
This is actually how it was intended to work, just didn't notice it wasn't really happening in the main ray loop. Solves some memory issues reported in T46880.
2015-11-28Cycles: Fix missing indirect subsurface initialization in the bake codeSergey Sharybin
2015-11-27Cycles: Fully roll-back to non-delayed SSS indirect rays for CPUSergey Sharybin
There are some issues to be solved with the recent optimization we did for the indirect rays for the SSS. Those issues will take a bit of a time to be fully solved still and we need to unlock Caminandes team now, so let's revert some changes back. CUDA will still use delayed indirect rays since it's an experimental feature. For the details about what's to be done still please refer to T46880.
2015-11-27Revert "Cycles: Fix wrong SSS with regular path tracing and clamping enabled"Sergey Sharybin
This wasn't really a complete fix and only worked if there was a single scatter event recorded only. Proper fix requires some more thoughts to make it correct without memory use increase. This reverts commit bf9e88bfbebaf5c6228363560970fa526e779c8b.
2015-11-26Cycles: Fix wrong SSS with regular path tracing and clamping enabledSergey Sharybin
Radiance sum and reset was happening in different order after 26f1c51. This is a quick fix to unlock Caminandes team, perhaps we can avoid having separate variable to detect when radiance is to be sum.
2015-11-26Fix T46760: Branched Path Tracing converges to different result than plain ↵Stefan Werner
Path Tracing Multiple importance sampling for branched path tracing light samples needs to be calculated separately per BSDF, not with Veach's one sample model.
2015-11-25Fix T46848: more OpenNL crashes due to uninitialized variables.Brecht Van Lommel
2015-11-25Cycles: Create proper sockets for OSL script nodesSergey Sharybin
Previously render nodes will be always created with just a VECTOR socket type and then those sockets will try to be set as all point, vector and normal to work around lack of such a subtype distinguishing in blender. This change makes it so subtype is being queried from OSL itself and proper subtupe is being used for socket. It's still not in use for the official builds because it requires changes applied recently on the 1.7 branch of OSL: https://github.com/imageworks/OpenShadingLanguage/commit/f70e58f This solves artists confusion reported in T46117. Reviewers: #cycles, juicyfruit Reviewed By: #cycles, juicyfruit Subscribers: juicyfruit Differential Revision: https://developer.blender.org/D1627
2015-11-25Cycles: Whitespace cleanup from the recent changesSergey Sharybin
2015-11-25Cycles: Fix crash in constant folding introduced by recent commitSergey Sharybin
Graph::disconnect() actually modifies links, needs to create a copy to iterate if disconnect happens form inside the loop. Question tho whether we can control this somehow.. Reported by BzztPloink in IRC, thanks!
2015-11-25Cycles: Refactor of constant fold.Thomas Dinges
* Move constant folding from nodes to the shader graph. This way it's part of our (later) 4-step optimization process. * Instead of only doing a one level constant fold, we can now do a recursive constant fold, allowing us to simplify shaders much further. Constant folding is implemented for Blackbody, Math and VectorMath nodes. Example (the highlighted nodes are removed before rendering): Before: http://archive.dingto.org/2015/blender/code/one_level_constant_fold.jpg Now: http://archive.dingto.org/2015/blender/code/multi_level_constant_fold.jpg Thanks to Sergey and Brecht for Review! Differential Revision: https://developer.blender.org/D1626
2015-11-25Fix T46646: Point Cloud Density crashes on real time renderingSergey Sharybin
The issue was caused by possible use of object->derivedFinal from the render thread, The patch tries to eliminate (or at least minimize, huh) amount of access to the derivedFinal of a source object. It's still possible that in the case of particle source derived mesh will be still unsafely used, but with the patch applied we can easily change runtime part of the code and cache derived mesh on the preparation stage. Some ideas for the future: - Check whether cache() was called on the point density node when calling calc(). - Cache derivedMesh in the runtime part of point density node to avoid possible remained thread conflicts. - NULL the runtime part of the node on .blend load Reviewers: campbellbarton, plasmasolutions Reviewed By: plasmasolutions Differential Revision: https://developer.blender.org/D1614
2015-11-25Cycles: Fix shader update bug introduced by recent commitsSergey Sharybin
Seems set_intersection() requires passing explicit comparator if non-default one is used for the sets. A bit weird, but can't really find another explanation here about whats' going on here.
2015-11-25Fix T46782: Updating Shaders very slow with complex nodegraphSergey Sharybin
The issue was caused by not really optimal graph traversal for gathering nodes dependencies which could have exponential complexity with a long tree branches connected with multiple connections between them. Now we optimize the depth traversal and perform early output if the node was already traversed. Please note that this adds some limitations to the use of SVM compiler's find_dependencies() in the cases when skip_node is not NULL and one wants to perform dependencies find sequentially with the same set. This doesn't happen in the code, but one should be aware of this.
2015-11-25Cycles: Ensure order of shader nodes in the dependnecies setSergey Sharybin
The issue was than nodes dependencies were stored as set<ShaderNode*> which is actually a so called "strict weak ordered", meaning order of nodes in the set is strictly defined, but based on the ShaderNode pointer. This means that between different render invokations order of original nodes could be different due to different pointers allocated for ShaderNode. This commit makes it so dependencies and maps used for ShaderNodes are based on the node->id which has much more predictable order. It's still possible to trick the system by doing some crazy edits during viewport rendfer and cause difference between viewport and final render stacks. Reviewers: brecht Reviewed By: brecht Subscribers: LazyDodo Differential Revision: https://developer.blender.org/D1630