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
2018-03-10Code refactor: motion blur cleanups, preparing for next commit.Brecht Van Lommel
2018-03-10Code refactor: don't expose UpdateObjectTransformState in header.Brecht Van Lommel
2018-03-10Code refactor: make Transform always affine, dropping last row.Brecht Van Lommel
This save a little memory and copying in the kernel by storing only a 4x3 matrix instead of a 4x4 matrix. We already did this in a few places, and those don't need to be special exceptions anymore now.
2018-03-10Code refactor: add DecomposedTransform.Brecht Van Lommel
This is in preparation of making Transform affine only, and also gives us a little extra type safety so we don't accidentally treat it as a regular 4x4 matrix.
2018-03-10Code refactor: add ProjectionTransform separate from regular Transform.Brecht Van Lommel
This is in preparation of making Transform affine only.
2018-03-10Code refactor: avoid motion transform copy, remove unused curved code.Brecht Van Lommel
The purpose of the previous code refactoring is to make the code more readable, but combined with this change benchmarks also render about 2-3% faster with an NVIDIA Titan Xp.
2018-03-10Code refactor: use KernelShader and KernelParticle instead of float arrays.Stefan Werner
Original patch by Stefan with modifications by Brecht.
2018-03-10Code refactor: use KernelLight instead of float4 arrays.Stefan Werner
Original patch by Stefan with modifications by Brecht.
2018-03-10Code refactor: use KernelOject struct instead of float4 array.Stefan Werner
Original patch by Stefan with modifications by Brecht.
2018-03-09Fix T53857: Incorrect framerate for videos imported from OBSSergey Sharybin
This is an issue with which value to trust: fps vs. tbr. They both cam be somewhat broken. Currently the idea is: - If file was saved with FFmpeg AND we are decoding with FFmpeg we trust tbr. - If we are decoding with Libav we use fps (there does not seem to be tbr in Libav, unless i'm missing something). - All other cases we use fps. Seems to work all good for files from T53857, T54148 and T51153. Ideally we would need to collect some amount of regression files to make further tweaks more scientific. Reviewers: mont29 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D3083
2018-03-06Cycles: Fix crash when building with no shading systemsSergey Sharybin
2018-03-06Cycles: Cleanup, indentationSergey Sharybin
2018-03-03Fix T54202: Cycles crash rendering empty mesh volume after recent optimization.Brecht Van Lommel
2018-03-02Fix Cycle standalone build.Brecht Van Lommel
2018-03-02Cycles: Fix building of OpenCL kernels after volume optimization commitMai Lavelle
OpenCL is C based, so no support for operators. Related commit: 7377d411b47d50cd943cd
2018-03-01Cycles volume: fast empty space optimization by generating a tight meshKévin Dietrich
around the volume. We generate a tight mesh around the active voxels of the volume in order to effectively skip empty space, and start volume ray marching as close to interesting volume data as possible. See code comments for details on how the mesh generation algorithm works. This gives up to 2x speedups in some scenes. Reviewed by: brecht, dingto Reviewers: #cycles Subscribers: lvxejay, jtheninja, brecht Differential Revision: https://developer.blender.org/D3038
2018-03-01Cycles: don't count volume boundaries as transparent bounces.Brecht Van Lommel
This is more important now that we will have tigther volume bounds that we hit multiple times. It also avoids some noise due to RR previously affecting these surfaces, which shouldn't have been the case and should eventually be fixed for transparent BSDFs as well. For non-volume scenes I found no performance impact on NVIDIA or AMD. For volume scenes the noise decrease and fixed artifacts are worth the little extra render time, when there is any.
2018-02-28Cycles: principled absorption color now has more effect at lower values.Brecht Van Lommel
2018-02-28Code cleanup: refactor Cycles image metadata retrieval to use a struct.Brecht Van Lommel
2018-02-24Smoke: expose empty space clipping property to the UI.Kévin Dietrich
This is used to determine which voxels are to be considered empty space. Previously it was hardcoded for converting dense grids to OpenVDB grids to reduce disk space usage. This value is also useful for rendering engines to know, i.e. to optimize ray marching.
2018-02-24OpenVDB : use underscores instead of spaces in grid names.Kévin Dietrich
Some other software cannot handle grid names with spaces in them. We still check for names with spaces so as to not break old files. This fixes T53802.
2018-02-23Cycles: add Principled Volume shader.Brecht Van Lommel
Similar to the Principled BSDF, this should make it easier to set up volume materials. Smoke and fire can be rendererd with just a single principled volume node, the appropriate attributes will be used when available. The node also works for simpler homogeneous volumes like water or mist. Differential Revision: https://developer.blender.org/D3033
2018-02-23Cycles: change smoke color grid to not include density multiplied in.Brecht Van Lommel
This breaks backwards compatibility some, making smoke colors brighters than before. But it is also more correct this way.
2018-02-23Code refactor: improve attribute handling for optional volume attributes.Brecht Van Lommel
A volume shader should be able to request attributes, and still be rendered as homogeneous if no volume attributes are available for the object.
2018-02-23Smoke: add temperature grid, with values 0..1 corresponding to 0..1000K.Brecht Van Lommel
2018-02-22Cycles: add Russian roulette termination for volume multiple scattering.Brecht Van Lommel
This mainly helps with dense volumes, rendering can be 30% faster with little noise increase in such scenes.
2018-02-22Cycles: better path termination for transparency.Brecht Van Lommel
We now continue transparent paths after diffuse/glossy/transmission/volume bounces are exceeded. This avoids unexpected boundaries in volumes with transparent boundaries. It is also required for MIS to work correctly with transparent surfaces, as we also continue through these in shadow rays. The main visible changes is that volumes will now be lit by the background even at volume bounces 0, same as surfaces. Fixes T53914 and T54103.
2018-02-22Code cleanup: fix incorrect socket names in hair and particle info nodes.Brecht Van Lommel
2018-02-21Fix incorrect OSL raytype bits and add some comments.Brecht Van Lommel
2018-02-21Fix T54105: random walk SSS missing in branched indirect paths.Brecht Van Lommel
Unify the path and branched path indirect SSS code. No performance impact found on CUDA, for AMD split kernel the extra code was already there.
2018-02-21Fix T54107: bevel shader + normal map gives wrong result.Brecht Van Lommel
2018-02-18Cycles: tweak CUDA messages and avoid build errors with existing sm_2x configs.Brecht Van Lommel
2018-02-18Code cleanup: remove some more unused code after recent CUDA changes.Brecht Van Lommel
2018-02-18Cycles: Remove Fermi texture code.Thomas Dinges
This should be the last Fermi removal commit, unless I missed something. It's been a pleasure Fermi!
2018-02-18Cycles: Remove fermi related defines from the code.Thomas Dinges
Did not touch Texture related defines, that comes next.
2018-02-17Cycles: Remove Fermi support from CMake and update runtime checks in ↵Thomas Dinges
device_cuda.cpp. Fermi code in Cycles kernel and texture system are coming next.
2018-02-15Code cleanup: simplify switch statement, ensure we catch missing enums.Brecht Van Lommel
2018-02-15Fix T54073: crash and uninitialized memory in Cycles displacement hashing.Brecht Van Lommel
2018-02-14Cycles: restore Particle Info Index for now, keep it next to Random.Brecht Van Lommel
It seems to be useful still in cases where the particle are distributed in a particular order or pattern, to colorize them along with that. This isn't really well defined, but might as well avoid breaking backwards compatibility for now.
2018-02-14Cycles: change Index output of Hair and Particle Info to Random, in 0..1 range.Brecht Van Lommel
These are used for randomization, so it's convenient if the index is already hashed and consistent with the Object Info node.
2018-02-14CMake: Expose Cycles devices support as CMake optionSergey Sharybin
Handy to disable GPU based devices when it's needed to run Valgrind.
2018-02-13Cycles: Implement index output for hair nodeSergey Sharybin
This is like the only way to add variety to hair which is created using simple children. Used here for the hair. Maybe not ideal, but the time will show.
2018-02-12Fix random walk SSS issues with different base and subsurface color.Brecht Van Lommel
Burley SSS uses a bit of strange thing where the albedo and closure weight are different, which makes the subsurface color act a bit like a subsurface radius indirectly by the way the Burley SSS profile works. This can't work for random walk SSS though, and it's not clear to me that this is actually a good idea since it's really the subsurface radius that is supposed to control this. For now I'll leave Burley SSS working the same to not break backwards compatibility.
2018-02-09Cycles: add random walk subsurface scattering to Principled BSDF.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3054
2018-02-09Cycles: random walk subsurface scattering.Brecht Van Lommel
It is basically brute force volume scattering within the mesh, but part of the SSS code for faster performance. The main difference with actual volume scattering is that we assume the boundaries are diffuse and that all lighting is coming through this boundary from outside the volume. This gives much more accurate results for thin features and low density. Some challenges remain however: * Significantly more noisy than BSSRDF. Adding Dwivedi sampling may help here, but it's unclear still how much it helps in real world cases. * Due to this being a volumetric method, geometry like eyes or mouth can darken the skin on the outside. We may be able to reduce this effect, or users can compensate for it by reducing the scattering radius in such areas. * Sharp corners are quite bright. This matches actual volume rendering and results in some other renderers, but maybe not so much real world objects. Differential Revision: https://developer.blender.org/D3054
2018-02-09CMake: include missing headersCampbell Barton
2018-02-08Fix for missing "Use Freestyle" toggle in the Cycles "Layer" options panel.Tamito Kajiyama
Reviewed By: Brecht Van Lommel (brecht), Dalai Felinto (dfelinto) Differential Revision: https://developer.blender.org/D3048
2018-02-08Cycles: unify OSL BSSRDF closure into a single bssrdf() closure with method.Brecht Van Lommel
This is similar to the upstream unified microfacet() closure, and makes it easier to extend in the future.
2018-02-08Code refactor: tweaks in SSS code to prepare for coming changes.Brecht Van Lommel
This also fixes a subtle bug in the split kernel branched path SSS, the volume stack update can't be shared between multiple hit points.
2018-02-08Code refactor: remove unnecessary RNG offset in branched path code.Brecht Van Lommel
This is only needed for SSS which bounces to a different shading point.