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-07-15PointCloud: Initial rendering support for Workbenchtmp-pointcloud-renderClément Foucault
Also includes outline overlays. Removes the temp overlay drawing We make the geometry follow camera like billboards this uses less geometry. Currently we use half octahedron for now. Goal would be to use icospheres. This patch also optimize the case when pointcloud has uniform radius. However we should premultiply the radius prop by the default radius beforehand to avoid a multiplication on CPU. Differential Revision: https://developer.blender.org/D8301
2020-07-15PointCloud: Change visualization to use octahedronClément Foucault
This reduces the number of polygon needed. Also optimize the case when pointcloud has uniform radius.
2020-07-15PointCloud: Make geometry follow cameraClément Foucault
A bit like billboards. This will allow to use less geometry in the future.
2020-07-14Fix T78431: Update mesh_cd_layers_type_ to support 8 bytes.Jeroen Bakker
Sculpt vertex colors changed the `DRW_MeshCDMask` from 4 bytes to 8 bytes, but the functions assumed it still was 4 bytes. This patch updates the functions and adds a compile time check. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8215
2020-07-14PointCloud: Initial rendering support for WorkbenchClément Foucault
Also includes outline overlays. Removes the temp overlay drawing
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-11DRW: Add common point cloud rendering functionsClément Foucault
2020-07-10Cleanup: face-center mesh calculationCampbell Barton
Loop over faces and calculate their centers instead of zeroing the face center array and accumulating all faces vertex corners. Move subsurf face center extraction into it's own loop since it works differently.
2020-07-09Sculpt: Make Sculpt Vertex Colors features experimentalPablo Dobarro
This disables all Sculpt Vertex Colors tools, operators, panels and rendering capabilities and puts them under the "Use Sculpt Vertex Colors" experimental option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8239
2020-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
2020-07-02Fix T78054: Crash Editing Instanced Objects with Tangent NormalsJeroen Bakker
Similar track as for normal mesh. Don't store the tangent normals in CustomData of the mesh, but in an unassociated CustomData instance. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8161
2020-07-01Fix T77780 Overlay: Weight colors are not in render in the right colorspaceClément Foucault
This was just a missing conversion.
2020-07-01DRW: optimize mesh data extractionCampbell Barton
Change extraction callbacks to take index ranges instead of calling them for each mesh element (poly, loop, vert & edge). This gives a minor overall performance gain in my tests, ~5% on average. Details: - Use typed parameter structs and macros for looping over elements. Without this, changes to these callbacks is time consuming as changes need to be made in many places. - Avoid iterating over polygon-loops when iterating over polygons is sufficient. - Simplify logic to access adjacent loops for faster line extraction. - Rename 'loop' iterators to 'poly' (as they take polygon ranges) the iterator callbacks can operator on either polygon or loop data. - Use term 'last' for the last index (inclusive), use 'end' when this value (not inclusive).
2020-07-01Cleanup: spellingCampbell Barton
2020-06-29GPencil: Cleanup - Replace gp_ prefix with gpencil_Antonio Vazquez
This was missing in previous cleanup commits.
2020-06-29Fix T78361: Crash When ModellingJeroen Bakker
Forgot to free the tangent layer for bmesh in the drawing code.
2020-06-29Cleanup: minor change missed last commitCampbell Barton
2020-06-29Cleanup: use designated initializes for mesh extract structsCampbell Barton
Better readability and allows adding new struct members without adding empty slots to every 'MeshExtract' struct.
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-25Cleanup: spellingCampbell Barton
2020-06-25Edit Mesh: minor drawing optimization extracting loop dataCampbell Barton
Gives around ~5% speedup on high poly meshes.
2020-06-24Fix T67319 DRW: Large objects gets incorrectly culledClément Foucault
To avoid this we just bypass culling if the object is too big to avoid float precision issues.
2020-06-24Fix T78073 EEVEE: new motion blur and overscan produce wrong renderClément Foucault
This was caused by the override viewport size not being maintained after DRW_cache_restart(). Also this fixes issue with the inv_size not being updated correctly.
2020-06-24Fix T77913: Incorrect handling of negative-scale bit in DRWResourceHandleJacques Lucke
Reviewers: fclem Differential Revision: https://developer.blender.org/D8103
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-23Fix T77893: Crash drawmanager threading custom dataJeroen Bakker
Tangent normals were temporarily saved in the original given layers but the typeinfo wasn't updated. This lead to several issues since we changed the threading of the mesh extraction. This patch stores the tangent normals in a temporary custom data on the stack this way the typemap doesn't need to be updated. Still need to run the tests for an hour to see if it is fixed Reviewed By: Clément Foucault, Philipp Oeser Differential Revision: https://developer.blender.org/D8095
2020-06-23EEVEE: Motion Blur: Add accumulation motion blur for better precisionClément Foucault
This revisit the render pipeline to support time slicing for better motion blur. We support accumulation with or without the Post-process motion blur. If using the post-process, we reuse last step next motion data to avoid another scene reevaluation. This also adds support for hair motion blur which is handled in a similar way as mesh motion blur. The total number of samples is distributed evenly accross all timesteps to avoid sampling weighting issues. For this reason, the sample count is (internally) rounded up to the next multiple of the step count. Only FX Motion BLur: {F8632258} FX Motion Blur + 4 time steps: {F8632260} FX Motion Blur + 32 time steps: {F8632261} Reviewed By: jbakker Differential Revision: https://developer.blender.org/D8079
2020-06-22Fix T77607: Edit-mode shading regression 2.90Campbell Barton
Regression in deaff945d0b9
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-17Fix T77914: Blender Crashes if viewport is changed manually while having ↵Germano Cavalcante
loop cut selected The selection engine requires a viewport.
2020-06-15Fix T77496: Bones Custom Shapes Wires not drawnJeroen Bakker
Lines loose extraction cannot happen on the fly as the render data isn't complete. This patch will do the lines loose subbuffer extraction as a simple task and not on the fly. This patch introduces 2 sub-types of tasks that are executed single threaded. `EXTRACT_MESH_EXTRACT` would do the extraction using Mesh/BMesh geometry. `EXTRACT_LINES_LOOSE` creates the `lines_loose` subbuffer from already cached `lines` IBO. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7964
2020-06-15Fix T77342: Fail to draw loose edgesJeroen Bakker
The underlying issue is that the loose edge extraction cannot be threaded. This patch will extract the loose edges during initialization of the render mesh data. When working on this patch the mesh_render_data_update was split into multiple functions to identify what part was failing. These functions would also help us with debugging. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7962
2020-06-15Fix Memory Leak introduced by Draw Manager ThreadingJeroen Bakker
The memory leak is noticeable when using custom bone shapes. When using custom bone shapes objects could be extracted twice. Where the second extraction can overwrite data created by the first extraction what causes the memory leak. Options that have been checked: 1. Use two task graphs phases. One for normal extraction (DST.task_graph) and the other one will handle extractions that require blocking threads. 2. Keep a list of all objects that needs extraction and only start extraction when all objects have been populated. The second would slow performance as the extraction only happens when all objects have been populated. In the future we might want to go for the second option when we have the capability to render multiple viewports with a single populate. As this design isn't clear this patch will implement the first option. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7969
2020-06-15Fix curve handle color ID displayCampbell Barton
Regression in 49f59092e7c8c caused all handles to display using the 'aligned' theme color. Arrange flags to fix this, add assert to avoid this happening again. Also rename flag so it's use is clearer.
2020-06-12DRW: Avoid undefined behavior when running multiple iterationClément Foucault
This was caused by DST.dupli_origin not being reset properly. This had not effect in master but has effect in EEVEE motion blur branch.
2020-06-12Cleanup: split deform functions that take target object-dataCampbell Barton
Prefer meaningful function names over redundant NULL arguments. Also clarify variable names as it wasn't obvious the object-data is part of the object target.
2020-06-10Fix T77195: Crash with edit-mesh viewport measurements enabledCampbell Barton
Simplify looping over faces & tessellation data. Regression in 6526c3ced8b5, the index accessed wasn't valid.
2020-06-08Workbench: Use eGPUSamplerState to change texture sampling behaviorClément Foucault
This removes some fragment shader hacks and improve the support of different repeat & filtering modes. This fix T77453 Image texture not repeating in viewport
2020-06-05Cleanup: spellingCampbell Barton
2020-06-04DRW: Fix T77370: Redundant anti aliasing/blur effectClément Foucault
2020-06-04Cleanup: DRW: Add comment and remove bitfields.Clément Foucault
2020-06-04GPUShaderInterface: Add Builtin Uniform blocks queryClément Foucault
This makes the query of theses mandatory uniforms faster.
2020-06-04Fix T77315 Overlay: Selection Highlighting not working with complex sceneClément Foucault
Was caused by a UBO bind to the wrong slot.
2020-06-04Fix error in recent fix for T77290Campbell Barton
2020-06-03Fix T77290: Crash displaying vertex colors in edit modeCampbell Barton
Regression from deaff945d0b9, follow logic from d98ae27f02c794a.
2020-06-03DRW: Always unbind texture after drawingClément Foucault
This fix issues with the image editor
2020-06-03GPUMaterial: Add support for different sampler state per image samplerClément Foucault
This bridge between the new sampler state support from GPUTexture and draw material handling. The Sampler State is just the one from the texture for now. No change in logic.
2020-06-03GPUTexture: Add support for binding textures with custom sampler statesClément Foucault
2020-06-03Fix T77156: GPencil view layer filter by layer not workingAntonio Vazquez
This was removed by error during the refactor done in 2.83. Differential Revision: https://developer.blender.org/D7909 Reviewers: @fclem
2020-06-03Cleanup: DRW: Remove support for ModelViewProjectionMatrixClément Foucault
This has been replace by manual model+viewproj transform inside the shader.