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
2021-06-03Overlay: Flash on Mode Transfer overlayPablo Dobarro
This implements T87633 This overlay renders a flash animation on the target object when transfering the mode to it using the mode transfer operator. This provides visual feedback when switching between objects without extra overlays that affect the general color and lighting in the scene. Differences with the design task: - This uses just a fade out animation instead of a fade in/out animation. The code is ready for fade in/out, but as the rest of the overlays (face sets, masks...) change instantly without animation, having a fade in/out effect gives the impression that the object flashes twice (once for the face sets, twice for the peak alpha of the flash animation). - The rendering uses a flat color without fresnel for now, but this can be improved in the future to make it look more like the shader in the prototype. - Not enabled by default (can be enabled in the overlays panel), maybe the defaults can change for 3.0 to disable fade inactive and enable this instead. Reviewed By: jbakker, JulienKaspar Differential Revision: https://developer.blender.org/D11055
2021-06-03Cleanup: use ascii characters instead of unicode where possibleCampbell Barton
Follow own code style docs.
2021-06-02EEVEE: AOVs not same as cycles.Jeroen Bakker
EEVEE uses hashing to sync aov names and types with the gpu. For the type a hashed value was overridden making `decalA` and `decalB` choose the same hash. This patches fixes this by removing the most significant bit.
2021-06-02Revert "EEVEE: AOVs not same as cycles."Jeroen Bakker
This reverts commit 730a46e87d261543c9550ddef406894e14d5bea6.
2021-06-02EEVEE: AOVs not same as cycles.Jeroen Bakker
EEVEE uses hashing to sync aov names and types with the gpu. For the type a hashed value was overridden making `decalA` and `decalB` choose the same hash. This patches fixes this by removing the most significant bit.
2021-06-02Cleanup: spelling in commentsCampbell Barton
2021-05-28Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-28EEVEE: Fix NaN caused by ensure_valid_reflection()Clément Foucault
This was caused by unsafe sqrt calls. Fixes T86578 white artifacts in EEVEE Reviewed By: brecht, dfelinto Differential Revision: https://developer.blender.org/D11428
2021-05-28GPencil: Fix unreported random rotation for single point with textureAntonio Vazquez
When using ``Path`` alignment, if the stroke has one point the texture rotates randomly when move the viewport. This was because with one point is impossible to calculate a path. Now, if the stroke has only one point, the texture for this stroke is aligned to Object.
2021-05-27Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-27Revert "EEVEE: Ensure Reflection: Use new implementation"Clément Foucault
Both before and after can have artifacts with some normal maps, but this seems to give worse artifacts on average which are not worth the minor performance increase. This reverts commit 5c4d24e1fd752a8a89d44d05e8e3f9b31f2d7db0. Ref T88368, D10084
2021-05-27Fix incorrect BLI_snprintf usageCampbell Barton
Event though in practice this wasn't causing problems as the fixed size buffers are generally large enough not to truncate text. Using the result from `snprint` or `BLI_snprintf` to step over a fixed size buffer allows for buffer overruns as the returned value is the size needed to copy the entire string, not the number of bytes copied. Building strings using this convention with multiple calls: ofs += BLI_snprintf(str + ofs, str_len_max - ofs); .. caused the size argument to become negative, wrapping it to a large value when cast to the unsigned argument.
2021-05-26GPencil: Add option to disable masks in view layerFalk David
This patch adds an option in the Layers > Relations panel called "Disable Masks in Render". When checked, no masks on this layer are included in the render. Example: | {F10087680} | {F10087681} | See T88202 for why this is needed. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11234
2021-05-25Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.Jeroen Bakker
Issue is that due to the strange definition of render in grease pencil (meaning should be rendered similar to rendering). This included normal viewport rendering in OB_RENDER and OpenGL render in OB_RENDER. For other rendering modes the overlay vertex opacity would be used. This patch sets this value to 1 when rendering via a scene strip override. NOTE: that this isn't a good solution as I expect that users want to use the opacity of the Grease pencil object. Perhaps the GPencil team has a better solution for it.
2021-05-19Materials: support changing materials during evaluationJacques Lucke
This commit allows that the evaluated geometry of an object has different materials from the original geometry. This is needed for geometry nodes. The main thing that changes for render engines and exporters is that the number of material slots on an object and its geometry might not match anymore. For original data, the slot counts are still equal, but not for evaluated data. Accessing material slots though rna stays the same. The behavior adapts automatically depending on whether the object is evaluated. When accessing materials of an object through `BKE_object_material_*` one has to use a new api for evaluated objects: `BKE_object_material_get_eval` and `BKE_object_material_count_eval`. In the future, the different behavior might be hidden behind a more general C api, but that would require quite a few more changes. The ground truth for the number of materials is the number of materials on the geometry now. This is important in the current design, because Eevee needs to know the number of materials just based on the mesh in `mesh_render_mat_len_get` and similar places. In a few places I had to add a special case for mesh edit mode to get it to work properly. This is unfortunate, but I don't see a way around that for now. Differential Revision: https://developer.blender.org/D11236
2021-05-18Merge branch 'blender-v2.93-release'Antonio Vazquez
2021-05-18Fix T88370: GPencil render crash when use viewlayer and maskingAntonio Vazquez
When filtering the render using view layer, could be possible the mask is NULL and just need to be ignored.
2021-05-18Cleanup: clang-formatCampbell Barton
2021-05-15Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-15Fix T88204 EEVEE: Animated world light doesnt work during renderClément Foucault
This was a bug uncovered by rB50782df42586. Previously, the lightcache was always discarded between redraw and forced to be updated again. Now we check for update inside the render loop making it compatible with accumulation motion blur and long exposure.
2021-05-15Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-15EEVEE: Depth of Field: Fix tile artifacts in mixed focus regionsClément Foucault
This was caused by the slight focus gather not being wide enough for small radii. Now the cast to int will properly round the radius to the nearest integer. This is related to T86244 Black Artefacts in EEVEE on Transparent BSDF
2021-05-15Fix T85845 EEVEE: Depth Of Field: Artifacts with slight out of focusClément Foucault
This was caused by the bokeh LUT being sampled outside the valid range. But `texelFetch` is only valid if the sample actually exists. This lead to undefined behavior. The fix is to increase `DOF_MAX_SLIGHT_FOCUS_RADIUS` (which just offsets the LUT along the X=Y axis) to avoid any sample outside the defined range.
2021-05-13Cleanup: clang formatCampbell Barton
2021-05-12Merge branch 'blender-v2.93-release'Richard Antalik
2021-05-12Fix T87851 EEVEE: Performance regression with baked lighting & transparencyClément Foucault
This was caused by the drivers not optimizing the shader enough to remove the samplers and data used by closure eval. Removing the lighting loops from the depth shader fixes the perf regression.
2021-05-12Fix custom bone shape scale affecting normal bone displaySebastian Parborg
Also some clang-format changes.
2021-05-11Rigging: Add transform for custom bone shapesYuki Shirakawa
Add translation/rotation/scale parameters for custom bones shapes. The new scale is a 3D vector `custom_shape_scale_xyz`, and replaces the `custom_shape_scale` float. Reviewed By: #animation_rigging, sybren, zeddb Differential Revision: https://developer.blender.org/D10974
2021-05-11Merge branch 'blender-v2.93-release'Pablo Dobarro
2021-05-11Fix T82155: Fade inactive geometry overlay not working with instanced geometryPablo Dobarro
This enables the overlay for instanced geometry. After this change, objects that are an instance of the current active object (which are also being modified in the current active mode) won't fade, which is different from the previous behavior. Reviewed By: fclem Maniphest Tasks: T82155 Differential Revision: https://developer.blender.org/D9362
2021-05-10Merge branch 'blender-v2.93-release'Jeroen Bakker
2021-05-10Fix T87764: Mem-leak during viewport rendering.Jeroen Bakker
When a scene uses cryptomatte the viewport rendering would lead to a memory leak. The reason was that all image renders (viewport+final) activated cryptomatte. But is only used for final rendering. This patch only activates cryptomatte when doing final rendering.
2021-05-07Merge remote-tracking branch 'origin/blender-v2.93-release'Dalai Felinto
2021-05-07Cleanup: make format (clang-format)Dalai Felinto
2021-05-05Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-05Remove printfsClément Foucault
2021-05-05Fix T86037 EEVEE: SSR option changes render passes resultClément Foucault
This was caused by the SSR option resetting the accumulation. But the render passes were only cleared in the init phase. This means that when SSR was resetting the `taa_render_sample` the actual renderpasses would still contains 1 sample. This means the renderpasses were always divided by the wrong number of samples. The fix is to clear just before accumulation if the sample is 1. The fact that it works for motion blur is kind of a blessing. This is because we check `stl->effects->ssr_was_valid_double_buffer` before resetting the sampling. So this only happens on the first motion step and does not affect the rest of the rendering. Differential Revision: https://developer.blender.org/D11033
2021-05-05Fix T87068 EEVEE: Moire effect with particle hair and subsurfaceClément Foucault
This artifact was already present in previous version but was hidden by the faulty SSS scale. The issue comes from the translucence using the geometric normal (computed using fragment shader derivative) leading to poor precision at depth discontinuity. Replacing using the same geometric normal reconstruction as the ambient occlusion pass removes most of the issue.
2021-05-05Fix T86823 Eevee: refraction depth shared between different materialsClément Foucault
This was caused by the material grouping system which was missing a per material uniform update in the opaque case.
2021-05-05Fix T86037 EEVEE: SSR option changes render passes resultClément Foucault
This was caused by the SSR option resetting the accumulation. But the render passes were only cleared in the init phase. This means that when SSR was resetting the taa_render_sample the actual renderpasses would still contains 1 sample. This means the renderpasses were always divided by the wrong number of samples. The fix is to clear just before accumulation if the sample is 1. The fact that it works for motion blur is kind of a blessing. This is because we check stl->effects->ssr_was_valid_double_buffer before resetting the sampling. So this only happens on the first motion step and does not affect the rest of the rendering. Reviewed by: jbakker Differential Revision: https://developer.blender.org/D11033
2021-05-03Cleanup: spellingCampbell Barton
2021-04-29GPencil: glow fx, add threshold value color modeFalk David
This patch adds a threshold value to the glow effect in color mode. Currently, the threshold is hardcoded to 5%. You can select a color and specify a higher threshold to include similar colors in the effect. Note: depends on D10670 Reviewed By: #grease_pencil, pepeland Differential Revision: https://developer.blender.org/D10672
2021-04-28Fix T87464 EEVEE: Crash with deformation Motion BlurClément Foucault
This was caused by the new depsgraph persistence. The GPUbatches we got from the cache being the same for each frame means that we need to be more careful about cleanning the additional VBOs references. Moving the `EEVEE_motion_blur_swap_data` function call at the end of the loop makes sure the references are cleaned.
2021-04-23Fix T78845: Eevee wrong material selection.Jeroen Bakker
In cases where the same node tree is used in different materials with small changes, the wrong material could be selected. Cause: Hair shaders GPU resources weren't updated and used the previous bound data. Reviewed By: fclem Differential Revision: https://developer.blender.org/D11036
2021-04-20Fix T87440 EEVEE: Specular Light Viewport Render Pass wrong behaviorClément Foucault
This was caused by the closure refactor. The radiance being masked for SSR, we need to not enable SSR when trying to render the specular color pass. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11028
2021-04-20EEVEE: Fix unreported memory leak when toggling AO on/offClément Foucault
The `filtered_radiance` is not a texture form the texture pool. It needs manual freeing if not used.
2021-04-20Fix T87369 EEVEE: Ambient Oclussion: Firefly caused by degenerated normalClément Foucault
This was caused by some sort of degenerated normals.
2021-04-20Fix T87541 EEVEE: AO causes black outline around objects and NaN pixelsClément Foucault
It seems the pow result is unstable on some implementations. Also avoid undefined behavior by clamping aoFactor to strict positive values.
2021-04-14GPencil: Invert color offsetting for Single and Object modeAntonio Vazquez
Now, instead to offset the stroke color to make it visible over fill, the stroke keeps the original color and the fill is offset. Related to the issue in T87406.
2021-04-14Fix T87406: Stroke color when using object color modeFalk David
The color of the strokes was shifted when using `Single Color` or `Object Color`in Solid Display Mode. This was originally done so that it was still possible to differentiate strokes and fills. The fix allows for a completly flat shading by checking if the Lighting Mode is set to `Flat`. If it is, then the colors are not shifted for the strokes and everything will use the same color. Reviewed By: antoniov, fclem Maniphest Tasks: T87406 Differential Revision: https://developer.blender.org/D10957