ec90780767
Gawain: Add support for rendering using an instance batch (for particles)
2017-05-29 16:28:54 +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
932399612b
3D grid: Fix precision issue 2/2
...
We now floor the corner position and use this position as origin.
This gives us perfect derivatives in all cases even if very far from the origin.
Unfortunately this won't fix the low precision of coordinates used for computing the actual grid size, resulting in thick, non-smoothed lines.
Also did a bit of refactor how the axes are drawn.
2017-05-29 15:52:27 +02:00
330007f571
3D grid: only draw if needed.
2017-05-29 15:52:27 +02:00
e104d82376
Object Mode Engine: Fixing the 3D grid 1/2
...
Do not use the inverse perspective matrix inside the shader to recover world positions.
That leads to severe float imprecision leading to nasty artifacts.
Instead we compute the world view vector for each pixels and do a ray to plane intersection.
We are still getting low precision derivatives when going far away from the origin, and thus artifacts.
This commit also fixes the non-appearing negative Z axis in 3D view.
2017-05-29 15:52:27 +02:00
35022d0f63
Move particle cache population to a dedicated function
...
Should help readability of switch statement which becomes far too big now.
2017-05-29 15:26:52 +02:00
1f1926e068
Fix leak with texture-paint shaders
2017-05-29 20:48:02 +10:00
51d1e204b8
Fix texture paint crash when there are no UV's
...
Missing check in own recent commits,
also only use texture-paint drawing on active object.
2017-05-29 20:17:42 +10:00
Dalai Felinto
6dfe56f01a
Silence warning in draw manager
2017-05-26 17:51:08 +02:00
3b311b7cb2
Fix uninit shading group in object mode particles
2017-05-26 13:36:12 +02:00
ff29914dcc
Remove default shading groups from eevee
2017-05-26 12:55:50 +02:00
f75ca733ed
Fix indentation in clay_engine.c
2017-05-26 12:55:50 +02:00
Dalai Felinto
3b24ece297
Depsgraph: Rename DAG > DEG functions from depsgraph_query.cc
2017-05-26 11:23:10 +02:00
214c42157a
Only calc split normals when auto-smooth is enabled
...
This matches cycles & derived-mesh
2017-05-25 02:31:39 +10:00
154ff1afde
Fix/Workaround T51561: Disable split normals
2017-05-25 01:40:15 +10:00
707340edd7
Cleanup: minor de-duplicate from last commit
2017-05-24 22:54:19 +10:00
429f6bee28
Fix T51561: Normal maps fail w/ quad + eevee
...
Generalize derived-mesh tangent calculation so
it can be used by Batch cache creation too.
2017-05-24 22:39:50 +10:00
60a099fb09
Move empty image drawing into its own pass
2017-05-24 14:28:48 +10:00
3c92e6b8f0
Cleanup: bmesh var naming
2017-05-24 13:33:48 +10:00
c9d890585b
DwM: avoid indirect edit-mesh conversion
...
Storing edit-mesh data as indices for passing
only to get back edit-mesh data.
This also complicated checks for real edges in tessellation tris.
Simpler to pass data directly.
2017-05-24 13:27:11 +10:00
c99e70ae6c
Fix leak in particle velocity global ramp
2017-05-24 13:27:11 +10:00
eef92770a1
Optimize particle primitive shader
2017-05-23 18:39:22 +02:00
e1c4908771
Temp fix for vertex format with batch instancing
...
This prevents memory alignment from being screwed up when attributes are
optimized out in shader.
2017-05-23 18:39:22 +02:00
9bc88b69d8
Implement particle velocity and acceleration visualization
2017-05-23 18:39:22 +02:00
3db15ae23a
Eevee: Disable directionnal lamps shadows
2017-05-23 15:12:47 +02:00
6f063bdb1c
Use pointers to actual data for particle uniforms
...
This makes particle color uniforms point directly to material color, and
particle size uniforms point directly to ParticleSettings size.
2017-05-23 14:37:01 +02:00
340e4394d4
Use custom shader for dot particles
2017-05-23 14:25:12 +02:00
b5426b50fb
Rename/move particle shaders
2017-05-23 14:20:10 +02:00
21857cb081
Create new shading group for each psys
2017-05-23 13:52:50 +02:00
b30cefa650
Revert "Implement UBOs for particles"
...
This reverts commit 845732652f .
2017-05-23 13:52:50 +02:00
da9c2607c4
DWM: Add short to float / int uniform function.
...
Short values are common in DNA, this enables using them directly without storing temporary float somewhere.
2017-05-23 13:59:58 +02:00
694bc97768
Draw Manager: Prevent errors when overwritting the instance batch.
2017-05-23 13:59:58 +02:00
b2dc54ffe5
Stupid mistake in material access optimization
2017-05-23 21:52:18 +10:00
96f7b08aec
DwM: optimize material access
...
- Split BMesh/Mesh loops.
- Loop over faces instead of tris.
- Add out-of-bounds check for material index (rare but can happen).
2017-05-23 18:26:16 +10:00
611779ca96
Cleanup: use more generic naming
...
Can be used by any user that needs faces split by materials.
2017-05-23 17:48:05 +10:00
f21c235c6f
DwM: texture paint support & mask mode
...
Uses workaround so material slots are used when neither blender-internal
or cycles are enabled.
2017-05-23 17:40:48 +10:00
845732652f
Implement UBOs for particles
...
This fixes the issue where all particles were drawn with the colors and
size of the last psys to be drawn.
2017-05-22 16:42:08 +02:00
cedebeb5de
Minor cleanup of previous hair commits
2017-05-22 16:42:08 +02:00
dbb1a692f7
Revert assert, Eevee uses uniforms that might not exist
2017-05-22 17:57:34 +10:00
9efd3a3f63
Cleanup: move custom-data layers into a struct
...
Changed because the values co-exist with active layers
(Mesh.mloopuv, Mesh.mloopcol).
2017-05-22 17:25:31 +10:00
02cc4d8cec
Cleanup: line length
2017-05-22 16:25:27 +10:00
e98652b64f
Cleanup: minor edits
2017-05-22 16:21:44 +10:00
68d8618538
Gawain: promote 10_10_10 to first-class vertex format
...
This format is part of OpenGL 3.3, and one of the reasons for choosing 3.3 over 3.2.
Instead of checking #if USE_10_10_10 just use it wherever needed.
2017-05-21 15:59:34 -04: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
4c3382d55f
GPUTexture: Enabling R32 format for linear depth encoding.
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
07dd208209
Cleanup: warnings
2017-05-21 09:39:31 +10:00
53d1026f2a
DwM: assert when uniforms aren't found
...
More useful when this error shows up early
2017-05-20 23:54:58 +10:00