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
2017-02-24Cycles: Fix compilation warning with CUDA on OSXSergey Sharybin
2017-02-23Cycles: Fix compilation error on 32bit LinuxSergey Sharybin
2017-02-23Cycles: Fix wrong render results with texture limit and half-float texturesSergey Sharybin
2017-02-23Fix T50748: Render Time incorrect when refreshing rendered preview in GPU modeSergey Sharybin
2017-02-22Fix T50687: Cycles baking time estimate and progress bar doesn't work / ↵Sergey Sharybin
progress when baking with high samples
2017-02-22Blender 2.78c: Fix crash with material preview and image sequencesSergey Sharybin
Don't use built-in API for image sequences since it's not really finished in RNA API. Fixes issue reported in T50616.
2017-02-22Blender 2.78c: Fix wrong render result with pointinessSergey Sharybin
The issue was caused by pointiness being calculated after faces split now. Ported all fixes we did here. Should be safe, pointiness is used all over the barbershop.
2017-02-22Blender 2.78c: Fix wrong cycles hair render results when using BVH motion stepsSergey Sharybin
This commit contains all commits required to get proper hair rendering with BVH motion steps enabled. The issue here was mainly coming from minimal pixel width feature which is quite commonly enabled in production shots. This feature will use some probabilistic heuristic in the curve intersection function to check whether we need to return intersection or not. This probability is calculated for every intersection check. Now, when we use multiple BVH nodes for curve primitives we increase probability of that primitive to be considered a good intersection for us. This is similar to increasing minimal width of curve. What is worst here is that change in the intersection probability fully depends on exact layout of BVH, meaning probability might change differently depending on a view angle, the way how builder binned the primitives and such. This makes it impossible to do simple check like dividing probability by number of BVH steps. Other solution might have been to split BVH into fully independent trees, but that will increase memory usage of all the static objects in the scenes, which is also not something desirable. For now used most simple but robust approach: store BVH primitives time and test it in curve intersection functions. This solves the regression, but has two downsides: - Uses more memory. which isn't surprising, and ANY solution to this problem will use more memory. What we still have to do is to avoid this memory increase for cases when we don't use BVH motion steps. - Reduces number of maximum available textures on pre-kepler cards. There is not much we can do here, hardware gets old but we need to move forward on more modern hardware..
2017-02-22Blender 2.78c: Port all commits related on new Cycles regression testsSergey Sharybin
2017-02-01Cycles: Fix rng_state initialization when using resumable renderingLukas Stockner
2017-01-26Fix T49405: Crash when baking with adaptive subdivisionMai Lavelle
Blenders baking system currently doesn't support the topology used by adaptive subdivision and primitive ids will be wrong or out of range leading to crashes. Updating the baking system to support other topologies would be a bit involved, so for now we simply disable subdivision while baking to avoid crashes.
2017-01-26Cycles: Don't rely on indirectly included algorithmSergey Sharybin
2017-01-26Cycles: Fix typo in the panel nameSergey Sharybin
No user visible changes, it was a typo in the name of the class. Spotted by povmaniac in IRC, thanks!
2017-01-26Cycles: Update current Cycles versionSergey Sharybin
2017-01-26Fix T50491: Cycles UI breaks when pushing F8.Bastien Montagne
Cycles add-on did not actually support reloading correctly. When you want to correctly reload sub-modules (i.e. modules of an add-on which is a package), you need to use importlib, a mere import will do nothing with already loaded modules (RNA classes are sort of pre-registered when they are evaluated, through the meta-class system).
2017-01-26Cycles: Use more const qualifiers to avoid possible issuesSergey Sharybin
2017-01-26Cycles: Cleanup, split one gigantic function into two smaller onesSergey Sharybin
2017-01-26Cycles: 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-26Cycles: 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-26Cycles: 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-26Cycles: 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-26Cycles: Cleanup, trailing whitespaceSergey Sharybin
2017-01-26Cycles: Split motion triangle file once again, avoids annoying forward ↵Sergey Sharybin
declarations
2017-01-26Cycles: 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-26Cycles: Cleanup, better variable nameSergey Sharybin
2017-01-26Cycles: Add utility function to fetch motion keys while on CPU sideSergey Sharybin
2017-01-26Cycles: Cleanup, commentsSergey Sharybin
2017-01-26Cycles: Add utility function to fetch motion triangle when on CPU sideSergey Sharybin
2017-01-26Cycles: Cleanup, delete trailing whitespaceSergey Sharybin
2017-01-26Fix T50460. Greying out issue with Cycles culling options.Thomas Dinges
2017-01-25Fix T50517: Rendering expecting time is negativeSergey Sharybin
2017-01-20Cycles: Fix compilation error on with older GCCSergey Sharybin
Hopefully it works on all platforms now.
2017-01-20Fix compile error (-Werror=float-conversion).Thomas Dinges
2017-01-20Cycles: 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-20Cycles: 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-20Cycles: Add fast-math safe isnan and isfiniteSergey Sharybin
Currently unused, but might become really handy in the future.
2017-01-20Cycles: 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-20Cycles: Fix amount of rendered samples not being shown while rendering the ↵Lukas Stockner
last tile on CPU
2017-01-20Cycles: Cleanup, spellingSergey Sharybin
2017-01-20Cycles: Cleanup, avoid shadowingSergey Sharybin
2017-01-20Cycles: Fix wrong transparent shadows for motion blur hairSergey Sharybin
This was a missing bit from b53ce9a.
2017-01-20Cycles: Cleanup, styleSergey Sharybin
2017-01-20Cycles: Simplify some code in Curve BVH reference fillSergey Sharybin
makes code slightly shorter and uses idea of const qualifiers.
2017-01-20Cycles: 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-20Cycles: 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-20Cycles: Prepare BVH traversal code to work with multiple curve primitives ↵Sergey Sharybin
per node
2017-01-20Cycles: Correct assert() for cases when there are multiple curves per BVH nodeSergey Sharybin
2017-01-20Cycles: 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-20Cycles: 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-20Cycles: Cleanup, space prior to semicolonSergey Sharybin
We don't have that in Blender style, no reason to violate it here.