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-03-19Fix T73931: Stereo Viewport Color ManagementJeroen Bakker
Stereoscopic viewport didn't support Color Manangement due recent changes in the color management pipeline. In order to solve the issue we will migrate the strereo rendering into the GPUViewport. This will share some textures and reduce required GPU memory. Reviewed By: fclem, dfelinto Differential Revision: https://developer.blender.org/D6922
2020-02-15Cleanup: refactor GPU material attribute and texture requestsBrecht Van Lommel
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
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-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
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-07-303D View: Move selection API to a Selection engine.mano-wii
This commit moves the API of selecting faces, vertices and edges to a DRW manager engine. Reviewers: campbellbarton, fclem Subscribers: jbakker, brecht Differential Revision: https://developer.blender.org/D5090
2019-06-06Cleanup: argument sign mismatch warningCampbell Barton
2019-06-05Fix crash when editing shaders on Intel HD 4000.mano-wii
In the Intel HD 4000 driver a shader has to be deleted in the same context in which it is created. However, because you can't use a rendering context on different threads, to maintain the multithreaded compilation, the solution was to use the `GL_ARB_get_program_binary` and copy the binary generated for the shader and generate a shader on the main context using that binary. This solution is limited only to Intel HD 4000 and windows. Reviewers: fclem Reviewed By: fclem Differential Revision: https://developer.blender.org/D5019
2019-05-28Cleanup: GPU: Move program point size to GPU_stateClément Foucault
2019-05-09Cleanup: GPUShader: Remove unused edge fancy shaderClément Foucault
2019-05-06Cleanup: GPUMaterial remove unused struct membersClément Foucault
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-02-27Cleanup: rename lamp -> lightCampbell 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-11Cleanup: comment indentation & spellingCampbell Barton
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-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.
2019-01-233D View: draw clipping regionCampbell Barton
Only for workbench solid/wire modes.
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2019-01-17GPU: Rename GPU_shader_get_uniform to GPU_shader_get_uniform_ensureClément Foucault
This is in order to make the API more multithread friendly inside the draw manager. GPU_shader_get_uniform will only serve to query the shader interface and not do any GL call, making it threadsafe. For now it only print a warning if the uniform was not queried before.
2019-01-11UVEdit: Port texpaint_loop_wire to batch requestClément Foucault
This removes code duplication and put an end to the old "create at request" batch creation. Also it uses the same vbo as the uv layer used for shading. Reducing VRAM usage. Also fixes the modified uv display in uv edit mode.
2019-01-11UVEdit: Add back uv angle stretch aspect correctionClément Foucault
This is now done in shader so that the batches are shared across ImageUV areas.
2019-01-11GPUShader: Cleanup Unused shadersClément Foucault
2019-01-11GPUShader: Add selection id shaderClément Foucault
This is to separate id drawing from standard color drawing.
2018-12-30Cleanup: remove non-existing function declarationsCampbell Barton
2018-10-09Cleanup: Remove old smoke drawing codeClément Foucault
2018-10-04Cleanup: Remove some unneeded codeJacques Lucke
Reviewers: fclem Differential Revision: https://developer.blender.org/D3767
2018-10-01Edit UVs: Refactor drawing Edit UV in Image EditorClément Foucault
NOTE: This commit only concern edit UVs and not the "shadow" mesh displayed when texture painting. This will be address in a future commit. We now cache the uv mesh in the mesh batch cache and only reupload data on changes. Update could be more granular (and a bit faster) but it's not our main concern ATM. This should fix problem caused by the IMM api used to draw large meshes. This makes performance skyrocket compared to previous implementation. There is still a big CPU bottleneck when not in sync selection mode but it is not related to the drawing function directly.
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-24Weight Paint: Multiply overlay on the meshJacques Lucke
Use the multiply blending mode for the weight paint overlay. To support the opacity slider, we need a new shader. Otherwise this combination of multiplication and mixing does not seem to be supported by glBlendFunc. Reviewers: brecht Differential Revision: https://developer.blender.org/D3727
2018-09-20GPU Python API: shader.uniform_floatDalai Felinto
The existing alternative is to use a buffer and call uniform_vector_float which is overkill for such a simple operation.
2018-09-15Cleanup: use r_ prefix for return argsCampbell Barton
2018-09-14GPU module: Initial implementation of the `gpu.shader` submodule.mano-wii
Differential Revision: https://developer.blender.org/D3688
2018-09-12GPU: Remove residue of OpenSubdivSergey Sharybin
Was done more like a hack on top of old drawing pipeline. Should be re-implemented to fit new draw manager closer.
2018-09-02Cleanup: comment blocksCampbell Barton
2018-08-23UI: Optimize the area border drawingClément Foucault
It is was not really a bottleneck but it was triggering my OCD when 1/3rd of the drawcalls in a normal scene were basically only caused by this.
2018-08-14GPUShader: Remove some of the unused shadersClément Foucault
keeping GPU_SHADER_SMOKE until other occurences are removed.
2018-08-02GPUShader: Add name for debugging & identifying shaders.Clément Foucault
2018-07-31New Grease Pencil object for 2D animationAntonioya
This commit merge the full development done in greasepencil-object branch and include mainly the following features. - New grease pencil object. - New drawing engine. - New grease pencil modes Draw/Sculpt/Edit and Weight Paint. - New brushes for grease pencil. - New modifiers for grease pencil. - New shaders FX. - New material system (replace old palettes and colors). - Split of annotations (old grease pencil) and new grease pencil object. - UI adapted to blender 2.8. You can get more info here: https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/ https://code.blender.org/2018/07/grease-pencil-status-update/ This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible. Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
2018-07-30DRW: Add option to only resolve framebuffer colors without depth testClément Foucault
2018-07-18Cleanup: style for GPU moduleCampbell Barton
2018-05-23OpenGL: documentation for the builtin GPU shadersDalai Felinto
This is intended to help developers to know how and when to use each shader. There are plenty of undocumented shaders, but it's a matter of filling them in. The script I used to quickly find the related shaders for a const is: P700 Original patch: D2318
2018-05-16GPUShader/DRW: Add Transform Feedback support.Clément Foucault
This is a usefull feature that can be used to do a lot of precomputation on the GPU instead of the CPU. Implementation is simple and only covers the most usefull case. How to use: - Create shader with transform feedback. - Create a pass with DRW_STATE_TRANS_FEEDBACK. - Create a target Gwn_VertBuf (make sure it's big enough). - Create a shading group with DRW_shgroup_transform_feedback_create(). - Add your draw calls to the shading group. - Render your pass normaly. Current limitation: - Only one output buffer. - Cannot pause/resume tfb rendering to interleave with normal drawcalls. - Cannot get the number of verts drawn.
2018-05-03Metaball: Move handles shader to draw/modes/shader and reference them in ↵Germano
draw_common.c