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-06-27Fix T66119: Assert editing LatticeClément Foucault
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: CodestyleClément Foucault
2019-05-27Cleanup: DRW: Move WorldClipPlanes to builtin uniformClé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-17Cleanup: DRW: Remove uneeded DRWState valuesClément Foucault
This removes: - DRW_STATE_TRANS_FEEDBACK - DRW_STATE_WIRE - DRW_STATE_POINT
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-04-02Cleanup: empty expression statement warningCampbell Barton
2019-03-16Cleanup: fix compiler warnings.Brecht Van Lommel
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-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-24DRW: API for own versions of builtin GPU shadersCampbell Barton
DRW_shader_get_builtin_shader can replace GPU_shader_get_builtin_shader when we need to support clipping. Use this for loose point & wire drawing in object mode, clips edges in lattice edit mode.
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 edit-mesh clipping (only verts)Campbell Barton
We'll need to replace built-in shaders to add support for clipping.
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`.
2018-09-19Merge branch 'master' into blender2.8Brecht Van Lommel
2018-08-22Cleanup: styleCampbell Barton
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-05-29Object Modes: only use selection for mode switchCampbell Barton
Selection is no longer needed for an object to be considered in a mode. Part of T55246 design task, fixes T55187
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
2018-05-02DRW: Make use of new multisample resolve pass.Clément Foucault
2018-04-30DRW: Remove DRWTextureFormat in favor or GPUTextureFormat.Clément Foucault
Because: - Less redundancy. - Better suffixes. Also a few modification to GPU_texture_create_* to simplify the API: - make the format explicit to the texture creation process. - remove the component count as it's specified in the GPUTextureFormat.
2018-04-16Multi-Object EditingCampbell Barton
This adds initial multi-object editing support. - Selected objects are used when entering edit & pose modes. - Selection & tools work on all objects however many tools need porting See: T54641 for remaining tasks. Indentation will be done separately. See patch: D3101
2018-02-13Object Mode: remove Scene.obedit in draw managerCampbell Barton
Part of larger change to remove this variable entirely.
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-11-29Draw manager: Cleanup, namingSergey Sharybin
Similar to previous commit in Eevee.
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.
2017-09-25DRW : Add AA to non meshes objects.Clément Foucault
You can change the amount of samples in the user preferences. You do not need to restart blender to see the effect in the new viewport. This adds another Multisample Framebuffer and textures (so even more memory required). It works by blitting the default_fb to the multisample_fb each time the renderer need to render one or more "wire" pass. It it then blit back to the default_fb so that the rest of pipeline is working as expected. We COULD lower the GPU memory / bandwidth usage to render everything to the same multisample fbo and change the logic depending on if MSAA is enabled or not, but I think it's a bit too much work for now.
2017-06-27Fix missing globalsBlock in edit mode latice drawingLuca Rood
This was causing lattice vertices not to be drawn.
2017-06-27Implement weight colors for lattices in draw managerLuca Rood
2017-06-19Gawain API naming refactorCampbell Barton
Use consistent prefix for gawain API names as well as some abbreviations to avoid over-long names, see: D2678
2017-05-16Draw Manager: Texture Memory usage improvement.Clément Foucault
-Use 11_11_10 buffers for hdr content. -Eevee compositing share 1 buffer if bloom and DOF are both activated. -Fix slowdown when resizing EEVEE viewport. -Removed DRW_BUF_*** enums causing confusion.
2017-04-29Cleanup: rename struct for private engine dataCampbell Barton
Also remove from pass list (there were some duplicate unused entries).
2017-04-25Draw Manager: store context vars per drawCampbell Barton
Was performing context access per object for scene, region etc. While not very slow they don't change during drawing so cache in a struct. This also makes it possible to draw in views besides the current context.
2017-04-20Cleanup: redundant struct qualifier & long linesCampbell Barton
2017-04-20Use theme vertex size for lattice & curve verticesCampbell Barton