618aef1e58
Eevee: Fix normal orientation on default shader.
2017-06-09 01:15:17 +02:00
46f659ba2d
Eevee: Fix shader compilation issue.
2017-06-06 18:27:59 +02:00
2ebde4c82b
Eevee: Optimize scene with a large number of objects.
...
Using a GHash to store the shgroup of every Material. This way we do not duplicates the DRWShadingGroups allocations on every object.
2017-06-05 22:05:37 +02:00
288b54b5a7
Eevee: Modify Blue Noise.
2017-06-04 21:45:41 +02:00
819b8adb94
Eevee: Move Spherical Harmonics to a new Probe UBO.
...
Keep data packing tight to prevent use of padding floats
2017-06-04 16:50:22 +02:00
28b597b6df
Eevee: Material code refactor.
...
Separate material handling inside another file.
Make use of enums to identify shader variations.
Group all 64*64 LUTs into one array texture.
Only update world probe if world changes.
2017-06-04 12:12:58 +02:00
2851e91db4
Eevee: Cleanup. Group data functions into one file.
2017-06-03 00:54:01 +02:00
433bb91a37
Eevee: fix bad eye vector and get rid of two uniform
2017-06-03 00:54:01 +02:00
bc984fd09b
Eevee: Reduce shadow map precision.
...
Since we only store linear distance now we don't need so much bytes per pixels.
2017-06-03 00:54:01 +02:00
403c6b1b8d
Eevee: fix shadows artifact by clearing to max depth
2017-06-03 00:54:01 +02:00
d385ad3ce8
Eevee: fix light update when a shadow caster is deleted
2017-06-03 00:54:01 +02:00
0d52f8daea
Eevee: Polishing of Exponential Shadow mapping
...
Added exponent parameter to tweak light bleeding.
Added depth bias to the shadow test.
Added better blurring using 32 samples.
2017-06-03 00:54:01 +02:00
f59b1179c5
Eevee: Tag shadow maps to update only when necessary.
...
Shadow maps are now only updated if one shadow casting object inside it's shadow bounds has been updated.
2017-06-01 23:54:36 +02:00
c2d81f257f
Eevee: Put shadows and probes inside SceneLayerEngineData
...
This remove the duplication of data for each viewport improving memory usage.
2017-05-30 22:30:16 +02:00
470d66397d
Eevee: Fix ggx sun light.
2017-05-30 17:18:00 +02:00
5773f58762
Eevee: Replace Cubemaps by octahedron maps for env. probes.
...
This enables us to use 2D texture arrays for multiple probes.
There is a little artifact with very high roughness caused elongated pixel due to the projection (along every 90° meridian).
2017-05-29 22:04:30 +02:00
97e89027fc
Eevee : fix light colors
2017-05-29 15:52:27 +02:00
dbed33479a
Eevee: Remove non-ltc area light code + optimisation.
...
Reduce size ShadingData struct leads to some improvement even with more computation.
2017-05-29 15:52:27 +02:00
ff29914dcc
Remove default shading groups from eevee
2017-05-26 12:55:50 +02:00
3db15ae23a
Eevee: Disable directionnal lamps shadows
2017-05-23 15:12:47 +02:00
67b9a5b3d6
Eevee: Initial implementation of exponential shadowmaps
...
Also fixes the rendering of depth.
2017-05-20 16:58:07 +02:00
d9d65a06d3
Eevee: Move cube shadows to octahedron shadowmaps.
...
We render linear distance to the light in a R32 texture and store it into an octahedron projection inside a 2D texture array.
This render the sampling function much more simpler and without edge artifacts.
2017-05-20 16:58:07 +02:00
3f1a7aec13
Eevee: optimize vertex shader for probe and shadows.
2017-05-20 16:58:07 +02:00
ec774fdb48
Eevee: Fix fresnel factor to match Unreal Engine specular input.
2017-05-18 18:35:55 +02:00
e52a7584be
Eevee: Fix GPUShader not free.
2017-05-18 18:35:55 +02:00
dad10ab118
DwM: Support flat-shaded w/ clay & eevee engines
...
Needed for sculpt mode drawing w/ engines, see: T51497
2017-05-18 20:43:53 +10:00
4047715af3
Cleanup: use pre-defined STRINGIFY macro
2017-05-18 11:22:24 +10:00
00a5885136
Eevee: Refactor shaders defines
2017-05-18 01:50:06 +02:00
af3954fe90
Eevee: fix bug with postprocess buffer sharing.
2017-05-18 01:50:06 +02:00
ecee490d13
Eevee: Some changes to default shader.
...
Use old BI material prop and use a metallic approach.
2017-05-18 01:50:06 +02:00
e074ac65a6
DWM: don't use engine drawing for paint modes
...
Also only use sculpt-mode drawing with the active object.
2017-05-17 17:06:55 +10:00
90aff807ab
Draw Manager: Texture Memory usage improvement.
...
-Use 11_11_10 buffers for hdr content.
-Eevee compositing share 1 buffer if bloom and DOF are both activated.
-Fix slowdown when resizing EEVEE viewport.
-Removed DRW_BUF_*** enums causing confusion.
2017-05-16 20:30:17 +02:00
2e8cb8d836
Draw Manager: Make use of texture reuse.
2017-05-16 20:30:17 +02:00
c28a4eb8cb
Eevee: fix some glsl for low quality lamps.
2017-05-15 16:14:18 +02:00
e053fade99
Mesh Batch Cache: get rid of the ORCO VBO data, and reconstruct it in shader.
...
With only one MADD instruction we recover the orco data and reduce both the storage and the fetching cost of an attrib layer.
2017-05-15 16:14:18 +02:00
7d12d8956d
Sculpt: Move sculpt drawing to engines.
...
Only mask are handled by sculpt mode engine and are multiplied on top of the render.
There is room for improvement:
- Shaded meshes don't have correct tangents or uvs.
- Masks are in range 0.8 - 0.2 thus always darkening at least 20% the render.
- It only uses the first material slot of the mesh.
2017-05-12 17:54:14 +02:00
5aca575d85
Eevee: Add Rotation and ratio parameters to DoF.
2017-05-12 16:31:12 +02:00
ef3aaa3269
Eevee: Small Dof upsampling blur.
...
This soften the low res buffer so that jaggies are less perceptible.
Also soften the nearplane transition.
2017-05-11 16:29:35 +02:00
3fbafaffa1
Eevee: Add tonemapping using ocio.
...
Actually it's done by the Draw Manager, so other engines can use it.
2017-05-11 16:29:35 +02:00
3341c11bcc
Eevee: Disable motion blur if camera is different from its animated pose.
2017-05-11 16:29:35 +02:00
2e39a27e3b
Eevee: Fix light color being non-linear.
2017-05-11 16:29:35 +02:00
c8d8f04746
Eevee: Fix motion blur when not having set another key.
2017-05-11 16:29:35 +02:00
f129e48993
Merge branch 'master' into blender2.8
2017-05-11 22:16:23 +10:00
4e7eafb86f
Eevee: Fix motion blur.
2017-05-11 14:17:38 +02:00
45207bf3ce
Eevee: Post process parameters.
...
-Display almost all parameters.
-Made some small adjustment to motion blur to support FOV motion blur.
-Made DOF max radius a parameter.
2017-05-10 16:03:25 +02:00
da8b34e527
Eevee: Fix some issues
...
Fix issue with manipulator contributing to depth.
Fix blender internal shader.
2017-05-10 16:03:25 +02:00
1c18d07a1c
Eevee: Make Depth of field zoom invariant.
...
Multiply the sensor size by the viewcamtexcofac which is basicaly how scaled is the viewport relativly to the camera frame.
2017-05-10 00:57:53 +02:00
707756d277
Draw Manager: Extend simplification to UBOs & fix a context error.
2017-05-09 23:55:19 +02:00
8277609810
Small cleanup
2017-05-09 23:55:19 +02:00
e32ec677c3
Draw Manager: Simplify usage and check for errors.
2017-05-09 23:55:19 +02:00