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-08-13GPUDrawList: GL backend isolationClément Foucault
2020-08-08Cleanup: use array syntax for sizeof with fixed valuesCampbell Barton
Also order sizeof(..) first to promote other values to size_t.
2020-08-07Cleanup: Draw, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/draw` module. Not all warnings are addressed in this commit. No functional changes.
2020-07-30GPUBatch & GPUImmediate: Use GPUShader instead of using raw OGL handleClément Foucault
2020-07-29GPU: Move gpu_uniformbuffer.c to C++Clément Foucault
This also rewrite and simplify the module a bit.
2020-07-18Cleanup: GPU: Encapsulate clipDistancesClément Foucault
This also remove some non functionnal state changes that were left from legacy code.
2020-07-16Cleanup: GPU: Move depth/color masks functions to GPU_stateClément Foucault
2020-06-04DRW: Fix T77370: Redundant anti aliasing/blur effectClément Foucault
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-03DRW: Always unbind texture after drawingClément Foucault
This fix issues with the image editor
2020-06-03GPUTexture: Add support for binding textures with custom sampler statesClément Foucault
2020-06-03Cleanup: DRW: Remove support for ModelViewProjectionMatrixClément Foucault
This has been replace by manual model+viewproj transform inside the shader.
2020-06-03DRW: Remove automatic bind locations and use hardcoded locations for texturesClément Foucault
This cleanup use the recent changes in shader interface to allow querying the binding location a texture should use. This should aleviate all issue we have with texture state change recompiling the shaders at drawtime. All binds are now treated like persistent binds and will stick until a new shading group bind a different shader. The only difference is that you can still change it with a new subgroup or same shader shgroup. Since unbinding can be heavy we only do it when using `--debug-gpu`.
2020-06-02EEVEE: Refactor of eevee_material.cClément Foucault
These are the modifications: -With DRW modification we reduce the number of passes we need to populate. -Rename passes for consistent naming. -Reduce complexity in code compilation -Cleanup how renderpass accumulation passes are setup, using pass instances. -Make sculpt mode compatible with shadows -Make hair passes compatible with SSS -Error shader and lookdev materials now use standalone materials. -Support default shader (world and material) using a default nodetree internally. -Change BLEND_CLIP to be emulated by gpu nodetree. Making less shader variations. -Use BLI_memblock for cache memory allocation. -Renderpasses are handled by switching a UBO ref bind. One major hack in this patch is the use of modified pointer as ghash keys. This rely on the assumption that the keys will never overlap because the number of options per key will never be bigger than the pointed struct. The use of one single nodetree to support default material is also a bit hacky since it won't support concurent usage of this nodetree. (see EEVEE_shader_default_surface_nodetree) Another change is that objects with shader errors now appear solid magenta instead of shaded magenta. This is only because of code reuse purpose but could be changed if really needed. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7642
2020-06-02DRW: Remove defered uniform creationClément Foucault
2020-04-03Cleanup: use term 'attr' instead of 'attrib'Campbell Barton
This was already the case in most parts of the GPU API. Use full name for descriptive-comments.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-12DrawManager: Pack Draw State BitsJeroen Bakker
Some draw state bits are mutual exclusive. This patch will free some draw state bits by packing the mutual exclusive bits in a mask. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7088
2020-03-11Cleanup: spellingCampbell Barton
2020-03-10DRW: Fix wrong test conditionClément Foucault
Fixes the warning: address of array 'cmd->draw.batch->inst' will always evaluate to 'true'
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-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-02-20DRW: Fix facing reset when drawing with inverted cameraClément Foucault
2020-02-19DRW: Support inverted view matrixClément Foucault
We detect the case where we need to invert the facing directly inside the DRWView update and do the appropriate GL calls at draw time. Fix T63047 Camera with negative scale works only in Cycles Rendered view Fix T71352 Negative scale camera causes BLI_assert
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2020-01-15DRW: Fix instance batch checkClément Foucault
Thanks to @LazyDodo for the heads up.
2020-01-13DRW: Fix stencil being modified by passes that are read onlyClément Foucault
This is because even if the glStencilMask is 0x00 the GL_DECR_WRAP and GL_INCR_WRAP states still works and will modify the stencil. Fix T73046 Overlapping parts of wireframes don't render at all in workench with shadows turned on.
2019-12-02Overlay Engine: Make thickwires (linesize > 1.0) using the Wire AA passClément Foucault
This fixes the limitation of OSX not allowing glLineWidth with size > 1.0. This however only fix the viewport wire drawing.
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-10-04GPU: Platform Support LevelJeroen Bakker
Adds a check when starting blender if your platform is supported. We use a blacklist as drivers are updated more regular then blender (stable releases). The mechanism detects if the support level changed or has been validated by the user previously. Changes can happen due to users updating their drivers, but also when we change the support level in our code base. When the user has seen the limited support level message it is saved in the user config. It would be better to have a system specific config section, but currently not clear what could benefit from that. When the platform is unsupported or has limited support a dialog box will appear including a link to our user manual describing what to do. **Windows** Windows uses the MessageBox that is provided by the windows kernel. **X11** We use a very lowlevel messagebox for X11. It is very limited in use and can be fine tuned when needed. **SDL/APPLE** There is no implementation for SDL or APPLE at this moment as the platform support feature targets mostly Windows users. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5955
2019-09-25Fix T67342 EEVEE: Uninitialized buffer when changing screen sizeClément Foucault
Was caused by some drawcall not being done if the volumetric resolve pass was drawn (using dual source blending seems to be the cause). Not sure why this is needed since it is still reset before the next drawcall.
2019-09-17DRW: Refactor to support draw call batchingClément Foucault
Reviewers: brecht Differential Revision: D4997
2019-09-14Revert "DRW: Refactor to support draw call batching"Clément Foucault
This reverts commit ce34a6b0d727bbde6ae373afa8ec6c42bc8980ce.
2019-09-13DRW: Refactor to support draw call batchingClément Foucault
Reviewers: brecht Differential Revision: D4997
2019-09-13Cleanup: unused headers (GPU)Campbell Barton
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-05Eevee: Shadow map refactorClément Foucault
Reviewed By: brecht Differential Revision: http://developer.blender.org/D5659
2019-08-22Shading: Add object color to Object Info node.OmarSquircleArt
The object color property is added as an additional output in the Object Info node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5554
2019-08-17Cleanup: correct commentsCampbell Barton
2019-08-15DRW: New function DRW_culling_min_max_testmano-wii
For testing intersection with frustrum planes without having to transform all bound box vertices into global space.
2019-06-27DRW: Add DRW_STATE_BLEND_CUSTOMClément Foucault
This one enable dual source blending, enabling more fine tuned blending parameters inside the shader.
2019-06-17DRW: Make stencil state clearer and distinctClément Foucault
Write and test states are now separate and need to be explicit. Also add asserts when trying to write without test enabled.
2019-05-28DRW: Fix issue introduce in removal of DRW_STATE_POINTClément Foucault
Fix issue raised by mano-wii in rB97d22e12b521 Fix T65050 knife tool snapping indicator not visible
2019-05-28Cleanup: GPU: Move program point size to GPU_stateClément Foucault
2019-05-28Cleanup: DRW: Rename DRW_STATE_BLEND_* for API clarityClément Foucault
2019-05-27draw_manager: fix warning with msvc.Ray Molenkamp
32 bit shift stored in 64 bit field gave a warning with MSVC.
2019-05-27Cleanup: DRW: Remove DRW_STATE_OFFSETClément Foucault
2019-05-22DRW: Only change VAO if geometry changesClément Foucault
2019-05-22GPU: Refactor GPU_batch_draw_range_exClément Foucault
Rename it to GPU_batch_draw_advanced and use base instance when possible. Also add GPU_batch_bind to bind the vao independantly of drawing commands.
2019-05-22Cleanup: DRW: Remove, rename stuffsClément Foucault