Age | Commit message (Collapse) | Author |
|
|
|
Differential Revision: https://developer.blender.org/D5092
|
|
When performing F12 render on a transparent film all solid objects where
a bit transparent. Single Pass AA and no AA passes were not visible at
all.
Issue was that the first frame was not handled correctly making these
artifacts. This commit changes the order of `GPU_state_init` and
`DRW_state_reset` so the state is correct during the first pass.
|
|
|
|
Unlike edge/vert this was blending with the regular selection color.
|
|
This changes behavior from 2.7x, where selection & cursor could be
occluded by other objects.
Doing this without z-fighting in 2.8x isn't so simple because drawing
the text geometry is separated from edit-selection.
Change behavior since this doesn't seem like an important difference.
Fixes assert drawing text edit mode.
|
|
There was a huge overhead of batches that had no geometry. The loose
wire batch was the culprit.
|
|
|
|
It seems that in 2.79 callbacks were drawn with depth test off by default.
|
|
After talking with @fclem, we decided to keep this as a workaround function waiting for the clearing operation to be available inside the shgroups.
|
|
Disable all overlays except the texture paint overlay. Add alpha to the
resulting image buffer.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4974
|
|
|
|
Write and test states are now separate and need to be explicit.
Also add asserts when trying to write without test enabled.
|
|
|
|
|
|
- was using wrong offset [index instead of index * 4]
- also minor correction to variable naming
Reviewers: fclem
Differential Revision: https://developer.blender.org/D5082
|
|
|
|
|
|
This tracks the number of compiling shaders and just reset the TAA
if previous number mismatch.
|
|
|
|
The wrong volume buffer was used one frame out of two.
|
|
|
|
This was commited by mistake.
|
|
|
|
No need for this optimization in Eevee anymore, instead the modifier stack will
only compute CD_ORCO when needed.
|
|
This was because the VAOs were not updated if an instance batch was
reusing a VBO containing instances attributes which was reinitialized.
Now we ensure the Batch will reconfigure the VAOs if the VBO is 0.
|
|
|
|
Reorganize code and change some functions to mimic other softwares blend modes. Still need more work.
|
|
The opacity was already used and using it in the shader only duplicate the blend.
|
|
Allows it to be preserved during copy-on-write update when on-geometry
related update is needed.
This is a required part for T63537, where we need to preserve the entire
evaluation data when object is tagged for only RECALC_COPY_ON_WRITE.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D5023
|
|
|
|
The problem was the alpha was not premult and the opacity factor was applied two times.
|
|
|
|
Cheap tip: anything that is not "Camel Case" and/or that is more than
a few words long should use `TIP_` translation, not `IFACE_` one.
Also added several missing strings (including the one reported in D5056
by Jean First (@robbott), thanks).
|
|
This make the xray & wireframe follows the same style as the solid
mode.
|
|
This was due to a double offset of the wireframe. We also reduce
the wireframe offset. The look of the wireframe overlay changes
a little with on distant wires.
|
|
Now texture storage of images is defined by the alpha mode of the image. The
downside of this is that there can be artifacts near alpha edges where pixels
with zero alpha bleed in. It also adds more code complexity since image textures
are no longer all stored the same way.
This changes allows us to keep using sRGB texture formats, which have edge
darkening when stored with premultiplied alpha. Game engines seems to generally
do the same thing, and we want to be compatible with them.
|
|
Should help with T65118.
|
|
The OpenGL state was not set to blender defaults when using
`DRW_render_to_image` path. This is only used when doing F12-rendering.
Cause of changes with the `RESTART_INDEX` hair rendering was rendering
the restart_index as an actual vertex index.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D5039
|
|
|
|
|
|
This is enabled with bl_use_eevee_viewport = True. It allows external engines
to generate an Cycles/Eevee shader node setup to emulate their materials in
the realtime viewport, or to leave it to users to do manually.
Removed bl_use_exclude_layers and bl_use_shading_nodes that did nothing
anymore. This should not break API compatibility, any scripts setting those
should continue to work the same as before.
Also adds descriptions for some RenderEngine settings.
|
|
|
|
|
|
In the Intel HD 4000 driver a shader has to be deleted in the same context in which it is created.
However, because you can't use a rendering context on different threads, to maintain the multithreaded compilation, the solution was to use the `GL_ARB_get_program_binary` and copy the binary generated for the shader and generate a shader on the main context using that binary.
This solution is limited only to Intel HD 4000 and windows.
Reviewers: fclem
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D5019
|
|
Depth testing was off as it used the precomputed ModelView matrix. As
draw engines currently use a different approach the depth was sometimes
a bit off making the color disappear.
This change will use a different vertex shader that will write the
correct depth. I expected the same change to be needed in the bone
selection overlay but was not able to reproduce it.
Reviewed By: fclem
Maniphest Tasks: T64615
Differential Revision: https://developer.blender.org/D5006
|
|
When using the world space cavity shader together with viewport or image
rendering only a single pattern was used. This was that the iteration of
the cavity shader was updated when the cache is initialized.
Now the cavity iteration is updated together when the TAA samples are
updated.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D5021
|
|
|
|
This does add some more register pressure as it passes a new vec3 down
the shading function. But for now we care more about accuracy than
efficiency.
|
|
This happen to be a NaN caused by an infinite sum in the shadow
copy shader.
|