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
2021-04-08Cleanup:Germano Cavalcante
2021-04-08Fix previous commit: wrong `is_mesh_verts_only` checkGermano Cavalcante
2021-04-08Fix T86762: Inconsistent show of result of modifier Screw in edit modeGermano Cavalcante
To check if an "is_mesh_verts_only" mesh, the overlay engine checks if the mesh has no "totedge" and has "totvert". However, sometimes this engine can check the wrong mesh since editmesh works on `embm->mesh_eval_final`. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10917
2021-02-02Fix T85301: Eevee does not respect collection instance offset for hairPhilipp Oeser
This resulted in hair drawing with an offset if an instance_offset was set. note: Usually the instance_offset gets combined with the objects obmat in 'make_duplis_collection' / 'make_dupli', see > /* Combine collection offset and `obmat`. */ Using the resulting DupliObject->mat instead does include the instance_offset, but this results in double-transforms (something that I have not investigated further), so now reconstruct the correct matrix from scratch. Maniphest Tasks: T85301 Differential Revision: https://developer.blender.org/D10285
2020-11-13Add An Opacity Slider to Overlay WireframeJun Mizutani
This patch adds an opacity slider to the wireframe overlay. The previous wireframe in dense geometry scenes could be too dark and sometimes the user just wants an impression of the geometry during modelling. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D7622
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-07-21Cleanup: CodeQuality: Replace OB_DRAWXRAY by OB_DRAW_IN_FRONTClément Foucault
This is to match the option name and to avoid confusion with workbench xray mode.
2020-07-16Cleanup: DRW: remove uneeded double bindClément Foucault
Now that binds are permanent there is no need to setup the same texture for each subgroups.
2020-07-15PointCloud: Initial rendering support for WorkbenchClé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. Using geometry instead of pseudo raytraced spheres is more scalable as we can render as low as 1 or 2 triangle to a full half sphere and can integrate easily in the render pipeline using a low amount of code. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8301
2020-06-30Fix T76337 Overlay: Wireframe: x-ray doesn't deactivate when set to 0Clément Foucault
Also fix an issue with antialiasing when xray opacity is set to 0.
2020-06-03Cleanup: DRW: Remove persistent uniform functionsClément Foucault
2020-06-02Fix T76196: Curve Display hides wires as soon as any part has faces [duePhilipp Oeser
to filling/extrude/etc] Caused by rB6da097136cf4. The file in the report has some parts of the curve object generate faces [due to success in filling] and some others dont [where filling isnt possible]. rB6da097136cf4 disabled the wires/curves drawing whenever any faces would be generated (but the only way to see all wires was to set the Fill Mode to None then). So now only skip the wires/curves drawing if we are _not_ in wireframe viewport shading and the object's viewport display options is above 'WIRE'. This is an alternative fix to D7594 (and I think the better alternative, thx @stevewarner suggesting this). Maniphest Tasks: T76196 Differential Revision: https://developer.blender.org/D7874
2020-05-28Cleanup: DRW: Remove array suffix from uniform nameClément Foucault
2020-05-20Overlay: Wireframe: Add visualization for Hairs in wireframe modeClément Foucault
This only works for particle systems for now. Fix T61928 Wireframe mode hair not visible
2020-05-14Fix T75908: Sculpt GPU Batches + Render ArtifactsJeroen Bakker
When sculpting the GPU batches are constructed with only the required data for a single viewport. When that viewport changes shading or coloring mode (object to vertex) batches might not hold all the needed information. There is also a case when you have two 3d viewport one in object color mode and the other in vertex color mode that the GPU batches were updated without any vertex colors. In order to fix these category of issues this patch would always construct the full GPU batches for sculpting. Reviewed By: Clément Foucault, Pablo Dobarro Maniphest Tasks: T75908 Differential Revision: https://developer.blender.org/D7701
2020-05-08Fix T75958 Overlay: Blender Crashes when selecting without Depth PickingClément Foucault
2020-04-22Fix T75971: 3D Text invisible when fill set to NoneCampbell Barton
2020-03-26Overlay: Wireframe: New method to avoid zfighting with geometryClément Foucault
This new method is only enabled if Overlay Smooth Wire is enabled. This method gives really nice results but has some downside: - Require a depth copy or loose the ability to write wire depth to the depth buffer and have correct depth ordering of wires. This patch use the former, with its associated cost. - Require some depth sampling and prevent early depth test (i.e: has some performance impact). - Has some relatively minor instability with geometry that are perpendicular to the view and intersecting with other geometry. Pros: - Compared to a fullpass approach this is surely going to have less performance impact and much higher quality. - Removes the additional vertex offset. (see T74961) - Fixes all half edges z-fighting. {F8428014} {F8428015} Reviewed By: brecht Differential Revision: https://developer.blender.org/D7233
2020-03-21Fix crash with empty volume object and points drawingBrecht Van Lommel
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: Eevee and workbench rendering of new Volume, Hair, PointCloudBrecht Van Lommel
Only the volume drawing part is really finished and exposed to the user. Hair plugs into the existing hair rendering code and is fairly straightforward. The pointcloud drawing is a hack using overlays rather than Eevee and workbench. The most tricky part for volume rendering is the case where each volume grid has a different transform, which requires an additional matrix in the shader and non-trivial logic in Eevee volume drawing. In the common case were all the transforms match we don't use the additional per-grid matrix in the shader. Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6955
2020-03-11Workbench Simplification RefactorClément Foucault
This patch is (almost) a complete rewrite of workbench engine. The features remain unchanged but the code quality is greatly improved. Hair shading is brighter but also more correct. This also introduce the concept of `DRWShaderLibrary` to make a simple include system inside the GLSL files. Differential Revision: https://developer.blender.org/D7060
2020-03-09Cleanup: compiler warningsBrecht Van Lommel
2020-03-09Fix T74438: Vertex-only meshes disappear in wireframe modeGermano Cavalcante
The problem happens because, in wireframe mode, `bool use_wire` is always `true`, so the function that draws all edges is the called. The solution is set `use_wire` as `false` when the mesh has no edges. This matches the behavior of blender 2.79. Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D7041
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-02-12Fix T59271: Curves with Extrude still show curvePhilipp Oeser
Compared to 2.79, this also has the benefit of actually showing the curve again if you set both bevel start and end to 0.0 for example. Maniphest Tasks: T59271 Differential Revision: https://developer.blender.org/D6168
2020-02-11Fix T73442 Overlay: Wireframe infront buggy in material shading modeClément Foucault
This was caused by the refactor. The wireframe was drawn with the incorrect depth buffer. Should be included in 2.82
2020-02-04Fix T73095: Edit Mode Overlay Linked MeshJeroen Bakker
When using duplicate linked meshes, objects that are not in edit-mode will be drawn as it is in edit mode, when another object with the same mesh is in edit mode. This will not be the case when one of the objects are influenced by modifiers. The change reflects more how it was done in Blender 2.79. The current change introduces a draw manager method that checks in detail who is responsible for the drawing (render engine or overlay engine). If the edit mesh is not the original or the object that is drawn doesn't draw the original mesh the object will be drawn by the render engine. Known Limitation of this patch is that the rendering outside edit mode doesn't reflect the latest changes until the user switches between object and edit mode. When there are no modifiers in use, the updating is done immediately. IMO this would be sufficient for blender 2.82, it also fixes parts of T72733. The updating of the surface batches requires more development and is post-poned for now. Reviewed By: fclem, brecht Differential Revision: https://developer.blender.org/D6737
2020-01-13Fix T67305: Sculptmode Wireframe ColoringJeroen Bakker
When in sculptmode the wireframe coloring should always be disabled. When an object was sculpted but had modifiers this was not detected and the colors were still shown. This fix will disable wireframe coloring for any object that is in sculptmode.
2019-12-05Overlay Engine: Cleanup & enable line AA on in front passesClément Foucault
- Remove pd->view_default, was a leftover from TAA implementation - Sanitize active_view switches. - Sanitize framebuffers switches.
2019-12-02Overlay: Wireframe: Fix missing loose edges in object modeClément Foucault
2019-12-02Fix T72114 Overlays: Curves are not drawing anymore (objectmode)Clément Foucault
2019-12-02Overlay Engine: Refactor & CleanupClément Foucault
This is the unification of all overlays into one overlay engine as described in T65347. I went over all the code making it more future proof with less hacks and removing old / not relevent parts. Goals / Acheivements: - Remove internal shader usage (only drw shaders) - Remove viewportSize and viewportSizeInv and put them in gloabl ubo - Fixed some drawing issues: Missing probe option and Missing Alt+B clipping of some shader - Remove old (legacy) shaders dependancy (not using view UBO). - Less shader variation (less compilation time at first load and less patching needed for vulkan) - removed some geom shaders when I could - Remove static e_data (except shaders storage where it is OK) - Clear the way to fix some anoying limitations (dithered transparency, background image compositing etc...) - Wireframe drawing now uses the same batching capabilities as workbench & eevee (indirect drawing). - Reduced complexity, removed ~3000 Lines of code in draw (also removed a lot of unused shader in GPU). - Post AA to avoid complexity and cost of MSAA. Remaining issues: - ~~Armature edits, overlay toggles, (... others?) are not refreshing viewport after AA is complete~~ - FXAA is not the best for wires, maybe investigate SMAA - Maybe do something more temporally stable for AA. - ~~Paint overlays are not working with AA.~~ - ~~infront objects are difficult to select.~~ - ~~the infront wires sometimes goes through they solid counterpart (missing clear maybe?) (toggle overlays on-off when using infront+wireframe overlay in solid shading)~~ Note: I made some decision to change slightly the appearance of some objects to simplify their drawing. Namely the empty arrows end (which is now hollow/wire) and distance points of the cameras/spots being done by lines. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6296