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
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
2019-08-08Fix T67587: Fix Drawing in Wireframe Non X-Ray ModeJeroen Bakker
When using Vertex or Weight paint mode on a wireframe the overlay was blended with the background. In this case we now use alpha blending. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5340
2019-07-05DRW: weight-paint wire overlay made vertex selection hard to seeCampbell Barton
2019-06-05TexturePaint: Missing Texture Depth TestJeroen Bakker
Depth testing was off as it used the precomputed ModelView matrix. As draw engines currently use a different approach the depth was sometimes a bit off making the color disappear. This change will use a different vertex shader that will write the correct depth. I expected the same change to be needed in the bone selection overlay but was not able to reproduce it. Reviewed By: fclem Maniphest Tasks: T64615 Differential Revision: https://developer.blender.org/D5006
2019-06-03Cleanup: use const argumentsCampbell Barton
2019-05-30DRW: Refactor to use object pointer for drawcall by defaultClément Foucault
This cleans up a bit of duplicated code and some confusion about what was culled and what wasn't. Now everything is culled based on the given object pointer. If the object pointer is NULL there is no culling performed.
2019-05-28Cleanup: DRW: Rename DRW_STATE_BLEND_* for API clarityClément Foucault
2019-05-27Cleanup: DRW: Move WorldClipPlanes to builtin uniformClément Foucault
2019-05-27Cleanup: Paint Overlays: Remove DRW_STATE_OFFSET_*Clément Foucault
2019-05-22DRW: Remove DRW_state_clip_planes_set_from_rv3dClément Foucault
This should be handled by DST.view_default
2019-05-14Cleanup: DRW: Remove uneeded _add suffix from DRW_shgroup_call_addClément Foucault
2019-05-10Overlays: Use common_view_lib.glslClément Foucault
This removes ModelViewProjectionMatrix usage
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-03-23Cleanp: remove redundant clipping uniformCampbell Barton
workbench_material_shgroup_uniform handles this.
2019-02-23Cleanup: quiet undeclared variable warningCampbell Barton
Also move view_ubo into G_draw.
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-14DRW: de-duplicate vertex & weight paint enginesCampbell Barton
These were almost exact duplicates, use one engine for drawing both kinds of vertex color.
2019-02-14Cleanup: vertex painting variable useCampbell Barton
Assign to local variables when setting up passes, avoids mix-up between similarly named struct members.
2019-02-14Fix vertex/weight paint showing edge selectionCampbell Barton
When vertex/face selection are disabled - show all wire ignoring selection & hidden state.
2019-02-10Cleanup: move clipping shader lib & define into structCampbell Barton
Also compare clipping with the draw context instead of accessing the RegionView3D, currently they're matching but this might not always be the case.
2019-02-10Cleanup: use shorter name for shader configCampbell Barton
The struct name is descriptive, this isn't going to be confused with other variables.
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-06GPU: refactor clipped drawing from DRW into GPUCampbell Barton
Needed to fix T61196, supporting clipped back-buffer in the 3D view which is done outside the draw module. It was also inconvenient having DRW_shader_* versions of GPU_shader_* API calls. - Clipping distances are now supported as a shader configuration for builtin shaders. - Add shader config argument when accessing builtin shaders. - Move GPU_shader_create_from_arrays() from DRW to GPU.
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-31Cleanup: add trailing commasCampbell Barton
Improve clang-format output.
2019-01-26Cleanup: draw manager headersCampbell Barton
2019-01-24Cleanup: fix compiler warnings.Brecht Van Lommel
2019-01-23DRW: generalize selecting between regular/clipped shadersCampbell Barton
Each engine was doing this on its own. Move to DRWContextState, use an enum.
2019-01-23Cleanup: add BEGIN/END to GPL headersCampbell Barton
2019-01-223D View: Support vert & weight paint mask clippingCampbell Barton
2019-01-22Cleanp: use single global for draw managerCampbell Barton
Add 'G_draw' for all draw manager globals, avoids adding extern to each file. Connection between `ts` and `globals_ubo` wasn't obvious, now called `G_draw.block` & `G_draw.block_ubo`.
2019-01-08Vertex Paint: support vertex maskingPhilipp Oeser
Working in 2.7x, was just disabled in 2.8x. Fixes T60256
2018-12-18DRW: Cleanup / Renaming of mesh batch cache functionsClément Foucault
THis is in order to avoid the jungle of names being different at each step of the API. Also removes some unused functions.
2018-12-18Mesh Batch Cache: Port vertex paint surface to batch requestClément Foucault
2018-12-17DRW: Fix vertex paint using original object for batch cacheClément Foucault
2018-12-17Mesh Batch Cache: Port Texture paint wires to new batch requestClément Foucault
2018-10-05Vertex Paint: multiply vertex paint overlayJacques Lucke
Fixes the first part of T56999. Reviewer: brecht Differential Revision: https://developer.blender.org/D3768
2018-08-08Vertex Paint: use original mesh dataCampbell Barton
This is already done in weight paint mode, avoids a mesh refresh on selection changes.
2018-08-08Fix missing uniform for vert/weight/texture paintCampbell Barton
Entering any of these modes would assert immediately.
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-06-22PaintMode: Full Shading Boolean => SliderJeroen Bakker
There was a Full Shading bool that was shared across the WP, VP and TP modes. This commit makes some changes: - Replace the bool with a factor. This gives the user more control on the visibility. - Also draw it on top of the Material and Rendered mode so the user can control what he needs. In certain cases you don't want to see the final rendered material, but the actual texture. - Removed the skipping of objects when in paint modes. As now the paint modes are blended.
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-053D Viewport: move overlay settings from collections to 3D viewport.Brecht Van Lommel
For some we may add per object overrides, but for most we plan to keep them strictly per viewport settings. Display settings from the mesh still need to be moved here, only collections were done to remove that code.
2018-05-02Paint Vertex Mode: Fix shader not free.Clément Foucault
2018-05-02Vertex Paint: Use Linear colors for interpolation.Clément Foucault
This matches Cycles and Eevee's behaviour.
2018-04-30Workbench: Integration VertexPaint and WeightPaint modesJeroen Bakker
- Disable VertexPaint and WeightPaint for OB_MATERIAL and OB_RENDER. Users want to see the final result - When in OB_SOLID, the active object should be rendered without any color. The lighting information is multiplied with the VertexPaint/WeightPaint color - Removed the use_shading flag from VertexPaint and WeightPaint - add method to check if render engine should draw without color (DRW_object_in_only_lighting_mode) Reviewers: fclem Tags: #code_quest Maniphest Tasks: T54894 Differential Revision: https://developer.blender.org/D3191
2018-01-30DRW / Render: Add support for render pipeline in drawmanager.Clément Foucault
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface. This might be addressed in the future at least for video rendering. A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
2018-01-17Revert "Fix use-after free in DRW_shader_create_with_lib"Campbell Barton
Caused an error entering edit-mode. d60f26f37a & 2659500835
2018-01-17DRW: Codestyle refactor: Use macro to create shader libs.Clément Foucault
This clears up the code from many DynStr usage. Easier to read.
2017-09-25DRW : Add new view_update mechanism.Clément Foucault
This makes updates for the viewport cleaner and also add the possibility to add a new callback called when the scene is updated.