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
path: root/source
AgeCommit message (Collapse)Author
2019-09-02EEVEE: Remove softness parameters from RNA & UItmp-eevee-shadowmap-refactorClément Foucault
Keep it in DNA for backward compatibility
2019-09-02EEVEE: Fix sunlight when sun angle is 180 degreesClément Foucault
2019-09-02EEVEE: Shadow: Add back shadow biasClément Foucault
This is needed in some corner case (shadow acne due to aliasing and depth disparity). This is a simple bias added to default bias. It should not be needed most of the time but we leave it at 1 by default.
2019-09-02EEVEE: Fix spotlight shadow optimizationClément Foucault
Spot light can be non-uniform and scale in one direction. This fix makes sure both directions are taken into account before skipping cubemap faces.
2019-09-02EEVEE: Shadow: Add temporal sampling to shadowmapsClément Foucault
If soft shadows is enabled, we randomize the shadowmap sample position to reduce aliasing artifacts (jagged edge shadows).
2019-09-02Cleanup: EEVEE: Split eevee_lights.c into smaller filesClément Foucault
Also have some const correctness fix and some header cleanup.
2019-09-02Eevee: Shadow: Refactor / Cleanup of shadow updateClément Foucault
- Replace EEVEE_lightbits by BLI_bitmap - Replace EEVEE_BoundSphere by BoundSphere - Support for dupli light shadows - Detect unecessary update of soft shadows (i.e: moving the view) - Remove Object references
2019-09-02Eevee: Light: Refactor shadow tagging to allow dupli shadow castersClément Foucault
Dupli objects can now cast shadows. This also replace the custom lightbits by BLI_bitmap.
2019-09-02Eevee: Shadows: Add texel border on shadow cube for better edge filteringClément Foucault
Unfortunately, this seems to be imprecise on lower cube resolution. But the result is still most of the time more pleasant than no border filtering.
2019-09-02Eevee: Shadow: Speedup: Only render shadow cube face neededClément Foucault
This reduce the number of face to render to 5 in the case of area lights and 5 or 1 for spotlights. Spotlights that have a spot size less than 90 degrees only need 1 face and are the fastest.
2019-09-02Eevee: Shadows: Make shadowmap follow light orientationClément Foucault
This is in preparation of an optimization
2019-09-02DRW: Add line offset to DRW_STATE_SHADOW_OFFSETClément Foucault
This is needed for hairs.
2019-09-02Eevee: Shadows: Improve contact shadowsClément Foucault
Contact shadows now follow the shadowmap direction. This means it matches the shadowmap blur that is proportional to the light radius. Moreover this adds a more efficient bias for most contact shadows.
2019-09-02Eevee: Shadow: Speedup: Use only 2 sample for cascaded shadowmapClément Foucault
2019-09-02Eevee: Shadow: Remove receiver plane bias and use hardware filteringClément Foucault
In an attempt to simplify the shadowing in eevee, we remove the bias and filtering option. Now the shadowmap always get the minimum constant and slope bias and we only do a bilinear shadow filtering. This means the shadow is as sharper and exact as the shadow map format allows (bitdepth and size). Only the lamp size can change the shadow softness.
2019-09-02Eevee: Shadow: Make sun clip distances automaticClément Foucault
This simplify sun lights setup and matches more cycles behavior.
2019-09-02Eevee: Remove ESM and VSM codeClément Foucault
2019-09-02Eevee: Shadows: Add Receiver Plane Depth BiasClément Foucault
This bias replace the previous bias method. The bias is now scalled to have the correct depth of the triangle at the sample location. This is done by computing the actual depth that would be recorded in the shadowmap at the texels locations, if the triangle was extrapolated. This leads to less shadow acne and it ensure the bias is always the minimum amount that ensure correct shadowing. However this technique is not failure free and if the receiver is nearly parallel to the light, the bias is nearly infinite and light leaking occurs. For this reason I decided to cap the bias by the bias parameter to tweak between shadow acne and light leaking.
2019-09-02Eevee: Replace ESM and VSM by PCF shadow mappingClément Foucault
PCF shadowmaps are less prone to light leaking and are faster to render. This remove a substantial part of the shadowing code.
2019-09-02DRW: Add shadow bias stateClément Foucault
This state add shadowmap bias to avoid most of self shadowing.
2019-09-02Eevee: SSS: Refactor translucencyClément Foucault
This separate the translucency evaluation to be outside of surface eval. This as the benefit to reduce code complexity and remove the need for shadow map (non-test) sampler in the shading pass. One big change is that bsdf intensity is multiplied and stored with the albedo color instead of the sss irradiance. This is in order to apply it to both the translucency and the sss diffusion. This change the look of mixed SSS shaders which is now closer to cycles. Performance cost is negligeable. # Conflicts: # source/blender/gpu/shaders/gpu_shader_material.glsl
2019-09-02Eevee: SSS: Refactor to use less memory and always use separate albedoClément Foucault
This refactor reduce the Memory overhead of SSS and enables us to always use separate albedo. Previously we used 128bits/px for SSS data and 32bits/px for albedo. Now we use 112bits/px for SSS data & separate albedo altogether. This refactor is needed for PCF shadow maps. # Conflicts: # source/blender/gpu/shaders/gpu_shader_material.glsl
2019-09-02GPUFramebuffer: Bump max color attachement to 6Clément Foucault
2019-09-02UI: Don't show button context menu for drag-labelsJulian Eisel
While the vast majority of labels would never get a button context menu (as opposed to the regular context menu of this region), draggable labels would still reach code for such context menu creation. From what I can tell only file browser icons/thumbnails and the properties editor data path would be affected. The button context menu doesn't make sense for them, so let the region context menu show up instead. If at some point we want button context menus for specific labels, we can make checks more granular.
2019-09-02GPencil: New Strength mode for Opacity modifierAntonio Vazquez
This new option applies the opacity using the strength of the stroke instead to use the alpha channel of the material. Tested in greasepencil-object branch {F7712796} The vertex group filter has been removed because this filter is not logic in Material mode and must be valid only in Strength mode. {F7713147} Reviewers: pepeland, mendio Reviewed By: mendio Differential Revision: https://developer.blender.org/D5650
2019-09-01GPencil: Set fill material when curve is 2D and has fillingAntonio Vazquez
Now the material is set as fill if the curve is 2D and is filled with a material. This is done in the Convert operator only, because the SVG add-on works totally different due the SVG has more parameters to determine the type of filling.
2019-09-01UI: Active Default Button HighlightHarley Acheson
Buttons marked as the default action are shown in full selected color. Simplification of all the related active_default code. Differential Revision: https://developer.blender.org/D5574 Reviewed by Campbell Barton
2019-09-01Fix transforming origin affecting unselected childrenCampbell Barton
2019-09-01Copy Rotation & Transform: add Euler order override options.Alexander Gavrilov
For reasons similar to drivers, it should be possible to set an explicit Euler rotation order in constraints that use Euler angles. The Transform constraint in a way approaches drivers in its use, in that it effectively alters channels using values of other channels after applying a fixed form mathematical expression. For this reason, instead of just specifying the euler order for its inputs, it uses the same enum as driver variables. However Quaternion components are converted to a weighted pseudo-angle representation as the rest of the constraint UI expects angles.
2019-09-01Fix T69364: GPencil Array Modifiers causes crashAntonio Vazquez
This bug was introduced when adding the support for default materials.
2019-08-31Drivers: support accessing Quaternion rotation channels.Alexander Gavrilov
After adding the Euler order option, it's an easy addition to the enum. The list of channels had of course to be expanded too.
2019-08-31Fix non-functional return argument in new gpencil codeCampbell Barton
Also remove unused arguments.
2019-08-31Fix T66452: Convert Curve to Grease Pencil StrokesAntonio Vazquez
This commit adds support to convert curves to Grease Pencil strokes and create the materials too. Also, there is a new python API. This API is required by the modified SVG import addon to create strokes( see T67065). All curves selected in one operation are converted in the same Grease Pencil object.
2019-08-31Drivers: support explicit euler rotation order for transform channels.Alexander Gavrilov
The meaning of the euler angles completely depends on the rotation order. Currently the rotation order is taken from the target of the driver variable, which somewhat makes sense if it uses euler, but if it's quaternion, then the order is always set to XYZ. Add a new option for the rotation channels of the Transform Channel driver variables that defaults to the old behavior, but allows setting an explicit rotation order.
2019-08-31Cleanup: rename natural string comparisonCampbell Barton
2019-08-31Outliner: fix unnecessary syncingNathan Craddock
Depending on the outliner display mode and the outliner dirty state, a sync may not be needed on each draw. This commit adds a check before syncing to prevent syncing when not needed.
2019-08-31Outliner: always sync object selectionNathan Craddock
This changes from-outliner selection syncing to always sync the selection state of objects. This allows selecting objects while in edit mode for parenting or adding hooks. This also fixes a few issues where the sync algorithm would fail when no active object existed.
2019-08-30Cleanup: clang-formatRay Molenkamp
2019-08-30MSVC: Fix BlendThumb debug build.Ray Molenkamp
Spotted by @deadpin on chat
2019-08-30Transform: use recalc geometry depsgraph tagCampbell Barton
Better be specific with the data that needs updating.
2019-08-30Fix T69299: Transform origin & skip-children jittersCampbell Barton
2019-08-30Cleanup: 2 space indentationCampbell Barton
2019-08-30Windows: Fix compatibility with older cmakeRay Molenkamp
Older cmake did not find the BlendThumb sub project.
2019-08-30Fix possible crash with new sculpting cursor, due to stack overflowBrecht Van Lommel
2019-08-30Cleanup: Silence debug prints in readfile code.Bastien Montagne
Not sure since when that one has been enabled, but there is no reasons to print all that for regular users...
2019-08-30Cleanup: redundant lowercase in BLI_natstrcmpCampbell Barton
2019-08-30Fix BLI_array macro so can use BLI_strict_flags.h.Howard Trickey
Was doing int comparision against size_t, so added casts.
2019-08-30GPU: Split gpu_shader_material into multiple files.OmarSquircleArt
This patch continue the efforts to split the `gpu_shader_material` file started in D5569. Dependency resolution is now recursive. Each shading node gets its own file. Additionally, some utility files are added to be shared between files, like `math_util`, `color_util`, and `hash`. Some files are always included because they may be used in the execution function, like `world_normals`. Some glsl functions appeared to be unused, so they were removed, like `output_node`, `bits_to_01`, and `exp_blender`. Other functions have been renamed to be more general and get used as utils, like `texco_norm` which became `vector_normalize`. A lot of the opengl tests fails, but those same tests also fail in master, so this is probably unrelated to this patch. Reviewers: brecht Differential Revision: https://developer.blender.org/D5616
2019-08-30Cleanup: spellingCampbell Barton
2019-08-30UI: Outliner Natural SortHarley Acheson
Collection contents alphabetical sort now uses a Natural Sort that takes number magnitude into account. Differential Revision: https://developer.blender.org/D5636 Reviewed by Brecht Van Lommel