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-06CodeCleanup: Added View3DShading enumsJeroen Bakker
Added the core enums that workbench draw engine uses.
2020-03-06CodeCleanup: Use eDrawTypeJeroen Bakker
This patch will make use of the eDrawType where it was used as a variable or parameter name. The eObjectDrawType was renamed to eDrawType as it is also used by `View3DShading.type`.
2020-03-06CodeCleanup: eevee_materials Use Struct AssignmentsJeroen Bakker
2020-03-06Cleanup: use 'BKE_' prefix for BKE_deform API callsCampbell Barton
- Use 'BKE_object_defgroup' prefix for object functions. - Rename 'defvert_verify_index' to 'defvert_ensure_index' since this adds the group if it isn't found.
2020-03-05Sculpt Face SetsPablo Dobarro
Face Sets are the new system to control the visibility state of the mesh in sculpt and paint modes. They are designed to work in modes where brushes are the primary way of interaction and they provide much more control when working with meshes with complex shapes and overlapping surfaces. This initial commit includes: - Sculpt Face Sets data structures and PBVH rendering. - Face Set overlay and opacity controls. - Sculpt Undo support. - Remesher reprojection support. The visibility state of the mesh is also preserved when remeshing. - Automasking and Mesh filter support. - Mask expand operator mode to expand Face Sets (Shift + W) and flood fill areas by connectivity (press Ctrl while expanding). - Sculpt Mode Face Sets and Visibility API. - Sculpt Face Sets creation and visibility management operators. - Operator to randomize the Face Sets colors. - Draw Face Sets brush tool to create and edit the Face Sets. Drawing on the mesh creates a new Face Set. Pressing Ctrl before drawing modifies the Face Set under the brush at the beginning of the stroke. - Updated keymap and menu to work with Face Sets from Sculpt Mode (H to toggle visibility, Alt + H to show all, Shit + H to hide). - Pie menu on the W key with Face common Sets operations. Know limitations: - Multires support. The Face Sets and Visibility API needs to be implemented for Multires. Reviewed By: jbakker, #user_interface, Severin Differential Revision: https://developer.blender.org/D6070
2020-03-05EEVEE: Render Passes BlendingJeroen Bakker
Changed the blending mode to full blending. I found the issue when during development of a material pass containing alpha values.
2020-03-05Fix T74431: EEVEE AO Render PassJeroen Bakker
Missing code-path in recent refactoring.
2020-03-05Cleanup: formatting, strip trailing spaceCampbell Barton
2020-03-03Revert "Fix T74110: EEVEE Shadow Pass"Jeroen Bakker
This reverts commit 403bb357ae2b1d2561a0d77c96035ba54c197cbd. The old implementation matches cycles closer. See T74378
2020-03-03Cleanup: formatting, spellingCampbell Barton
2020-03-03Fix bone envelopes displaying wrong when armature is scaledPhilipp Oeser
Object Scale was not taken into account. This lead to reports like T74247 where the user scaled the envelope distance and radii to the supposedly right values inthe viewport, but these were actually 'wrong' under the hood. Assigning weights from bone envelopes seemed like it would fail, but this code would actually take the armature scaling into account when checking envelope distance and weight. ref T74247 Maniphest Tasks: T74247 Differential Revision: https://developer.blender.org/D6964
2020-03-02Fix crash when compiling renderpass shader on some AMD driversGermano Cavalcante
Differential Revision: https://developer.blender.org/D6959
2020-03-02Fix T74362: Material Preview AssertJeroen Bakker
When using Material Previews not all uniform blocks were filled. This patch will add the renderpass_block when drawing the background. Note that I wasn't able to reproduce the issue on my system, but according the the backtrace it most likely solves the issue. I let the reporter test.
2020-02-28Code Cleanup: UNDEF not existing defineJeroen Bakker
2020-02-27Fix T70381: Motion Paths off by oneSybren A. Stüvel
The apparent off-by-one error was caused by a few factors: - The 'blend base' colour was green for the two frames directly surrounding the current frame, but black for the current frame itself. - For the frames before the current one, the 'blend base' was mixed with black, making the green stand out clearly, but fading to black again for the current frame. This looks like an off-by-one, even though it was just bad mixing. - For the frames after the current one, the 'blend base' was mixed with cyan, which already has a strong green component, so mixing it there was much less visible, making the entire thing look like an off-by-one error where it actually wasn't. I have simplified the code, so now it only chooses green as the 'blend base' for the current frame, and simplified the mixing for the current frame.
2020-02-27EEVEE: Shadow Render PassJeroen Bakker
Revert the change that renders the background black.
2020-02-27Fix T74063: EEVEE Render PassesJeroen Bakker
Cycles recently fixed this issue, EEVEE needed to be adapted to output similar results in the light passes. This patch implements cycles `safe_divide_even_color` function to a GLSL function that will be used when extracting the light passes. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6948
2020-02-27Fix T74110: EEVEE Shadow PassJeroen Bakker
Shadow could penetrate occluded geometry. This patch adds a check to see if the light is in the right location to light the pixel. Reviewed By: fclem Differential Revision: https://developer.blender.org/D6918
2020-02-27Cleanup: split off hair cache function for reusabilityBrecht Van Lommel
For when we support sources of hair other than particle systems.
2020-02-27Fix T74229: EEVEE Bloom + TransparencyJeroen Bakker
Bug was introduced by the render passes. We had to tweak the bloom shader a bit so we could reuse it. After that tweaking the original alpha was ignored. This patch will read and store the correct alpha channel.
2020-02-27Fix T74254: EEVEE Render Passes AvailabilityJeroen Bakker
When disabling AO or BLOOM in the render tab, when the pass is shown in a 3d viewport the pass wasn't reset. This resulted in showing a black texture and a not filled UI render pass in the shading popover. This patch will by default reset to the combined pass. It is intended that the render_pass in the 3d shading struct isn't set to combined as people could have disabled AO/bloom by mistake and it could reset viewports that aren't visible.
2020-02-26EEVEE: Fix crash on certain drivers caused by redefined constantClément Foucault
2020-02-26Cleanup: don't set renderpass_block twice for volumesBrecht Van Lommel
2020-02-25Cleanup: removed runtime errorJeroen Bakker
The render passes checked all bits of an integer, that can lead to runtime errors. Added the max bit in the DNA and used this.
2020-02-25EEVEE: First Buffer Drawn IncorrectlyJeroen Bakker
SSS buffers are lazy initialized when needed. When shaders recompile the SSS buffers could be incorrectly drawn. During the render passes project we tried to fix this, but that resulted in incorrect result of the first sample after a shader was compiled. We revert this change knowing that we know the issue, but haven't found a proper solution for it.
2020-02-25EEVEE: Lookdev: Fix lookdev spheres positioning in viewport renderClément Foucault
2020-02-25EEVEE: Lookdev: Fix cubemap resolution change not refreshing lightcacheClément Foucault
2020-02-25EEVEE: Lookdev: Add support for partially blurred backgroundClément Foucault
This is using the GGX probe as background. This has the drawback of having the resolution choosed in the indirect lighting setting. The blurring is not really high-quality. The pros is that it has a simple implementation and is fast to evaluate. This patch also fades the background alpha to make overlay engine draw the default background color in the correct color space. Removing one colorspace hack. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6895
2020-02-25Cleanup: EEVEE: Use log2_floor_uClément Foucault
2020-02-25EEVEE: Fix seams in reflection cubemap on low roughnessClément Foucault
This was caused by the texture size not being power of 2. Thus the padding applied to the base LOD did not match the highest mipmaps.
2020-02-24Cleanup: Workbench: Remove checkerboard depthClément Foucault
This is not needed anymore with the new overlay xray fading.
2020-02-24Overlay: Remove Xray dithering noiseClément Foucault
We now use a better smoother technique that uses correct alpha blending. This is possible now that we render overlays in a separate buffer.
2020-02-24Overlay: Edit Mode: Fix wireframes being brighter because of linear blendClément Foucault
2020-02-23Overlay: Fix wireframes being brighter because of color managementClément Foucault
Also change the blending factors to make wireframe a bit darker in unselected cases.
2020-02-22EEVEE: Fix memleak when G.is_break is set from another threadClément Foucault
2020-02-22Cleanup: EEVEE: Use interpf instead of custom lerpClément Foucault
2020-02-21EEVEE: Render PassesJeroen Bakker
This patch adds new render passes to EEVEE. These passes include: * Emission * Diffuse Light * Diffuse Color * Glossy Light * Glossy Color * Environment * Volume Scattering * Volume Transmission * Bloom * Shadow With these passes it will be possible to use EEVEE effectively for compositing. During development we kept a close eye on how to get similar results compared to cycles render passes there are some differences that are related to how EEVEE works. For EEVEE we combined the passes to `Diffuse` and `Specular`. There are no transmittance or sss passes anymore. Cycles will be changed accordingly. Cycles volume transmittance is added to multiple surface col passes. For EEVEE we left the volume transmittance as a separate pass. Known Limitations * All materials that use alpha blending will not be rendered in the render passes. Other transparency modes are supported. * More GPU memory is required to store the render passes. When rendering a HD image with all render passes enabled at max extra 570MB GPU memory is required. Implementation Details An overview of render passes have been described in https://wiki.blender.org/wiki/Source/Render/EEVEE/RenderPasses Future Developments * In this implementation the materials are re-rendered for Diffuse/Glossy and Emission passes. We could use multi target rendering to improve the render speed. * Other passes can be added later * Don't render material based passes when only requesting AO or Shadow. * Add more passes to the system. These could include Cryptomatte, AOV's, Vector, ObjectID, MaterialID, UV. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D6331
2020-02-20Cleanup: declatatuons for functions that don't existCampbell Barton
2020-02-20Fix T65640: Axis of Custom Shape Bones are drawn in a wrong position.Germano Cavalcante
The problem is that Custom Shape Bones can also have a custom size. So the pchan->disp_mat doesn't always consider the actual length of the bone. The proposed solution is to calculate the axes matrix at the drawing pass. Ref T65640 Reviewed By: fclem Differential Revision: http://developer.blender.org/D5049
2020-02-19Theme: Radial gradient background and enum for gradient typePablo Dobarro
This commit replaces the "Use Gradient" checkbox theme option with an enum and implements a radial background. Whith this change, it should be easier to implemet other types of more complex background types, like a world space oriented gradient. Reviewed By: billreynish, fclem, brecht Differential Revision: https://developer.blender.org/D6825
2020-02-18EEVEE: Fix default material disappearing when SSRefraction is enabledClément Foucault
2020-02-18Code cleanup EEVEE Render PassesJeroen Bakker
The render passes didn't follow the DrawManager way of doing things. It added new geometry and shading groups during drawing. This would make it harder to migrate to Vulkan later on. This change will re-implement this part by using uniform references. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D6875
2020-02-18Fix T73914 Overlay: Unable to select bone in pose modeClément Foucault
It was caused by the bone selection overlay that was delaying the xray pass. But OVERLAY_pose_draw were never called when doing selection.
2020-02-17Fix T73748 Overlay: Infront disappearing/glitched while in Xray modeClément Foucault
2020-02-17Overlays: Fixed blending issue when not using smooth wireClément Foucault
2020-02-17Fix T73876 Overlay: Armature: Pose bones display randomlyClément Foucault
Caused by unitialized value.
2020-02-17Fix T73518: Normal OverlayJeroen Bakker
This change will not render the normals for faces that are hidden. Before we had instance drawing the hidden faces were registered in the index buffer. During the overlay refactoring the rendering was migrated to instance rendering. Instance rendering does not use the index buffer so the data was ignored. This patch stored the normal visibility in the .w part of the normal or for face normals it will set the normal to zero. The shader looks at this and renders the normals fully transparent when detected. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D6798
2020-02-15Cleanup: remove various unused definesCampbell Barton
2020-02-15Cleanup: use define for golden ratioCampbell Barton
Move from workbench_private.h where it wasn't used.
2020-02-15Cleanup: use UI_GetThemeColor3ubv when alpha is ignoredCampbell Barton