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
2018-05-03Metaball: pointers used in `DRW_shgroup_call_dynamic_add` don't need to hold ↵Germano
the reference.
2018-05-02Armature: Envelope: Small cleanup + don't smooth the distance display.Clément Foucault
The actual weighting calculation is not smooth as the bone display. The bone itself can be smooth for esthetic purpose but the distance display should match the underlying weighting formula.
2018-05-02Armature: Envelope: Optimize outline shader.Clément Foucault
2018-05-02Armature: Envelope: Revisit envelope drawing again.Clément Foucault
Past shader was too slow and had bad artifacts. This method is much simpler and eficient and only exhibit some popping when the raidus of the head/tail is changed.
2018-05-02GPUShader: Remove unused envelope shaders.Clément Foucault
2018-05-02Armature: More work and cleanup on envelope bones drawing.Clément Foucault
- Draw tail & head sphere with point shader (no needs for another way). - Use the same function for issuing the calls for wire and solid envelope.
2018-05-02Armature: Add envelope outline shader.Clément Foucault
2018-05-02Armature: Envelope Bones: Change drawing method.Clément Foucault
We now use a more pleasant and efficient way to display enveloppe bones and their radius. For this we use a capsule geometry that is displaced (in the vertex shader) to a signed distance field that represents the bone shape. The bone distance radius are now drawn in 3D using a "pseudo-fresnel" effect. This gives a better understanding of what is inside the radius of influence. When capsules are not needed, we switch to default raytraced points. The capsules are not distorded by the bone's matrix (same as their actual influence radius) and are correctly displayed even with complex scaled parents hierarchy.
2018-05-02Armature: Draw envelope on non MSAA buffer.Clément Foucault
Appart from the performance issue, the MSAA resolve pass is not compatible with additive passes.
2018-05-02Armature: Add multisampling to posemode.Clément Foucault
2018-05-02DRW: Convert DRW_cache_circle_get to use GWN_PRIM_LINE_LOOPClément Foucault
2018-05-02Armature: "Raytrace" bones endpoint spheres.Clément Foucault
Here is how it works: We render a high poly disc that we orient & scale towards the camera so that it covers the same pixel of the sphere it's supposed to represent. Then the pixel shader raytrace the sphere (effectively starting from the poly disc depth) and outputs the depth to gl_FragDepth. This approach has many benefit: - high quality obviously: per pixel accurate depth! - compatible with MSAA: since the sphere horizon is delimited by polygons, we get the coverage computed by the rasterizer. However we still gets aliasing if the sphere intersect directly other meshes. - virtually no overdraw: there is no backface to shade but we still get overdraw because by little triangle [gpus rasterize pixel by groups of 4]. - allows early depth test: since the poly disc is set at the nearest depth we can output, we can use GL_ARB_conservative_depth to enable early depth test and discard pixels that are already behind geometry. - can draw outline pretty easily without geometry shader.
2018-05-02DRW: Make use of new multisample resolve pass.Clément Foucault
2018-05-02DRW: Add DRW_multisamples_resolve functionClément Foucault
This manually resolve the content of a multisample FB to a single sample FB. It resolves color (combine the 2 framebuffers in a logical maner keeping depth buffer occlusion etc..) instead of a plain glBlitFramebuffer copy.
2018-05-02GPUShader: Optimize Multisample resolve shader.Clément Foucault
Group all fetches together without interleived alu to let compiler optimize. Also do the color samples only if needed. Went from 3.86ms to [1.11-2.22]ms [min-max] for the 16samples resolve pass on my nvidia card.
2018-05-02DRW: Add DRW_STATE_BLEND_PREMUL blend mode.Clément Foucault
2018-05-02GPUShader: Add GPU_SHADER_2D_IMAGE_MULTISAMPLE_2/4/8/16Clément Foucault
This shader is used instead of blitting back and forth to a single sample buffer. This means it resolves the color and depth samples and outputs a fragment which can be depth tested and blended on top of an existing framebuffer. We do static shader variation with manual loop unrolling for performance reason. In my test I get 25% more perf with intel integrated gpu and 75% performance gain with dedicated nvidia card compared to a single shader with a uniform for sample count.
2018-05-02GWN: Add GWN_batch_uniform_mat4.Clément Foucault
2018-05-02GPUShader: Fix simple lighting modulating alpha colorClément Foucault
2018-05-02Object Mode: Draw non meshes before outline.Clément Foucault
This makes the outlines occluded by the other objects. This was a problem before the outline refactor but now there is no need for it.
2018-05-02DRW: Armature: New bone outline shader.Clément Foucault
This fix the issue with the zfighting we were getting at bones edges. Moreover, this enables us to render arbitrarly large outline with varying thickness.
2018-05-02DRW: Add Adjacency info for bone shapes.Clément Foucault
Only for cube and octahedral shapes for now.
2018-05-02GWN: Add GL_TRIANGLES_ADJACENCY to supported primitive types.Clément Foucault
2018-05-02GPUTexture: Fix wrong multisample texture size.Clément Foucault
2018-05-02Paint Vertex Mode: Fix shader not free.Clément Foucault
2018-05-02Eevee: Add Lamp Specular multiplier.Clément Foucault
It's usefull in some scenario to tweak the specular intensity of a light without modifying the diffuse contribution. Cycles allows it via lamps material which we currently not support in Eevee. This is a good workaround for now.
2018-05-02Fix T54864: Assert when changing interface display scaleDalai Felinto
The asserts were introduced on rB5f6c45498c92 (top-bar). Although the asserts are technically correct, they would fail even in master. And the commit simply added the asserts without fixing the situation itself (as you can see in the report, it is really simple to reproduce this issue). I propose we remove the asserts and bring them back only when the situation itself is fixed. It doesn't make sense to introduce asserts that would fail with the current state of the code.
2018-05-02Merge branch 'blender2.8' of git.blender.org:blender into blender2.8Jeroen Bakker
2018-05-02Workbench: Linear => srgb conversionJeroen Bakker
2018-05-02Fix mysterious crash on tooltipsDalai Felinto
This was a hard to reproduce bug, but it happens often enough. Basically the tooltip of the active tool was been invoked when context had no valid ScrArea which would lead to a crash. We now just return no tooltip in these cases.
2018-05-02Depsgraph: Add function to iterate over all original IDsSergey Sharybin
2018-05-02Use meaningful debug name for render depsgraphSergey Sharybin
2018-05-02Depsgraph: Show log message when tagging specific depsgraph IDSergey Sharybin
2018-05-02Depsgraph: Add per-depsgraph debug name which is shown in the logsSergey Sharybin
This way we can see for which depsgraph datablock is being evaluated for.
2018-05-02Depsgraph: Cleanup, naming conventionsSergey Sharybin
2018-05-02Depsgraph: Make all print messages to respect per-depsgraph debug flagsSergey Sharybin
2018-05-02Depsgraph: Allow per-depsgraph debug flagsSergey Sharybin
Currently only affects EVALUATION debug messages, rest are to be supported on per-depsgraph level.
2018-05-02Depsgraph: Use utility function to print CoW update functionSergey Sharybin
2018-05-02Depsgraph: Make bAction a part of dependency graphSergey Sharybin
There are various values which depends on context in there, for example current driver value and original DNA value f-curve is applied for. This partially fixes issue with not being able to tweak keyed values when material preview is open. The material preview is not being currently updated against non-keyed changes since every tweak of material property does full preview scene depsgraph evaluation.
2018-05-02Workbench: Fix interface change in draw maangerJeroen Bakker
2018-05-02Merge branch 'blender2.8' of git.blender.org:blender into blender2.8Jeroen Bakker
2018-05-02Vertex Paint: Use Linear colors for interpolation.Clément Foucault
This matches Cycles and Eevee's behaviour.
2018-05-02Eevee: Fix vertex color being in srgb space.Clément Foucault
Now they are properly converted to Linear space before interpolation. Since the only way to get vertex color in eevee and cycles is via the attribute node with the CD_AUTO_FROM_NAME flag, we have to know at binding time which type of buffer will be connected to this auto input. We store this information inside the batch cache (together with the according uniform name) and pass it as uniform to the shader which does conversion if needed. The same shader can then be reused to draw another mesh with different auto layers configuration.
2018-05-02Modifiers: ported Skin modifier DerivedMesh → MeshSybren A. Stüvel
2018-05-02Renamed 1st parameter of BKE_bmesh_to_mesh from `me` to `be`Sybren A. Stüvel
It's a BMesh, it shouldn't be called `me`
2018-05-02Static Override: Move 'auto' flag into override struct, expose it to RNA.Bastien Montagne
2018-05-02Modifiers: ported Solidify modifier DerivedMesh → MeshSybren A. Stüvel
2018-05-02Mesh: add runtime customdata dirty flagsCampbell Barton
2018-05-02Mesh: move runtime members to own structCampbell Barton
2018-05-02Workbench: update of 3dviewJeroen Bakker