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-09-03Fix T66950: WeightPaint Bone Selection OverlayJeroen Bakker
In weightpaint it is possible to enable the bone selection mode. During drawing the overlay was rendered, but during selection this was ignored. Users needed to double click in order to select bones even when the overlay was enabled. This patch makes bone selection possible during weight painting using the pose mode bone selection overlay with a single click. Reviewed By: fclem, campbellbarton Differential Revision: https://developer.blender.org/D5629
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: spellingCampbell Barton
2019-08-17Cleanup: correct commentsCampbell Barton
2019-08-17DRW: Fix couple of issues in DRW_draw_select_idClément Foucault
Theses 2 function calls are mandatory.
2019-08-16Cleanup: remove gawain referenceCampbell Barton
2019-08-15WM: reuse visible region calculationCampbell Barton
Avoids calculating the visible part of a region whenever on-screen overlays are drawn.
2019-08-15Edit Mesh Selection: Refactor: Redraw idmap buffer at runtime with only ↵mano-wii
objects inside the rect But in the future the selection code may also be used in object mode (eg for snapping). So to avoid using too much VRAM resources, it is good to avoid drawing all objects in the viewport. The solution was to create an array with only objects that are detected within the selection area. If the selection operator is modal, objects already detected are not removed from the array until view3d is moved or orbited. To detect the object, its BoundBox is tested. Since the Select Engine does not have a dedicated depth texture, whenever a new object is "found" the depth of the objects in the array already drawn is redrawn. Reviewers: campbellbarton, fclem Reviewed By: fclem Differential Revision: https://developer.blender.org/D5435
2019-08-07Edit Mesh Selection: Move ED_view3d_select_ functions to bf_drawmano-wii
It is easier to deal with private values of the DRW_select engine and gives room for improvement. Reviewers: campbellbarton, fclem Differential Revision: https://developer.blender.org/D5415
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-08-01Cleanup: remove unused membermano-wii
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-07-30Fix crash clicking in the 3D view on startupCampbell Barton
Setting the 3D view cursor on startup could crash because the viewport hasn't been assigned to the region.
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-07-10Fix T65850 Sculpt: Vertices not hidden if using shape keysClément Foucault
2019-07-10DrawManager: Crash Face SelectionJeroen Bakker
Init the scene of the draw context when selecting. When using face dot selection on when the subsurf modifier is active on the cage, the scene needs to be valid. It is read from the context in the `DRW_mesh_batch_cache_create_requested` and used in the `isDisabled` method of the SubSurfModifier. Reviewers: fclem, sergey Differential Revision: https://developer.blender.org/D5214
2019-07-06Fix T62101: GPencil: selection order is wrongAntonioya
Following the advices of @Germano Cavalcante (mano-wii) , I have exposed as a workaround the free function to be called from draw manager for selection. Now, the free function is not called for selection inside gpencil draw_scene, but it's called from draw_manager.c. The real fix would be create a new Scene_finish callback in draw manager, but as the release of 2.80 is almost here, we fix this with a workaround that must be removed when new callback is in place. Differential Revision: http://developer.blender.org/D5193
2019-07-04Cleanup: Suppress warningJeroen Bakker
Introduced by previous commit
2019-07-04GreasePencil: Image render artifactsJeroen Bakker
When doing image rendering with grease pencil, it reused the view of workbench or EEVEE. These views might be offsetted due to TAA. This shifted the view a tiny bit. We will not reset the view in between render engines. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5171
2019-07-01DRW: Fix Crash in DRW_draw_depth_object when object batch cache is not initClément Foucault
This can happen if the viewport is not redrawn before calling an operator (frequent in python scripting). Related to T64805
2019-06-26DrawManager: Sanatize default_view resetJeroen Bakker
Grease Pencil already reset the default view so the draw_manager wouldn't assert. During multi view rendering the same assert still happened. This patch will reset the default view when starting to render a new view. Reviewers: fclem Differential Revision: https://developer.blender.org/D5137
2019-06-21Fix T62876: Camera Background ImagesJeroen Bakker
Migrate old legacy code to the draw mamager/object mode. The old legacy version did not work with wireframe. By migrating the code to modern draw manager code we have mode control on the drawing process. Still background images do not work with OIT, the cause seems to be that the transparent pixels are treated as background pixels. Also There are some artifacts when working with Holdouts and DoF, this is because the draw engines do not pass the correct alpha values. Reviewers: fclem, brecht Differential Revision: https://developer.blender.org/D4638
2019-06-19Fix T65914: Workbench Transparency FilmJeroen Bakker
When performing F12 render on a transparent film all solid objects where a bit transparent. Single Pass AA and no AA passes were not visible at all. Issue was that the first frame was not handled correctly making these artifacts. This commit changes the order of `GPU_state_init` and `DRW_state_reset` so the state is correct during the first pass.
2019-06-18Fix T65689 Geometry overlaps axis selectorClément Foucault
It seems that in 2.79 callbacks were drawn with depth test off by default.
2019-06-18Fix T65805 Assert "Too many draw engines enabled at the same time"Clément Foucault
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-07DrawManager: OpenGL State Image RenderingJeroen Bakker
The OpenGL state was not set to blender defaults when using `DRW_render_to_image` path. This is only used when doing F12-rendering. Cause of changes with the `RESTART_INDEX` hair rendering was rendering the restart_index as an actual vertex index. Reviewed By: fclem Differential Revision: https://developer.blender.org/D5039
2019-06-02GPU: support default framebuffer with ID not equal to 0Tomoaki Kawada
2019-05-31Fix sculpt mode drawing with modifiers still being wrong in some casesBrecht Van Lommel
Centralize logic for when to use the PBVH for drawing, fix missing tests in mask drawing, fix missing tests for multiple windows, only do more expensive update for all viewports at end of the stroke.
2019-05-31DrawManager: Color ManagementJeroen Bakker
The draw manager used to determine if the view transform should be applied by checking if the scene was not rendered to an offscreen image. As the sequencer and texture painting needs to render to an offscreen image with the view transform applied we need to separate the `do_color_management` from the `is_image_render`. Reviewed By: fclem Maniphest Tasks: T64849 Differential Revision: https://developer.blender.org/D4909
2019-05-31DrawManager: Sculpt Mesh DrawingJeroen Bakker
More accurate determination when to draw the PBVH and when to draw the regular mesh. PBVH drawing is done for Multires, Dyntopo and normal sculpting with no active modifiers. Maniphest Tasks: T62070 Differential Revision: https://developer.blender.org/D4731
2019-05-31Fix T65319 Crash when selecting vertices in edit modeClément Foucault
2019-05-30DRW: Add unit_state to avoid lots of DRWCallState duplicationClément Foucault
A lot of drawcalls don't use the object's properties and don't need a dedicated DRWCallState. We allocate a unique one at the begining and use it for all calls that uses the default unit matrix.
2019-05-29DrawManager: Cycles+GPencilJeroen Bakker
Fix for GPencil and Cycles Render draw type. GPencil objects were only shown when overlays were turned on. The cause of this is an optimization we did to not populate any draw engine when an external renderer was used with overlays turned off. This will check if there is any visible GPencil object in the scene. if so it will still perform the loop. `DEG_id_type_any_exists` can check if any object of a certain type_id is in the result. This check is also being used to check if there are any visible grease pencil objects as a precheck in `DRW_render_check_grease_pencil`. Reviewed By: brecht, fclem, antoniov Maniphest Tasks: T65191 Differential Revision: https://developer.blender.org/D4962
2019-05-29Possible fix for T63685: macOS edit mode selection not working on second displaymano-wii
The idea is to force `glReadPixel` to run in the offscreen context. And don't rely on any rendering context.
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-27Cleanup: DRW: Move WorldClipPlanes to builtin uniformClément Foucault
2019-05-24Viewport: don't show transparent checkboard in lookdev shading modeBrecht Van Lommel
Keep it for render shading mode only.
2019-05-23Gpencil: Fix assert when rendering with EeveeClément Foucault
2019-05-22DRW/Eevee: Fix camera texture coordinates in rendersClément Foucault
This patch fix the issue introduced by recent refactor and fixes computation when using overscans.
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
2019-05-22DRW: Do not update the view ubo for each passClément Foucault
Only update if the view changes.
2019-05-22DRW: DRWView: Finish refactorClément Foucault
2019-05-22BLI_memblock: Refactor for faster iteration and allocationClément Foucault
Remove the clear allocation flag as it has little impact since there should be very few allocation per redraw. Make BLI_memblock_alloc and BLI_memblock_iterstep much more cache efficient removing them almost entirely from performance profiles.
2019-05-22DRW: Add DRWView to improve different view handlingClément Foucault
This will have multiple benefit. TODO detail benefits (culling, more explicit, handling of clipping planes) For now the view usage is wrapped to make changes needed more progressive.
2019-05-22Cleanup: DRW: Refactor code for better readability and simplificationClément Foucault
- Remove DST.frontface and DST.backface. - Separate uniform update into its own function draw_update_uniforms.
2019-05-20GPU: Use uint in GPU_batch_uniform_1ui.mano-wii
2019-05-20Edit Mesh Select: Fix OpenGL status to use `GPU_point_size`.mano-wii
The problem has worsened in rB94db2c1f3243. Maybe this has contributed to T64779.