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-02-12Use the RNA for overriding the name instead.Antony Riakiotakis
2015-02-12More naming refinement GPU fstop -> Viewport f-stopAntony Riakiotakis
2015-02-12Add DOF fstop property for cycles, also don't grey it out when object isAntony Riakiotakis
set as focused
2015-02-12cleanupCampbell Barton
2015-02-11Cleanup: Remove unused Cycles cpuid code.Thomas Dinges
2015-02-10Cycles: Control CPU capabilities via environment variablesSergey Sharybin
Purely developers-only feature which allows to disable some of the CPU capabilities. This way it's easier to test different kernels on the same machine.
2015-02-10Cycles: Fallback to bottom-top tile order when rendering from the command lineSergey Sharybin
In the worst case it'll do nothing, in the best case it might give some percent of speedup because of better cache coherency. Currently it's all handled as an override on blender_python level, don't really see reason to penetrate the boolean flag further into sync code. This can always be done later if needed.
2015-02-10Cycles: Add print functions for sse3f, sse3i and sse3bSergey Sharybin
2015-02-10Cycles: Add utility functions to print ssef, ssei and ssebSergey Sharybin
Nothing special, just really handy for debugging.
2015-02-10Cycles: Move mesh attribute creation into separate functionsSergey Sharybin
This makes overall code of create_mesh() much cleaner and easier to follow.
2015-02-10Cycles: optimize one normalization out from the previous commitSergey Sharybin
2015-02-10Cycles: implement pointiness geometry attributeSergey Sharybin
This attribute means how "pointy" the geometry surface is, which allows to do effects like dirt maps and wear-off effects on render geometry. This means the attribute is calculated for the final mesh which means no baking (which implies UV unwrap) is needed. Apart from this the behavior is quite close to how vertex dirty colors works. The new attribute is available as an output socket of Geometry node. There's no penalty for the render time, only some delay on scene preparation (the delay is linear of the mesh complexity). Reviewers: brecht, juicyfruit Subscribers: eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1086
2015-02-10Cycles: Bring back distance check in re-intersectionSergey Sharybin
From more investigation of the numeric failures in the kernel it appears the check was rather correct. But in theory it;s also needed for the motion triangles.
2015-02-10Cycles: Correction to glossy shaders not handling total internal reflectionSergey Sharybin
The issue was caused by lack of check for whether fresnel term is actually giving total internal reflection in refraction BSDFs. This lead to usage of arbitrary vector of (0, 0, 0) as reflection, giving numeric issues in other areas of the kernel. This gives some visual changes of sharp reflection but it seems to be rather proper now. Which also corresponds with rough glossy reflection with sharpness set to 0.001 (previously it was totally different from sharpness of 0.0, which is just weird).
2015-02-10Fix T43596: Refraction BSDF crashes blender on pre-sse4 CPUSergey Sharybin
This is the same issue T43475: SSE4 code is more robust to non-finite values in the ray origin/direction. So for now added a check before doing BVH traversal for pre-SSE4 CPUs. For sure actual root of the issue is a bit different and much more tricky to solve, especially without disturbing render results too much. Still looking into this. In any case, it's kinda fine to have such a check, we might later make it to be a kernel_assert() instead of just a return.
2015-02-09Cycles: Another attempt to solve 32bit CUDA kernelSergey Sharybin
Previous fix didn't quite work well. For some reason everything worked fine when using native nvcc in 32bit environment, but cross-compiling from 64bit platform it was still running out of memory. For now just made it so all the kernels are slower on 32bit CUDA as a temporary solution. Either it'll be solved in next CUDA releases (by dropped 32bit? =\) or we'll find better workaround.
2015-02-08ndof: detect new 3Dx devices on LinuxMike Erwin
Was filtering for Logitech's USB vendor ID. 3Dconnexion now uses their own vendor ID for new products. Mac & Windows don't look for specific vendors so they should be fine. Also added a note to eventually make USE_FINISH_GLITCH_WORKAROUND available on all platforms.
2015-02-08GHOST: fewer virtual functionsMike Erwin
Reined back over-use of virtual functions in GHOST, especially in "leaves" of the inheritance hierarchy. This eliminates vtables for many classes and (in some places) turns virtual function dispatch into direct function calls. I'll be around to fix things if other coders think this change is too much. Still lots of virtual in GHOST_TaskbarWin32 since it just loves virtual.
2015-02-08CMake: only quiet warnings for generated rna filesCampbell Barton
also minor warning cleanup
2015-02-06Fix T43515: Initial velocity for fire bugMiika Hamalainen
Visual representation of fire was generated before simulation step took place. This caused fire to essentially lag one simulation step behind, even though all emission areas were up to date.
2015-02-06Cycles: Some more constants fixes for fast mathSergey Sharybin
2015-02-06Cycles: Use proper constant name for 1/pi in fast mathSergey Sharybin
2015-02-05Change movie cache to use vectors instead of lists.Antony Riakiotakis
Runtime costs were horrible. On gooseberry in some sequencer edits using proxies of small size, a cache with about 2000 elements would slow to about 6 fps once cache was full and system tried to find smallest element available. There are still improvements to be done here, like requesting a number of good candidates to avoid rerunnung through the list, or even using some heap or ring buffer scheme to sort data, but nothing suits all needs so for now that should bring the cache back to usable state (25fps here at the studio)
2015-02-05Add Custom Loop Normals.Bastien Montagne
This is the core code for it, tools (datatransfer and modifier) will come in next commits). RNA api is already there, though. See the code for details, but basically, we define, for each 'smooth fan' (which is a set of adjacent loops around a same vertex that are smooth, i.e. have a single same normal), a 'loop normal space' (or lnor space), using auto-computed normal and relevant edges, and store custom normal as two angular factors inside that space. This allows to have custom normals 'following' deformations of the geometry, and to only save two shorts per loop in new clnor CDLayer. Normal manipulation (editing, mixing, interpolating, etc.) shall always happen with plain 3D vectors normals, and be converted back into storage format at the end. Clnor computation has also been threaded (at least for Mesh case, not for BMesh), since the process can be rather heavy with high poly meshes. Also, bumping subversion, and fix mess in 2.70 versioning code.
2015-02-05Fix T43562: Cycles gets stuck with camera in volume in certain setupSergey Sharybin
The issue was caused by the way how we shoot the ray to see which rays we're inside which might start bouncing back-n-forth between two close to parallel intersecting faces. Real solution would be to record all the intersections when shooting the ray, but it's kinda tricky on GPU because of needed sorting and uncertainty of how huge intersection array should be. For now we'll just limit number of steps in the check so in worst case we'll have some samples not being correct which will be compensated with further sampling. Shouldn't be an issue since probability of such a lock is quite small actually.
2015-02-05Fix T43561: Wrong include path to standard OSL headersSergey Sharybin
Issue was in fact only visible in certain circumstances: - OSL was compiled with Boost Wave - or system's cpp didn't handle space between -I and path Now made it so both wave and cpp code paths are always happy. Original patch from Shane Ambler with own modifications to mimic what variable holds on more verbose.
2015-02-04Cycles: Use pre-aligned triangle vertex coordinates for subsurface intersectionSergey Sharybin
This gives small speedup (around 2% in quick tests) for ray scattering.
2015-02-03Fix copypaste error in x11 tablet initCampbell Barton
2015-02-02Cycles: OSL kernel now also ignores maybe-uninitializedSergey Sharybin
This is a bit of a mess because of the header dependency hell, but since the tweak is small enough it's gonna be fine.
2015-02-02Cycles: Further tweaks to T43511 to solve compilation error on 32bit platformsSergey Sharybin
2015-02-02Cycles: Solve dependency between camera and object synchronizationSergey Sharybin
IN theory object might depend on camera location (spatial adaptive subdivisions for example) which became not possible to achieve after camera in volume support. Should be no functional changes for artists.
2015-02-02Cycles: Ignore -Wmaybe-uninitialized from the kernel in release buildsSergey Sharybin
This warning provided too much false-positive issues in release version of the kernel, making it really easy to miss actual warnings.
2015-02-02Cycles: Remove redundant calculation of w in recent cubic commitSergey Sharybin
Was rather harmless since compiler will optimize it out, but nice to get rid of this anyway.
2015-02-02Fix T43511: Major slow down with many instanced objects in cycles GPUSergey Sharybin
Slowdown was caused by watertight intersection commit and follow-up workaorund for compiler crash which uninlined utility function which rotates the ray. Now it's only uninlined for sm_50 and sm_52 experimental kernels which are the only ones which failed to compile. Rendering still might be a bit slower but at least shouldn't be that dramatic.
2015-02-02Cycles: Fix inconsistent command line used for runtime kernel compilationSergey Sharybin
Basically build-time compiled kernels were using --fast-math (which is correct) but run-time compiled did not.
2015-02-02Cycles: Indentation fix for the previous commitSergey Sharybin
2015-02-02Cycles: Implement cubit image interpolation on CPUSergey Sharybin
Basically title says it all. Could be not totally optimized but the code is there now.
2015-02-02Cycles: Allow paths customization via environment variablesSergey Sharybin
This is for development and test environment setup only, not for regular users usage hence no mentioning in the man page needed.
2015-01-31Fix T43496: Infinite loop in kernel when using surface attribute for volumeSergey Sharybin
The issue was caused bu the optimization in surface attributes for cases when there's only a volume shader used. Some attributes doesn't make sense in that case and were skipped from calculation. However, it is possible that kernel would still try to access them (because of the shader setup etc). Prevented an infinite loop in the kernel now, which should not have much affect on regular renders.
2015-01-30Cycles: Don't perform re-intersection if ray distance is zeroSergey Sharybin
It is possible that ray distance will be zero which would make intersection refinement return NaN as the refined position which would later lead to all sort of mathematical issues. Don't think there are ways to improve intersection accuracy for such rays so just return original intersection coordinate. This should fix T43475. TODO: Need to look into possible issues in Ashikhmin BSDF which might return zero-length reflected/transmitted ray?
2015-01-30Cycles: Use bool for is_lead arraySergey Sharybin
This way we save 3 bytes per BVH node while building BVH, which overall gives 100Mb memory save when preparing Frank for render. It's not really much comparing to overall memory usage (which is 11Gb during scene preparation here) but still doesn't harm to have solved.
2015-01-30Cycles: Use fast math functions in hair BSDFSergey Sharybin
Precision of the fast functions seems to be enough in there and since the code was heavily using inverse trigonometric functions this change gives few percent speedup on Victor's hair. From the tests files from ctests storage doesn't have any meaningful difference, hair on Victor is all below 4% absolute error and only few pixels are exceeding 1% absolute difference. In any case, let it be as it is currently so it allows us to have fast math file in sources for it's further evaluation and possible usage in other areas as well.
2015-01-30Cycles: Add fast math function moduleSergey Sharybin
It is based on fmath.h from OIIO and could be used to give some speedup in areas where absolute accuracy is not so critical.
2015-01-30Cycles: Remove confusing labels usage in hair BSDFSergey Sharybin
BSDF sampler function shouldn't give labels it's not intended to do. That said reflection shouldn't give transmission ray and transmission give reflection ray. Added an assert in the transmission sampling but reflection still needs some investigation because even after recent fixes the check for projection onto the reflected ray could give both positive and negative values. It shouldn't have any affect on renders just makes internal logic consistent and unleashes an issue to be investigate further.
2015-01-30Fix T43458: Crashes with hair transmission BSDFSergey Sharybin
Hair BSDF did not have proper behavior because of non-normalized tangent direction (which it expected to be normalized).This lead to wrong labels being returned by the hair BSDF samplers.
2015-01-29Cycles: Fix for bump node not working with object texture mappingSergey Sharybin
This was intended to be in the original patch of texco copy from object.
2015-01-29cleanup: pep8Campbell Barton
also remove empty class parenthesis
2015-01-29Audaspace: Fix typo in speed of sound initialization value by lordloki ↵Jörg Müller
(Jorge Bernal)
2015-01-28OSL: Updates for OSL 1.5 API changes.Thomas Dinges
* create() and destroy() are deprecated since OSL 1.5, use regular constructors / destructors.
2015-01-27Fix T43388 Cycles Baking gives different results than Cycles RenderDalai Felinto
Reported and nailed down by Michale (MeshLogic). The code that fixes this was commented out, but Brecht gave the go ahead to use it even if it is not the real solution