Age | Commit message (Collapse) | Author |
|
|
|
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3964
|
|
This makes the lighting a bit more diffuse but don't produce negative
values.
Add a bias of 1.5f to make the lighting a bit more directionnal.
The implementation is based on:
https://github.com/kayru/Probulator/blob/master/Source/Probulator/SphericalHarmonics.h#L136
which is derived from:
http://www.geomerics.com/wp-content/uploads/2015/08/CEDEC_Geomerics_ReconstructingDiffuseLighting1.pdf
The shader implementation is optimized and has the same runtime cost
as previous method:
* no sh eval : 0.13ms
* prev sh eval : 0.14ms
* new sh eval : 0.22ms
* new sh eval opti : 0.14ms
|
|
In my test, the composite pass went from 1.52ms to 0.24ms when specular
lighting is enabled.
|
|
This makes the whole rendering slower (because of sync point) but the
numbers displayed by the draw manager profiler is more precise on some
buggy drivers. They seems to issue the query before the last one ends.
|
|
* Less Lengthy enum/macro names.
* Optimize computation of Spherical Harmonics.
* Reduce radiance cubemap size a bit. Higher resolution is not necessary.
* Remove STUDIOLIGHT_LIGHT_DIRECTION_CALCULATED (was not used).
* Do windowing on each component separately instead of using luminance.
* Use ITER_PIXELS to iterate on each pixels, using pixel center coords.
* Remove gpu_matcap_3components as it is only needed when creating the gputex.
* Fix a lot of confusion in axis denomination/swizzle.
These changes should not affect functionallity.
|
|
|
|
|
|
|
|
This was an unsupported feature.
|
|
I feel silly because it was my fault all along! (see the WATCH IT warning)
|
|
|
|
|
|
|
|
|
|
Not on reflector pixel position. This improve the feel of SSRs and the
final render quality.
|
|
and cleanup
The crash only occurs with Intel 3rd generation GPUs.
It occurs because the program needs to be used at least once in the opengl context in which it is created.
|
|
|
|
|
|
|
|
Should fix T57620
|
|
* Fixes vertices with bad coloring. Now vertices draw with depth write so
they occlude the underlying face geom overlay, avoiding double drawing the
vertex.
* Decrease the z_offset of edges so they don't poke too much through
geometry. Also delete this offset in ortho view.
* Add zoffset to active and selected vertices so they always draw on top
if they overlap a non selected vertex.
* Fix alpha of edge_fix in vertex selection mode
|
|
This setting can be tweaked to improve glossy reflection cubemaps.
It increases the sample count for each roughness level.
This settings affect the lookdev mode quality as well.
|
|
This enables reducing the noise comming from very bright light sources
(like a sun) that can be found in distant HDRIs.
The lost energy may be replaced manually by a sunlight that compensate the
this loss.
This clamping only concerns Reflection Cubmaps and is done on all on all
of them.
Setting to 0.0 disables it (default).
|
|
This is a parameter that will make the interpolation between irradiance
cells of a same Irradiance Volume smoother, reducing the weight of the
light leaking correction factors.
It is usefull in some cases to avoid harsh lighting transition that can
happen when a sample point it near a surface.
|
|
This makes it easier to add corrective light grids without having ugly
blending corners revealing the shape of the grid bounds.
|
|
|
|
This is an important change. Starting from now, all lights have a finite
influence radius (similar to the old sphere option for BI).
In order to avoid costly setup time, this distance is first computed
automatically based on a light threshold. The distance is computed
at the light origin and using the inverse square falloff. The setting
can be found inside the render settings panel > shadow tab.
This light threshold does not take the light shape into account an may not
suit every case. That's why we provide a per lamp override where you can
just set the cutt off distance (Light Properties Panel > Light >
Custom Distance).
The influence distance is also used as shadow far clip distance.
This influence distance does not concerns sun lights that still have a
far clip distance.
---
This change is important because it makes it possible to cull lights
an improve performance drastically in the future.
|
|
This makes quite a big improvement in my case 1.8ms vs 2.3ms for a single
area light.
This will make even more difference with light attenuation.
|
|
|
|
I made an empirical test with a 100% diffuse sphere and manually tweak the
lighting power of a sun lamp trying to fit cycles and eevee the best I can.
Then I plotted the result and found a rough fit to the equation and that
seems to work pretty well.
|
|
|
|
Also use smaller types for shading data.
|
|
This type is not supported by either Eevee or Cycles. If other types of
lamps are needed by external engines, we should support adding custom types.
|
|
Intel does not like dead code.
The driver for `Intel HD Graphics 4000` crashes in these cases.
|
|
|
|
|
|
|
|
Step size is now one voxel diagonal.
Fix T57678 Culling of smoke depending on view direction
|
|
|
|
That was caused by a thread safety issue on gpu_batch_presets_unregister()
which was not designed to be used for this kind of situation (managing 3D
meshes batches).
|
|
This was caused by overflow caused by the background and precision during
filtering.
|
|
This was visible if the lamps was out of frustum.
|
|
- Replace BKE_brush_getactive_gpencil -> BKE_paint_brush
(no need for per-paint-type brush access).
- Rename TOT_GP_EDITBRUSH_TYPES -> GP_EDITBRUSH_TYPE_MAX
(avoid sharing prefix w/ unrelated constants).
- Rename instances of `GP_EditBrush_Data` to 'gp_brush'
(`Brush` is typically called 'brush').
|
|
This is inspired/based on the code we use for armature bone selection.
Both pick selection, and box selection should be working now.
|
|
|
|
Went a bit anal on this but at least we will have a decent AA reference
for lines in the future.
|
|
This makes it possible to tweak indirect lighting in the shader.
Only a subset of the outputs is supported and the ray depth has not exactly
the same meaning:
Is Camera : Supported.
Is Shadow : Supported.
Is Diffuse : Supported.
Is Glossy : Supported.
Is Singular : Not supported. Same as Is Glossy.
Is Reflection : Not supported. Same as Is Glossy.
Is Transmission : Not supported. Same as Is Glossy.
Ray Length : Not supported. Defaults to 1.0.
Ray Depth : Indicate the current bounce when baking the light cache.
Diffuse Depth : Same as Ray Depth but only when baking diffuse light.
Glossy Depth : Same as Ray Depth but only when baking specular light.
Transparent Depth : Not supported. Defaults to 0.
Transmission Depth : Not supported. Same as Glossy Depth.
Caveat: Is Glossy does not work with Screen Space Reflections but does work
with reflection planes (when used with SSR or not).
We have to render the world twice for that to work.
|
|
Fix refraction depth not working without ScreenSpace Refraction.
Fix ScreenSpace Refraction masking reflections.
|
|
Now it shows more compact info below the view/object name. Render time and
memory usage is left out, as in most cases this is not so important. These
could be added back optionally if needed.
|