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-28Fix T74969: Crash in gpencil edit modemano-wii
Result of poor shader pre-processing on Intel HD 4000 drivers
2020-03-27Overlay: Outline: Fix unreported feedback loop when smooth wire is disabledClément Foucault
2020-03-27GPencil: More cleanups missing in previous commitAntonio Vazquez
2020-03-27GPencil: Cleanup of unused code a argumentsAntonio Vazquez
2020-03-27Fix T69060: File Output Node does not work with Time RemappingPhilipp Oeser
Problem is that the RenderEngines will change the RenderData cfra when rendering (when time remapping is used -- at least workbench/eevee/ gpencil do a combination of BKE_scene_frame_get() plus RE_GetCameraWindow() which alters the RenderData cfra). Later on in the pipeline, the Compositor will use this RenderData cfra to determine the output file name for the FileOutput node. (In contrast to this, the 'regular' Output will use the Scene's RenderData -- not the Render's -- cfra [which hasnt been altered]) It is not entirely clear why RE_GetCameraWindow was setting the cfra on the Render, but it appears to be legacy OGL rendering related and is not needed anymore. Removing this will keep the cfra as needed for the Compositor FileOutput node.
2020-03-27Cleanup: add iterator macros to clang-formatCampbell Barton
Also rename START to BEGIN (matching BEGIN/END for most iterator macros).
2020-03-26Overlay: Fix crash caused by NULL passesClément Foucault
2020-03-26Fix T75087 Workbench: DoF: Divide By Zero when antialiasing is disabledClément Foucault
2020-03-26Overlay: Wireframe: New method to avoid zfighting with geometryClément Foucault
This new method is only enabled if Overlay Smooth Wire is enabled. This method gives really nice results but has some downside: - Require a depth copy or loose the ability to write wire depth to the depth buffer and have correct depth ordering of wires. This patch use the former, with its associated cost. - Require some depth sampling and prevent early depth test (i.e: has some performance impact). - Has some relatively minor instability with geometry that are perpendicular to the view and intersecting with other geometry. Pros: - Compared to a fullpass approach this is surely going to have less performance impact and much higher quality. - Removes the additional vertex offset. (see T74961) - Fixes all half edges z-fighting. {F8428014} {F8428015} Reviewed By: brecht Differential Revision: https://developer.blender.org/D7233
2020-03-26Fix T74692: Do not draw nodes with the default face setPablo Dobarro
The default face set color is white, so we can skip drawing the default face set. This allows to enable again the optimization of not drawing overlays in nodes where the mask is empty. This will still slow down the viewport when a new face set is created for the whole mesh or when inverting the mask, like in previous versions. I also renamed the function to make more clear that now it is checking for both mask and face sets. Reviewed By: brecht Maniphest Tasks: T74692 Differential Revision: https://developer.blender.org/D7207
2020-03-26Fix Crash In Paint OverlayJeroen Bakker
The previous implementation tested the normal behavior and ignored some edge cases. This patch will also test for NULL in all cases
2020-03-26Fix T70807: Weight Paint Overlay XRayJeroen Bakker
Weight paint overlay was not working when XRay was turned on. The Weight Paint overlay is rendered directly into the default framebuffer with a depth equal test. This test fails as the depth won't match. This patch will update the depth buffer in these cases. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7176
2020-03-26GPencil: Fix unreported fade object when no Gpencil object is selectedAntonio Vazquez
Only must fade if the active object is a GPencil.
2020-03-26Fix T75062: Frame Flashes During 3D Viewport Animation PlaybackJeroen Bakker
This issue became visible after fixing other TAA issues recently. The sample count of the first frame wasn't reset resulting that the incorrect resolve took place. This issue was already there beforehand, it is just much clearer during the recent changes. Now the `taa_sample will be reset when performing an animation playback in the 3d viewport.
2020-03-26Fix T75090: crash with old NVIDIA drivers after overlay refactorBrecht Van Lommel
Work around GLSL compiler bug with backslash in preprocessor macros.
2020-03-25Cleanup: typo in printPhilipp Oeser
2020-03-25Alpha hash support for hair in EEveeJoe Eagar
This patch adds support for alpha hash for hair rendering in EEvee. Here's a comparison of with alpha hashing: {F7588610} And no alpha hashing: {F7588615} Note that this needs "soft shadows" enabled, otherwise shadows will be noisy; here's a render with soft shadows disabled: {F7588621} Reviewed By: fclem Differential Revision: https://developer.blender.org/D5221
2020-03-24Overlay: Wireframe: Make facing ratio offset depends on gl_Position.wClément Foucault
This makes the offset dependent of the actual near and far clip distances.
2020-03-24Fix T74782: WorkBench TAA Artifacts During Painting/DrawingJeroen Bakker
When the TAA is finished the screen can still be redrawn by other operations without the TAA resets. If that happened the TAA did add a blank sample to the result as the scene wasn't drawn, but the was processed. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7226
2020-03-24Revert "Fix T74782: WorkBench TAA Artifacts During Painting/Drawing"Jeroen Bakker
This reverts commit 58ac113b76d950c72c7319094f7e6cc61c70dc59.
2020-03-24Fix T74744: Studio Lights editor not updating in realtime when tweakingPhilipp Oeser
the settings Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging), reactivates the NS_VIEW3D_GPU notifier (introduced in rB2ad3d8f158d2 -- but not going anywhere atm.) to check changes to rv3d rflag which indicated UserStudioLight has changed. To not have updates all the time, the rflag also needs to be cleared again (see original rB2ad3d8f158d2). Maniphest Tasks: T74744 Differential Revision: https://developer.blender.org/D7194
2020-03-24Fix T74872: Clipping Region not updatingPhilipp Oeser
Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging), needs to also check the clip_state (to detect changes in DRW_STATE_CLIP_PLANES). Maniphest Tasks: T74872 Differential Revision: https://developer.blender.org/D7193
2020-03-24Fix T74957: Matcap flip not updatingPhilipp Oeser
Caused by rBc476c36e4008. This hooks into the existing FIXME (workaround for a missing update tagging from operators), needs to also check the shading.flag (to detect changes in V3D_SHADING_MATCAP_FLIP_X). Differential Revision: https://developer.blender.org/D7192
2020-03-24Fix T74096: Paint Masking overlay can`t be hiddenPhilipp Oeser
Caused by rB9516921c05bd. Dont really see a reason to draw overlays here if overlays are disabled. Looks like this only affects Face/Vertex mask selection drawing [which should indeed be hidden when overlays are disabled] next to two exceptions: - OVERLAY_paint_vertex_cache_populate draws weights as well [D7176 / T70807 might be related here, but to me it looks like drawing weights here is actually not needed at all] - OVERLAY_paint_texture_cache_populate calls DRW_cache_mesh_surface_texpaint_get [not sure about this one, this is also called from workbench_cache_texpaint_populate, looks like this is not needed when overlays are hidden] Maniphest Tasks: T74096 Differential Revision: https://developer.blender.org/D7179
2020-03-23Revert "COW: Edit Mesh: Do not copy the looptris pointer"Germano Cavalcante
The looptri is repeated in the linked Meshes but the pointer is only referenced in the evaluated ones. This reverts commit 64982e213f014123d1b0406cf9ae893910a6a3d3.
2020-03-23Fix T74782: WorkBench TAA Artifacts During Painting/DrawingJeroen Bakker
When the TAA is finished the screen can still be redrawn by other operations without the TAA needs to be reset. If that happened the TAA did add a blank sample to the result. This patch will add an early exit in the case TAA was finished. Note that there are still some cases still not working. The overlay engine can in certain circumstances draw directly into the default_fb what can lead to render artifacts.
2020-03-23UI: Theme options for checkerboard pattern colors and sizeMichael Soluyanov
This patch adds ability to set up colors and size of background (transparency) checkerboard pattern in viewport and 2d editors. No new backgrounds, only changing colors in existing ones. This is not the background of the viewport, it is a transparency checkerboard that is turned on only in render mode, when the transparency mode is on. And also in 2D-editors, (image, sequencer, etc). Reviewed By: Pablo Vazquez, Julian Eisel Differential Revision: https://developer.blender.org/D6791
2020-03-23Fix T74923: Weight Painting Overlay Invisible for In Front ObjectsJeroen Bakker
For In Front Objects we need to use the in front depth buffer. This patch will use the in front depth buffer and also makes sure that it is filled with the center pixel depth. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7216
2020-03-23COW: Edit Mesh: Do not copy the looptris pointerGermano Cavalcante
No functional changes. Differential Revision: https://developer.blender.org/D7173
2020-03-22Cleanup: use static declarationCampbell Barton
2020-03-21GPencil: Fade to Viewport colorAntonio Vazquez
Actually, the fade objects always fade to Black color, but this is not a good solution. This patch fade the object to the viewport color. Differential Revision: https://developer.blender.org/D7206
2020-03-21Fix crash with empty volume object and points drawingBrecht Van Lommel
2020-03-20Python API: add bl_use_stereo_viewport for RenderEngineBrecht Van Lommel
To indicate if the render engine supports rendering a stereo 3D viewport. This is not currently supported for Cycles. Fixes T62582
2020-03-20Fix T74811: GreasePencil Stereo RenderingJeroen Bakker
When using grease pencil in a stereo rendering the grease pencil objects are only visible in the left eye. In the viewport it renders both. Issue is related that `DRW_render_gpencil` only renders a single view. But `DRW_render_to_image` renders all views. This patch puts this in a loop to render both eyes. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7154
2020-03-20Fix T74643: Outline Overlay Shows Hidden FacesJeroen Bakker
When in editmode faces can be hidden, but in object mode these faces are still visible. The flag if a face was hidden in edit mode is stored in object mode, but should not be used. The edge detection gpu batch did detect hidden faces and didn't add them to the draw batch. The edge detection gpu batch is used for workbench shadows, custom bone shapes and object outlines. This patch adds all faces to the edge detection batch. Reviewed By: fclem Differential Revision: https://developer.blender.org/D7157
2020-03-20Cleanup: sort file, struct listsCampbell Barton
2020-03-19Cleanup: fix typos in commentsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D7133
2020-03-19GPencil: Cleanup - Split BKE_gpencil.h geometry functions into ↵Antonio Vazquez
BKE_gpencil_geom.h This split prepare the code for future geometry functions.
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
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-03-19Cleanup: spellingCampbell Barton
2020-03-18Cleanup: spellingCampbell Barton
2020-03-18Volumes: add render settings for volume datablockBrecht Van Lommel
* Space: volume density and step size in object or world space * Step Size: override automatic step size * Clipping: values below this are ignored for tighter volume bounds The last two are Cycles only currently. Ref T73201
2020-03-18Objects: Eevee and workbench rendering of new Volume, Hair, PointCloudBrecht Van Lommel
Only the volume drawing part is really finished and exposed to the user. Hair plugs into the existing hair rendering code and is fairly straightforward. The pointcloud drawing is a hack using overlays rather than Eevee and workbench. The most tricky part for volume rendering is the case where each volume grid has a different transform, which requires an additional matrix in the shader and non-trivial logic in Eevee volume drawing. In the common case were all the transforms match we don't use the additional per-grid matrix in the shader. Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6955
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-18GPencil: Cleanup int comparisonsAntonio Vazquez
2020-03-18Weight Paint: Implement a new Lock-Relative mode.Alexander Gavrilov
This check box alters how weights are displayed and painted, similar to Multi Paint, but in a different way. Specifically, weights are presented as if all locked vertex groups were deleted, and the remaining deform groups normalized. The new feature is intended for use when balancing weights within a group of bones while all others are locked. Enabling the option presents weight as if the locked bones didn't exist, and their weight was proportionally redistributed to the editable bones. Conversely, the Multi-Paint feature allows balancing a group of bones as a whole against all unselected bones, while ignoring weight distribution within the selected group. This mode also allows temporarily viewing non-normalized weights as if they were normalized, without actually changing the values. Differential Revision: https://developer.blender.org/D3837
2020-03-17VR: Initial Virtual Reality support - Milestone 1, Scene InspectionJulian Eisel
NOTE: While most of the milestone 1 goals are there, a few smaller features and improvements are still to be done. Big picture of this milestone: Initial, OpenXR-based virtual reality support for users and foundation for advanced use cases. Maniphest Task: https://developer.blender.org/T71347 The tasks contains more information about this milestone. To be clear: This is not a feature rich VR implementation, it's focused on the initial scene inspection use case. We intentionally focused on that, further features like controller support are part of the next milestone. - How to use? Instructions on how to use this are here: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/How_to_Test These will be updated and moved to a more official place (likely the manual) soon. Currently Windows Mixed Reality and Oculus devices are usable. Valve/HTC headsets don't support the OpenXR standard yet and hence, do not work with this implementation. --------------- This is the C-side implementation of the features added for initial VR support as per milestone 1. A "VR Scene Inspection" Add-on will be committed separately, to expose the VR functionality in the UI. It also adds some further features for milestone 1, namely a landmarking system (stored view locations in the VR space) Main additions/features: * Support for rendering viewports to an HMD, with good performance. * Option to sync the VR view perspective with a fully interactive, regular 3D View (VR-Mirror). * Option to disable positional tracking. Keeps the current position (calculated based on the VR eye center pose) when enabled while a VR session is running. * Some regular viewport settings for the VR view * RNA/Python-API to query and set VR session state information. * WM-XR: Layer tying Ghost-XR to the Blender specific APIs/data * wmSurface API: drawable, non-window container (manages Ghost-OpenGL and GPU context) * DNA/RNA for management of VR session settings * `--debug-xr` and `--debug-xr-time` commandline options * Utility batch & config file for using the Oculus runtime on Windows. * Most VR data is runtime only. The exception is user settings which are saved to files (`XrSessionSettings`). * VR support can be disabled through the `WITH_XR_OPENXR` compiler flag. For architecture and code documentation, see https://wiki.blender.org/wiki/Source/Interface/XR. --------------- A few thank you's: * A huge shoutout to Ray Molenkamp for his help during the project - it would have not been that successful without him! * Sebastian Koenig and Simeon Conzendorf for testing and feedback! * The reviewers, especially Brecht Van Lommel! * Dalai Felinto for pushing and managing me to get this done ;) * The OpenXR working group for providing an open standard. I think we're the first bigger application to adopt OpenXR. Congratulations to them and ourselves :) This project started as a Google Summer of Code 2019 project - "Core Support of Virtual Reality Headsets through OpenXR" (see https://wiki.blender.org/wiki/User:Severin/GSoC-2019/). Some further information, including ideas for further improvements can be found in the final GSoC report: https://wiki.blender.org/wiki/User:Severin/GSoC-2019/Final_Report Differential Revisions: D6193, D7098 Reviewed by: Brecht Van Lommel, Jeroen Bakker
2020-03-17Fix T74322: Wrong object bundles with scaled cameraSergey Sharybin
Camera scale was not handled correctly when drawing 3d bundles for reconstructed objects (caused by normalization of the matrix).
2020-03-17OverlayEngine: crash when using hidden facesJeroen Bakker
Unreported Crash. When hidden faces are active (retopology) the depth test could fail as the default framebuffers aren't set. This patch will check if we are rendering a depth only and skip the clearing of the buffer.