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
2017-01-20Cycles: Cleanup, split one gigantic function into two smaller onesSergey Sharybin
2017-01-20Cycles: Store time in BVH nodesSergey Sharybin
This way we can stop traversing BVH node early on. Gives about 2-2.5x times render time improvement with 3 BVH steps. Hopefully this gives no measurable performance loss for scenes with single BVH step. Traversal is currently only implemented for QBVH, meaning old CPUs and GPU do not benefit from this change.
2017-01-20Cycles: Add option to split triangle motion primitives by time stepsSergey Sharybin
Similar to the previous commit, the statistics goes as: BVH Steps Render time (sec) Memory usage (MB) 0 46 260 1 27 373 2 18 598 3 15 826 Scene used for the tests is the agent's body from one of the barber shop scenes (no textures or anything, just a diffuse material). Once again this is limited to regular (non-spatial split) BVH, Support of spatial split to this feature will come later.
2017-01-20Cycles: Add option to split curve motion primitives by time stepsSergey Sharybin
The idea is to create several smaller BVH nodes for each of the motion curve primitives. This acts as a forced spatial split for the single primitive. This gives up render time speedup of motion blurred hair in the cost of extra memory usage. The numbers goes as: BVH Steps Render time (sec) Memory usage (MB) 0 258 191 1 123 278 2 69 453 3 43 627 Scene used for the tests is the agent's hair from one of the barber shop scenes. Currently it's only limited to scenes without spatial split enabled, since the spatial split builder requires some changes to work properly with motion steps coordinates.
2017-01-20Cycles: Add utility function to calculate curve boundbox from given 4 keysSergey Sharybin
Also fixed some issues with motion keys calculation: - Clamp lower and upper limits of curves so we can safely call those functions for the very first and very last curve segment. - Fixed wrong indexing for the curve radius array. - Fixed wrong motion attribute offset calculation.
2017-01-20Cycles: Cleanup, trailing whitespaceSergey Sharybin
2017-01-20Cycles: Split motion triangle file once again, avoids annoying forward ↵Sergey Sharybin
declarations
2017-01-20Cycles: Move motion triangle intersection functions to own fileSergey Sharybin
Mimics how regular triangles are working and makes it more clear where the stuff is located in the kernel. Needed to have some forward declarations because of the current placement of things in the kernel.
2017-01-20Cycles: Cleanup, better variable nameSergey Sharybin
2017-01-20Cycles: Add utility function to fetch motion keys while on CPU sideSergey Sharybin
2017-01-20Cycles: Cleanup, commentsSergey Sharybin
2017-01-20Cycles: Add utility function to fetch motion triangle when on CPU sideSergey Sharybin
2017-01-20Cycles: Cleanup, delete trailing whitespaceSergey Sharybin
2017-01-20Cycles: Fix compilation error on with older GCCSergey Sharybin
Hopefully it works on all platforms now.
2017-01-20Fix T50460. Greying out issue with Cycles culling options.Thomas Dinges
2017-01-20Fix compile error (-Werror=float-conversion).Thomas Dinges
2017-01-19Cycles: Expose diffuse and glossy depth to Light Path nodeSergey Sharybin
Was a bit confusing to have transparent and translucent depth exposed but no diffuse or glossy. Reviewers: brecht Subscribers: eyecandy Differential Revision: https://developer.blender.org/D2399
2017-01-19Cycles: Don't use fast math for the host codeSergey Sharybin
This is important for the reliable behavior or isnan/isfinite/min/max functions to work with nan and non-finite values. Some of the issues with fast math are possible to work around, but didn't find a way to have reliable min/max implementation yet.
2017-01-19Cycles: Add fast-math safe isnan and isfiniteSergey Sharybin
Currently unused, but might become really handy in the future.
2017-01-19Cycles: Remove using namespace hellSergey Sharybin
Please NEVER EVER use such a statement, it's only causing HUGE issues. What is even worse: it's not always possible to immediately see that the hell is coming from such a statement. There is still some statements in the existing code, will leave those for a later cleanup.
2017-01-19Cycles: Fix amount of rendered samples not being shown while rendering the ↵Lukas Stockner
last tile on CPU
2017-01-16Cycles: Cleanup, spellingSergey Sharybin
2017-01-16Cycles: Cleanup, avoid shadowingSergey Sharybin
2017-01-13Cycles: Fix wrong transparent shadows for motion blur hairSergey Sharybin
This was a missing bit from b53ce9a.
2017-01-13Cycles: Cleanup, styleSergey Sharybin
2017-01-13Cycles: Simplify some code in Curve BVH reference fillSergey Sharybin
makes code slightly shorter and uses idea of const qualifiers.
2017-01-13Cycles: Avoid shadowing in BVH codeSergey Sharybin
Run into some nasty bugs while trying various things here. Wouldn't mind enabling -Wshadow for Cycles actually..
2017-01-12Cycles: Allow up to 4 motion curve primitives per BVH nodeSergey Sharybin
This avoids intersection AABB of different curve primitives which makes it less ray-to-primitive intersections. This gives about 30% speedup of hair rendering in the barber shop scenes here. There is still some work to be done on those files to solve major speed issues on certain frames.
2017-01-12Cycles: Prepare BVH traversal code to work with multiple curve primitives ↵Sergey Sharybin
per node
2017-01-12Cycles: Correct assert() for cases when there are multiple curves per BVH nodeSergey Sharybin
2017-01-12Cycles: Use separate limit for motion primitives for BVH node limitsSergey Sharybin
This way we can have different limits for regular and motion curves which we'll do in one of the upcoming commits in order to gain some percents of speedup. The reasoning here is that motion curves are usually intersecting lots of others bounding boxes, which makes it inefficient to have single primitive in the leaf node.
2017-01-12Cycles: Change confusing logic of max leaf size checkSergey Sharybin
Maximal number of elements is supposed to be inclusive. That is what it was always meant in this file and what @brecht considered still the case in 6974b69c6172. In fact, the commit message to that change mentions that we allowed up to 2 curve primitives per leaf while in fact it was doing up to 1 curve primitive. Making it real 2 primitives at a max gives about 5% slowdown for the koro.blend scene. This is a reason why BVHParams.max_curve_leaf_size was changed to 1 by this change.
2017-01-12Cycles: Cleanup, space prior to semicolonSergey Sharybin
We don't have that in Blender style, no reason to violate it here.
2017-01-12Cycles: Cleanup, make curve functions privateSergey Sharybin
Not only they don't really follow naming convention (we don't use camel case) but also was not necessary to keep them in the global symbol table.
2017-01-12Cycles: Make it more clear message why curve motion attribute was removedSergey Sharybin
2017-01-12Cycles: Use dedicated debug passes for traversed nodes and intersection testsSergey Sharybin
This way it's more clear whether some issue is caused by lots of geometry in the node or by lots of "transparent" BVH nodes.
2017-01-12Cycles: Remove more duplicated code in debug passes logicSergey Sharybin
2017-01-12Cycles: Fix wrong scaling of traversed instances debug passSergey Sharybin
2017-01-12Cycles: Cleanup, remove duplicated codeSergey Sharybin
2017-01-12Cycles: Cleanup, indentation within preprocessorSergey Sharybin
2017-01-12Cycles: Cleanup, use switch() instead of if-else chainSergey Sharybin
About to add extra debug passes, which will be more clear to use switch().
2017-01-12Cycles: move hair particle settings to scene contextSergey Sharybin
Since the beginning of times hair settings in cycles were global for the whole scene but were located in the particle context. This causes quite some trickery to get shots set up for the movies here in the studio by forcing artists to create dummy particle system to change settings of hair on the shot. While ideally this settings should be properly become per-particle system for the time being it will save sweat and blood to move the settings to scene context. Reviewers: brecht Subscribers: jtheninja, eyecandy, venomgfx, Blendify Differential Revision: https://developer.blender.org/D2287
2017-01-11Cycles: Fix wrong motion blur when combining deformation motion blur with ↵Sergey Sharybin
autosplit The issue was that we used to compare number of vertices for mesh after the auto smooth was applied (at the center of the shutter time) with number of vertices prior to the auto smooth applied. This caused false-positive consideration of a mesh as changing topology. Now we do autosplit as early as possible and do it from blender side, so Cycles does not need to re-implement splitting on it's side.
2017-01-11Cycles: Pass explicit subdivision type to object_to_meshSergey Sharybin
This allows us to do some extra logic checks there based on particular subdivision type. Additionally avoids implicit cast of enum to bool.
2017-01-11Cycles: Cleanup, whitespace around operatorSergey Sharybin
2017-01-11Cycles: Improve logging of cases when motion blur is disabledSergey Sharybin
Next logical step is to expose this somehow to the interface.
2017-01-09Cleanup: Strict CLang warning in Smoke moduleSergey Sharybin
2017-01-09Cleanup: IndentationSergey Sharybin
2016-12-20OpensSubdiv: Cleanup, unused argumentSergey Sharybin
2016-12-20Libmv: Fix missing virtual destructor in frame access sub-classSergey Sharybin
This is undefined behavior in C++ and Clang was complaining a lot about this.