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-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-09CleanUp: Introduce `eMeshBatchDirtyMode` enumJeroen Bakker
It used to be an int mode.
2020-10-09Revert "CleanUp: Introduce `eMeshBatchDirtyMode` enum"Jeroen Bakker
This reverts commit 0796807720882731cdb70be144aa182e9b0b9ee5.
2020-10-07UV/Image Editor: Overlay PopoverJeroen Bakker
The overlay options in the image/uv editor is hidden in side panels and menus. Sometimes this panel is even hidden, while still useful. The goal of this task is to introduce an overlay pop-over just like the overlay-popover of the 3d viewport. Popover has * UV Stretching (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Display As (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show Modified (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show UV Edges (including opacity slider; available UV, View, Paint, when active object mode is a mesh and in OB_EDIT mode) * Udim tiles when no image is available. Like the 3d viewport, there will be a editor toggle to enable/disable the overlays For compatibility reasons the RNA properties are added to both the `SpaceImage.uv_editor` amd `SpaceImage.overlay`. On DNA level they are still stored in the SpaceImage. only new properties are added to the SpaceImageOverlay struct. During the next major release we could remove these options from `SpaceImage.uv_editor`. This should be noted in the Python section of release notes. Reviewed By: Julian Eisel, Pablo Vazquez Differential Revision: https://developer.blender.org/D8890
2020-10-07CleanUp: DrawManager Balanced alloc/free of surface_per_mat cacheJeroen Bakker
The alloc was done in the init, but the free was done in the discard. As discarding can happen more often there were some unneeded if statements to work around use after free. This patch moves the free to the `mesh_batch_cache_clear` and removes the if statements to check for use after free.
2020-10-07CleanUp: Introduce `eMeshBatchDirtyMode` enumJeroen Bakker
It used to be an `int mode`.
2020-10-06Fix T81459: Memory Leak Cycles Rendered ViewportJeroen Bakker
The external engine in the draw manager wasn't registered correctly. This did not free the resources after the external engine was used.
2020-10-01Volumes: support lower resolution in viewportJacques Lucke
The adds a new option to simplify volumes in the viewport. The setting can be found in the Simplify panel in the render properties. Volume objects use OpenVDB grids, which are sparse. For rendering, we have to convert sparse grids to dense grids (for now). Those require significantly more memory. Therefore, it's often a good idea to reduce the resolution of volumes in the viewport. Reviewers: brecht Differential Revision: https://developer.blender.org/D9040 Ref T73201.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-30Cleanup: use angle-brackets for email addressesCampbell Barton
This is already the most widely used convention. Use this so `make check_spelling_c` will ignore all email addresses.
2020-09-30Cleanup: sort struct declarationsCampbell Barton
2020-09-29Volumes: support selection and outlines in viewportJacques Lucke
Previously, one could only select a volume object in the outliner or by clicking on the object origin. This patch allows you to click on the actual volume. Furthermore, the generated (invisible) mesh that is used for selection is also used to draw an outline for the volume object now. Reviewers: brecht Differential Revision: https://developer.blender.org/D9022
2020-09-22MeshAnalysis: Optimize the detection of intersecting geometryGermano Cavalcante
For the self overlap result, each intersection pair does not need to be tested twice.
2020-09-22Fix T80943: return early when field to visualize is NULLJacques Lucke
2020-09-21Fix T80931: Proporional Editing Cursor Draws IncorrectJeroen Bakker
The incorrect view was setup so it was drawn in pixel space. This patch changes it to use UV space.
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-18Unify all XYZ symmetry options using Mesh SymmetryPablo Dobarro
This adds XYZ symmetry as a property of meshes and updates all modes to use the mesh symmetry by default to have a consistent tool behavior between all modes and when switching objects. Reviewed By: brecht, mano-wii, campbellbarton Maniphest Tasks: T79785 Differential Revision: https://developer.blender.org/D8587
2020-09-18Sculpt: Render Mask and Face Sets with modifiers activePablo Dobarro
This removes the limitation of the sculpt overlays not being visible with modifiers active. Reviewed By: fclem Maniphest Tasks: T68900 Differential Revision: https://developer.blender.org/D8673
2020-09-16Cleanup: use uint8_t for various flags in curvesJacques Lucke
Previously, it was kind of a mess. In different places it was using `char`, `short` and `int`. The changed properties are flags that are operated upon using bit operations. Therefore, the integer type should be unsigned. Since we only use 2 bits of these flags, `uint8_t` is large enough. Especially note the change I had to make in `RNA_define.h` to make this work. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8844
2020-09-16Fix T80107 Selection: Regression in Box selectionClément Foucault
The Draw State now needs to be in sync with what the selection code set. We query the state just before locking it.
2020-09-15Liquid Simulation Display Options (GSoC 2020)Sriharsha Kotcharlakot
All the changes made in the branch `soc-2020-fluid-tools` are included in this patch. **Major changes:** === Viewport Display === - //Raw voxel display// or //closest (nearest-neighbor)// interpolation for displaying the underlying voxel data of the simulation grids more clearly. - An option to display //gridlines// when the slicing method is //single//. ==== Grid Display ==== - Visualization for flags, pressure and level-set representation grids with a fixed color coding based on Manta GUI. ==== Vector Display ==== - //**M**arker **A**nd **C**ell// grid visualization options for vector grids like velocity or external forces. - Made vector display options available for external forces. ==== Coloring options for //gridlines// ==== - Range highlighting and cell filtering options for displaying the simulation grid data more precisely. - Color gridlines with flags. - Also, made slicing and interpolation options available for Volume Object. Reviewed By: JacquesLucke, sebbas Differential Revision: https://developer.blender.org/D8705
2020-09-15CleanUp: Fixed incorrect parameters to GPU_depth_testJeroen Bakker
2020-09-14GPU: Add debug groupsClément Foucault
Debug groups makes it easier to view from where an error comes from. The backend can also implement its own callback to make it easier to follow the API call structure in frame debuggers.
2020-09-14DRW: Fix wrong use of GPU_blendClément Foucault
Use the enum instead of a boolean. Exibit n°5512 where typecast warning would have find the error.
2020-09-14Cleanup: DRWManager: Remove deprecated pass_state functionsClément Foucault
And also enable pass names when using `--debug-gpu` option.
2020-09-14Fix T80603 Workbench: Inverted alpha when renderingClément Foucault
This was caused by a left over DRWPass->state modification that made the subsequent samples redraw without Blending enabled. This led to incorrect blending. The fix is to use the new API for pass instancing.
2020-09-12Fix remaining GL calls/type preventing from building due to recent cleanupClément Foucault
2020-09-12GPU: Fix wrong state before python callbacksClément Foucault
This was caused by a missing state apply. We force the GPUState to be set after the callbacks to avoid desync between our state tracker and the real gl state. This fixes some issues but a better general fix for all BGL would be better. This fix T80297 2.91 texture alpha is not transparent
2020-09-12GPU: Add Image Load Store extension supportClément Foucault
This wraps the functionality used to speedup EEVEE volumetrics. This touches the rendering code of EEVEE as it should fix a mis-usage of the GL barrier. The barrier changed type and location, removing an unused barrier.
2020-09-11GPUTexture: Return NULL texture if data grid is NULL tooSebastián Barschkis
In a recent update to the fluids modifier (rB03c2439d96e8), I introduced a flush call that sets all grids to NULL if the frame is outside of the allowed frame range. This way, the texture creation function must also check if the data grid is NULL before trying to create a texture. Reviewed By: fclem Differential Revision: https://developer.blender.org/D8872
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-09Fix T79038: Blender freezes on vertex paint on linked mesh dataJeroen Bakker
This change promotes the work-a-round to the current solution. There are options to solve this better, but needs more design.
2020-09-09Cleanup: Rename public "bUnit" functionsHans Goudey
This commit renames the functions in "BKE_unit.h` to be consistent with the naming in the rest of blenkernel. bUnit_AsString -> BKE_unit_value_as_string_adaptive bUnit_AsString2 -> BKE_unit_value_as_string bUnit_ReplaceString -> BKE_unit_replace_string bUnit_ApplyPreferredUnit -> BKE_unit_apply_preferred_unit bUnit_ToUnitAltName -> BKE_unit_name_to_alt bUnit_ClosestScalar -> BKE_unit_closest_scalar bUnit_BaseScalar -> BKE_unit_base_scalar bUnit_IsValid -> BKE_unit_is_valid bUnit_GetSystem -> BKE_unit_system_get bUnit_GetBaseUnit -> BKE_unit_base_get bUnit_GetBaseUnitOfType -> BKE_unit_base_of_type_get bUnit_GetName -> BKE_unit_name_get bUnit_GetNameDisplay -> BKE_unit_display_name_get bUnit_GetIdentifier -> BKE_unit_identifier_get bUnit_GetScaler -> BKE_unit_scalar_get bUnit_IsSuppressed -> BKE_unit_is_suppressed Differential Revision: https://developer.blender.org/D8828
2020-09-08Cleanup: DRW: Replace 0 by NULL in GPU_context_create callsClément Foucault
This was left from a previous refactor.
2020-09-08GPUImmediate: Make activation / deactivation implicitClément Foucault
This avoids unecessary complexity. Also makes the GPUImmediate threadsafe by using a threadlocal imm variable.
2020-09-08fix flushClément Foucault
2020-09-07GPU: Rename gpu_extensions to gpu_capabilitiesClément Foucault
This makes more sense as this module has more to it than just GL extensions.
2020-09-07GPUExtensions: GL backend isolationClément Foucault
This is part of the Vulkan task T68990. This commits changes a few things: - Rename extensions to capabilities (but left the file name untouched). - Cubemap mip render workaround detection is rewritten using gl commands to avoid using the GPU API before initialization. - Put all the capabilities that are only relevant for the GL backend inside GLContext as static variables. - Cleanup the names of the limit variables. - Separate all GL related workaround search inside the GL module.
2020-09-07Fix T78225: Vertex Colors not showing in edit modePablo Dobarro
This should be using the mesh_cd_ldata_get_from_mesh function in order to get ldata from BMesh in edit mode. Reviewed By: sergey Maniphest Tasks: T78225 Differential Revision: https://developer.blender.org/D8818
2020-09-07Cleanup: spellingCampbell Barton
Also correct wrapped lines of example code in threads.cc.
2020-09-06Cleanup: GPUVertBuf: Replace GPU_vertbuf_create by GPU_vertbuf_callocClément Foucault
This is a simple cleanup to make naming consistent with the rest of the module.
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-06GPUIndexBuf: GL backend IsolationClément Foucault
This is part of the Vulkan backend task T68990. There is no real change, only making some code re-organisation. This also make the IndexBuf completely abstract from outside the GPU module.
2020-09-05GPUTexture: Change texture creation APIClément Foucault
This is to modernize the API: - Add meaningful name to all textures (except DRW textures). - Remove unused err_out argument: only used for offscreen python. - Add mipmap count to creation functions for future changes. - Clarify the data usage in creation functions. This is a cleanup commit, there is no functional change. # Conflicts: # source/blender/gpu/GPU_texture.h
2020-09-05Cleanup: GPUTexture: Remove use of GPU_texture_create_nDClément Foucault
Use creation + update function instead.
2020-09-05GPUTexture: Implement back 3D texture resizeClément Foucault
But this time implement it outside the texture module. This makes more sense as only the volume textures need this feature.
2020-09-05GPUTexture: Remove bind to edit callsClément Foucault
This is going to be unecessary after the GPU opengl texture backend refactor. For now add a save/restore mechanism to leave the state untouched. Also remove some calls where the caller would bind to particular binding point and set the shader uniform.
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
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-09-01GPU: Move UBO binding validation to GL backendClément Foucault
This also make the validation quicker by tracking the currently bound slots.