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-09-11Cleanup: make formatJacques Lucke
2020-09-11Image Editor: Smooth Wire User PreferencesJeroen Bakker
The old image editor has an option to enable the smooth wire drawing. This option was stored per editor and disabled by default. This patch connects the smooth wires in the UV/Image editor to `User Prefereces -> Viewport -> Quality -> Smooth Wire [] Overlay`. The old option is left in place and will be removed when the old image editor drawing code will be removed before BCon 3.
2020-09-11Use DrawManager for Image/UV EditorJeroen Bakker
This project moves the current UV/Image editor drawing to the draw manager. Why would we do this: **Performance**: Current implementation would draw each texel per time. Multiple texels could be drawn per pixel what would overwrite the previous result. You can notice this when working with large textures. Repeat image drawing made this visible by drawing for a small period of time and stop drawing the rest. Now the rendering is fast and all repeated images are drawn. **Alpha drawing**: Current implementation would draw directly in display space. Giving incorrect results when displaying alpha transparent images. This addresses {T52680}, {T74709}, {T79518} The image editor now can show emission only colors. See {D8234} for examples. **Current Limitations** Using images that are larger than supported by your GPU are resized (eg larger than 16000x16000 are resized to 8k). This leaves some blurring artifacts. It is a low priority to add support back of displaying individual pixels of huge images. There is a design task {T80113} with more detail. **Implementation overview** Introduced an Image Engine in the draw module. this engine is responsible for drawing the texture in the main area of the UV/Image editor. The overlay engine has a edit_uv overlay which is responsible to draw the UV's, shadows and overlays specifically for the UV Image editor. The background + checker pattern is drawn by the overlay_background. The patch will allow us to share overlays between the 3d viewport and UV/Image editor more easily. In most cases we just need to switch the `pos` with the `u` attribute in the vertex shader. The project can be activated in the user preferences as experimental features. In a later commit this will be reversed. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8234
2020-09-06GPUVertBuf: Make GPUVertBuf private to the GPU moduleClément Foucault
This is just a cleanup to isolate the internals of the vertbuf. This adds some getters to avoid refactor of existing code.
2020-09-03Fix T63125: Gpencil: bones cannot be selected in weightpaint modePhilipp Oeser
Some underlying functionality was not ready for greasepencil: - BKE_modifiers_get_virtual_modifierlist (now introduce dedicated BKE_gpencil_modifiers_get_virtual_modifierlist) - BKE_modifiers_is_deformed_by_armature - checks in drawing code - checks in (pose) selection code A couple of changes to make this work: - `eGpencilModifierType_Armature` has to be respected (not only `eModifierType_Armature`) - `OB_MODE_WEIGHT_GPENCIL` has to be respected (not only `OB_MODE_WEIGHT_PAINT`) -- (now use new `OB_MODE_ALL_WEIGHT_PAINT`) - `gpencil_weightmode_toggle_exec` now shares functionality from `wpaint_mode_toggle_exec` -- moved to new `ED_object_posemode_set_for_weight_paint` This patch will also set the context member "weight_paint_object" for greasepencil (otherwise some appropriate pose operators wont work when in weightpaint mode) Reviewed By: campbellbarton Maniphest Tasks: T63125 Differential Revision: https://developer.blender.org/D8483
2020-08-28DrawEngine: Shader Test SuiteJeroen Bakker
A test case that compiles all the GLSL shaders for workbench, gpencil, overlay and some of eevee. Compilation is still platform dependent, but when run on a test-farm with different hardware we will be able to detect GLSL compilation errors early on. The test will be compiled when `WITH_GTEST` and `WITH_OPENGL_DRAW_TESTS` are On. For eevee only the shaders inside eevee_shaders.c are included. EEVEE has some shaders located inside the submodule. They aren't accessible to the outside and aren't added to the test case. We should see how we want to add them. For the test cases it is better to move them to eevee_shaders.c, but for eevee perspective it is better to keep them in the submodule. Keeping them in the submodule could lead to situations that is harder to test. as the shader could already have been initialized. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8667
2020-08-18Fix T79800: Split vertex size for grease pencilAntonio Vazquez
Differential Revision: https://developer.blender.org/D8607
2020-08-18Merge branch 'blender-v2.90-release'Antonio Vazquez
2020-08-18Fix T79580: Control Mesh Only Partially Drawn After Filling a Surface From a ↵Antonio Vazquez
Cage of Surface Curves Differential Revision: https://developer.blender.org/D8600
2020-08-12Fix T77424 Overlay: Editmode: Issue with multi edit and in-front optionClément Foucault
This is a nice addition to the refactor. Now any combination of in-front / not in-front will work in non x-ray edit mode.
2020-08-11Fix T79683: Dim GPencil points created by modifiersAntonio Vazquez
This change makes the generated points a light dimmer than selectable points. Before: {F8765593} After: {F8765585} Maniphest Tasks: T79683 Differential Revision: https://developer.blender.org/D8515
2020-08-07Cleanup: pass arrays const where possibleCampbell Barton
2020-08-07Cleanup: declare arrays arrays where possibleCampbell Barton
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-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06Fix buffer-overflow when drawing Curve Guide objectsJulian Eisel
Was passing an array of length 3 to `where_on_path()` that expected length 4.
2020-08-06Fix buffer-overflow when drawing Curve Guide objectsJulian Eisel
Was passing an array of length 3 to `where_on_path()` that expected length 4.
2020-07-30EEVEE: GLSL refactor/cleanupClément Foucault
- add the use of DRWShaderLibrary to EEVEE's glsl codebase to reduce code complexity and duplication. - split bsdf_common_lib.glsl into multiple sub library which are now shared with other engines. - the surface shader code is now more organised and have its own files. - change default world to use a material nodetree and make lookdev shader more clear. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D8306
2020-07-30Cleanup: GPU: Remove GPU_draw.h and move fluid gpu function to DRWClément Foucault
2020-07-30Cleanup: Split gpu_texture_image.c into BKE and IMB modulesClément Foucault
This is in order to disolve GPU_draw.h into more meaningful code blocks. All the Image related function are in `image_gpu.c`. All the MovieClip related function are in `movieclip.c`. The IMB module now has a connection with GPU. This is not strickly necessary and the code could be move to `image_gpu.c` if needed. The Image garbage collection is also ported to `image_gpu.c`.
2020-07-30GPU_draw.h: cleanup before splittingClément Foucault
2020-07-29Cleanup: GPU: Move Image based function to GPU_draw.hClément Foucault
This makes it less confusing what functions are for blender structures.
2020-07-29Fix incorrect flag check in overlay relationship linesCampbell Barton
2020-07-26Cleanup: Image: Rename redundant enum for clarityClément Foucault
2020-07-26GPUTexture: Replace GL textarget enum by Image enumClément Foucault
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-20DRW: draw hook relationship linesCampbell Barton
This wasn't added back from 2.7x, making "Recenter Hook" applier to do nothing.
2020-07-20DRW: overlay engine support for drawing isolated pointsCampbell Barton
This matches similar functionality for drawing lines.
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-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-03Cleanup: Fluid renaming from old 'manta' naming to new 'fluid' namingSebastián Barschkis
Changed variable names from mmd, mds, mfs, and mes to fmd, fds, ffs, and fes. The author of this commits lights a candle for all the merge conflicts this will cause.
2020-07-03Fix T78124 Overlay: Image: Camera background image transparency not workingClément Foucault
This changes to premultiplied blending for all cases and put the premult in the shader.
2020-07-02GPencil: Cleanup - More rename from gp_ to gpencil_Antonio Vazquez
2020-07-02Fix T76229 Overlay: Sulpt overlay not working if object use in-front optionClément Foucault
Simple fix similar to paint overlay.
2020-07-01Fix T67587 Overlay: WeightPaint color blends with background in wireframe modeClément Foucault
Fix this by rendering to the overlay framebuffer when using alpha blend mode.
2020-07-01Fix T77655 Overlay: Edit mode + wire drawtype + infront not transparentClément Foucault
2020-07-01Fix T75483: 3D Text selection obscures textClément Foucault
This avoids logic op and having to draw on the render frame-buffer.
2020-07-01Cleanup: spellingCampbell Barton
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-29Fix T74290 Face Dots in front (X-ray) Visual GlitchClément Foucault
This is not likely to be the silver bullet but it fix the common case.
2020-06-25Fix T70193 Overlay: Grid floor disappears for orthographic cameraClément Foucault
The fix is to disable the fading for in the +Z direction in this case.
2020-06-24Fix T66934 Overlay: "Outline Selected" overlay doesnt affect armaturesClément Foucault
This is a really small fix. Could be included in 2.83 LTS branch.
2020-06-23Fix T77803: IK Degrees of freedom drawing glitchJeroen Bakker
Forgot to update the lineOutput what resulted in that the sphere was not rendered on all platforms. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8098
2020-06-19UI: Drag and Drop Constraints, Layout UpdatesHans Goudey
This patch implements the list panel system D7490 for constraints. In this case the panels are still defined in Python. The layouts are also updated to use subpanels and the a more organized single column layout. There may be more tweaks necessary for the layouts. Reviewed By: Severin, billreynish, Mets Differential Revision: https://developer.blender.org/D7499
2020-06-16Fix T77803: IK Degrees of freedom drawing glitchJeroen Bakker
IK degrees of freedom is rendered using wires and a solid sphere. The solid used the wireframe drawing what resulted into drawing glitches. This patch adds a new shader to draw the solid shape. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8044
2020-06-15Fix Memory Leak introduced by Draw Manager ThreadingJeroen Bakker
The memory leak is noticeable when using custom bone shapes. When using custom bone shapes objects could be extracted twice. Where the second extraction can overwrite data created by the first extraction what causes the memory leak. Options that have been checked: 1. Use two task graphs phases. One for normal extraction (DST.task_graph) and the other one will handle extractions that require blocking threads. 2. Keep a list of all objects that needs extraction and only start extraction when all objects have been populated. The second would slow performance as the extraction only happens when all objects have been populated. In the future we might want to go for the second option when we have the capability to render multiple viewports with a single populate. As this design isn't clear this patch will implement the first option. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7969
2020-06-15Fix curve handle color ID displayCampbell Barton
Regression in 49f59092e7c8c caused all handles to display using the 'aligned' theme color. Arrange flags to fix this, add assert to avoid this happening again. Also rename flag so it's use is clearer.
2020-06-09Cleanup: Move pointcache dna to separate fileJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D7965