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
2020-06-19EEEVEE: Object Motion Blur: Initial ImplementationClément Foucault
This adds object motion blur vectors for EEVEE as well as better noise reduction for it. For TAA reprojection we just compute the motion vector on the fly based on camera motion and depth buffer. This makes possible to store another motion vector only for the blurring which is not useful for TAA history fetching. Motion Data is saved per object & per geometry if using deformation blur. We support deformation motion blur by saving previous VBO and modifying the actual GPUBatch for the geometry to include theses VBOs. We store Previous and Next frame motion in the same motion vector buffer (RG for prev and BA for next). This makes non linear motion blur (like rotating objects) less prone to outward/inward blur. We also improve the motion blur post process to expand outside the objects border. We use a tile base approach and the max size of the blur is set via a new render setting. We use a background reconstruction method that needs another setting (Background Separation). Sampling is done using a fixed 8 dithered samples per direction. The final render samples will clear the noise like other stochastic effects. One caveat is that hair particles are not yet supported. Support will come in another patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7297
2020-06-02GPU: ShaderInterface: Refactor to setup all uniform at creation timeClément Foucault
This remove the complexity of queriying the locations at runtime and allows for more performance and upfront binding specifications. The benefit of doing everything at creation time is that we can assign binding points in a predictable order which is going to be somewhat the same for every similar shader. This also rewrite GPU_vertformat_from_shader to not use shaderface. This is to keep the shaderface simple. If it becomes necessary to not query the shader after creation (i.e: vulkan?) we could just create the vert format in advance at compilation for PyGPU shaders. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7879
2020-04-03Cleanup: use term 'attr' instead of 'attrib'Campbell Barton
This was already the case in most parts of the GPU API. Use full name for descriptive-comments.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-09GPencil: Refactor of Draw Engine, Vertex Paint and all internal functionsAntonio Vazquez
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes. Also, a huge code cleanup has been done at all levels. Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development. Differential Revision: https://developer.blender.org/D6293
2020-03-02Cleanup: make remaining gpu headers work in C++Jacques Lucke
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-08-15GPU: Vertex Format: Increase number of byte per attribute nameClément Foucault
This reduces the risks of hash collision while maintaining a small number of character per attrib.
2019-08-15GPU: Vertex Format: ADd function for safe GLSL attrib nameClément Foucault
This remove code duplication and use base63 encoding of the hash. Use mumur hash to have more randomness.
2019-08-14Cleanup: Fix build error with MSVCLazydodo
C99 style initializers are C++20 feature and should not be used. Reported by @deadpin on chat.
2019-08-14Mesh Batch Cache: Refactor + MultithreadClément Foucault
For clarity sake, the batch cache now uses exclusively per Loop attributes. While this is a bit of a waste of VRAM (for the few case where per vert attribs are enough) it reduces the complexity and amount of overall VBO to update in general situations. This patch also makes the VertexBuffers filling multithreaded. This make the update of dense meshes a bit faster. The main bottleneck is the IndexBuffers update which cannot be multithreaded efficiently (have to increment a counter and/or do a final sorting pass). We introduce the concept of "extract" functions/step. All extract functions are executed in one thread each and if possible, using multiple thread for looping over all elements. Reviewed By: brecht Differential Revision: http://developer.blender.org/D5424
2019-07-08Fix T65534 Eevee don't respect active UVmapClément Foucault
2019-05-14Fix T64601 Error division by zero in GPUVertexFormatClément Foucault
The windows compiler use signed int by default for enums so that broke the bit count I carefully did. Forcing uint fixes it.
2019-05-14GPU: Fixup and add assert to GPU_VERT_ATTR_NAMES_BUF_LENClément Foucault
2019-05-14GPUVertexFormat: Reduce size of structsClément Foucault
With this patch, the size of GPUVertFormat goes from 1240 to 388.
2019-04-21Cleanup: comments (long lines) in gpuCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Cleanup: trailing commasCampbell Barton
2019-03-22Implement Stencil Mask Drawing for Texture PaintingJeroen Bakker
Stencil mask drawing was not implemented yet. This commit will implement this for texture painting. It brings the state back to how it was for B279. Reviewed By: fclem Maniphest Tasks: T58727 Differential Revision: https://developer.blender.org/D4570
2019-03-19Cleanup: comment blocksCampbell Barton
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-03Revert "GPU: add negated normal conversion functions"Campbell Barton
This reverts commit d28b29d428cc7fc7eb29f2302b5d80fc63a9f870.
2019-01-03GPU: add negated normal conversion functionsCampbell Barton
Saves having to negate to a temporary variable.
2018-12-07GPU: Add GPU_vertformat_triple_load to load next vertices attribClément Foucault
Right now does not add padding at the end of the buffer. This seems not necessary but may cause problem on some platform. If needed we will add this padding (only 2 more vertices).
2018-10-09Python API: new GPUShader.format_calc() methodJacques Lucke
Reviewers: mano-wii, fclem, campbellbarton Differential Revision: https://developer.blender.org/D3772
2018-10-05Python API: new GPUVertFormat constructor and vbo.fill_attribute methodJacques Lucke
Reviewer: fclem Differential Revision: https://developer.blender.org/D3760
2018-07-18Cleanup: style for GPU moduleCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-18GWN: Port to GPU module: Move files to GPUClément Foucault
This does not include all the struct and type renaming. Only files were renamed. gwn_batch.c/h was fusioned with GPU_batch.c/h gwn_immediate.c/h was fusioned with GPU_immediate.c/h gwn_imm_util.c/h was fusioned with GPU_immediate_util.c/h