Commit Graph

529 Commits

Author SHA1 Message Date
Guillaume Abadie
b623535a2b Exposes in the TransformPosition material expression the transformations from and to translated world space
#code_review: Martin.Mittring

[CL 2594314 by Guillaume Abadie in Main branch]
2015-06-19 16:48:07 -04:00
Guillaume Abadie
127d951967 Cleans up experimental code for panini projection.
#code_review: Martin.Mittring

[CL 2594183 by Guillaume Abadie in Main branch]
2015-06-19 15:52:57 -04:00
Marcus Wassmer
f698ca0d9e Fix Texture updating shaders for PS4
#codereview Lee.Clark

[CL 2590800 by Marcus Wassmer in Main branch]
2015-06-17 16:02:34 -04:00
David Ratti
ab355e6c2d Integrate CL 2560104
[CL 2590781 by David Ratti in Main branch]
2015-06-17 15:54:26 -04:00
Daniel Wright
e0a92fca80 Area shadowing for precomputed shadows from stationary lights
* New light Lightmass setting 'bUseAreaShadowsForStationaryLight'
* Removed 'DistanceFieldPenumbraSize' project setting, uniform penumbra size comes from each light's LightSourceAngle or SourceRadius using a heuristic now

[CL 2590302 by Daniel Wright in Main branch]
2015-06-17 12:22:02 -04:00
Daniel Wright
9402538eea Fixed compute shader material compile error
[CL 2590300 by Daniel Wright in Main branch]
2015-06-17 12:20:39 -04:00
Daniel Wright
7e6278a0de Default gradient is non-zero vector
[CL 2590299 by Daniel Wright in Main branch]
2015-06-17 12:20:28 -04:00
Jack Porter
344443076e Fix render problems with large radius mobile point lights due to insufficient precision
[CL 2589763 by Jack Porter in Main branch]
2015-06-17 03:17:46 -04:00
Jack Porter
5111a72714 Fix Inverse Squared point lights on ES2
[CL 2589725 by Jack Porter in Main branch]
2015-06-17 00:59:45 -04:00
Guillaume Abadie
c3f7e14694 Exposes translated world position for the WorldPosition node in the vertex and tessellation shaders
#code_review: Martin.Mittring

[CL 2588995 by Guillaume Abadie in Main branch]
2015-06-16 14:13:14 -04:00
Guillaume Abadie
620b119f8b Fixes the shader compilation failure of WorldPosition material expression node in tessellation shaders
#code_review: Martin.Mittring

[CL 2588762 by Guillaume Abadie in Main branch]
2015-06-16 11:53:52 -04:00
Olaf Piesche
9e27d3d27d Merging decal fading
//depot/UE4-UT/Engine/...

to //depot/UE4/Engine/...

[CL 2588622 by Olaf Piesche in Main branch]
2015-06-16 10:37:42 -04:00
Rolando Caloca
51624339ce UE4 - vk shader defines & window name
[CL 2588609 by Rolando Caloca in Main branch]
2015-06-16 10:28:53 -04:00
Marcus Wassmer
20f96ae049 Merge PS4 wave compiler support.
#codereview Lee.Clark

[CL 2588600 by Marcus Wassmer in Main branch]
2015-06-16 10:17:53 -04:00
Matt Kuhlenschmidt
375a2f18a6 Added support for materials to be used on Slate based fonts.
[CL 2588529 by Matt Kuhlenschmidt in Main branch]
2015-06-16 09:30:13 -04:00
Guillaume Abadie
c131baf9d4 Changes FMaterialVertexParameter::WorldPosition from non translated world position to translated world position for precision improvements
#code_review: Martin.Mittring

[CL 2587874 by Guillaume Abadie in Main branch]
2015-06-15 17:08:57 -04:00
Chris Bunner
3df0e631a4 Distortion pass uses stencil mask, optimizes lower screen coverages.
[CL 2587232 by Chris Bunner in Main branch]
2015-06-15 06:39:40 -04:00
Jack Porter
462f3d069f Added support for dynamic point lights on Mobile (UE-11983)
[CL 2586796 by Jack Porter in Main branch]
2015-06-12 22:12:38 -04:00
Martin Mittring
1d867bcc2d Added experimental volumetric decals (can be useful but for many applications it might not be fast enough)
defined by a distance function
 Material needs to output distance to an object through OpacityMask, given the LightVector
position.

 * can be quite slow (needs to evaluate the distance function for many steps) when large on screen
 * normal is reconstructed from the distance function (6 extra evaluations)
 * intersects with the scene like any other z buffer object
 * Distortions are possible but require more steps ()
 * can be animated but motionblur and TemporalAA will be problematic
 * shadow receiving, lighting, sorting all works like any opaque
 * can output any GBuffer attribute and use any existing shading model

not done yet:
 * shadow casting
 * quality settings (step count, hit threshold)
 * material normal/bump adjustment
 * optimizations

maybe later:
* transluceny volumetric e.g. clouds
* create material functions for the usual primitives and operations
  http://iquilezles.org/www/articles/distfunctions/distfunctions.htm

[CL 2586695 by Martin Mittring in Main branch]
2015-06-12 19:45:00 -04:00
Guillaume Abadie
38b40dc656 Fixes a screen space reflection artifact with r.PreViewTranslation = 0
#code_review: Martin.Mittring

[CL 2586678 by Guillaume Abadie in Main branch]
2015-06-12 19:39:17 -04:00
Guillaume Abadie
1e6f647910 Fixes a shader compilation failure when plugin-in const 0 to the material PixelDepthOffset input.
#code_review: Daniel.Wright

[CL 2586229 by Guillaume Abadie in Main branch]
2015-06-12 15:29:12 -04:00
Nick Darnell
b43c10a755 Slate - IT'S FIXED! No more clip rounding error in Slate causing the last column or row of pixels to sometimes get clipped incorrectly. In slate we do pixel snapping on each vertex individually, which means that a box that's at x.3 and extends to w.7, will visually rendered at x to (w+1). The clipping rect was determined in pre-vertex rounding space, the clip rect is represented as origin, extentsX and extentsY. The extents are all computed in pre-pixel snapping space, so a box that goes from x.3 to w.7, becomes an extents of z.4, and is then rounded down. Meaning that on certain pixel offsets, some boxes ended up with an extents that is 1 pixel smaller from the visual version where each vertex is rounded individually. The solution is to perform pixel snapping on the axis aligned clipping rect, which is then used to create the rotated clip rect which is formed with the extents, then to transform it, and again pixel snap.
Also removing the option to use halfs for clipping data when sending it to the pixel shader as it doesn't make a ton of sense to keep this codepath available after discussing it with the others working on Slate.

#codereview matt.kuhlenschmidt nick.atamas wes.hunt

[CL 2583548 by Nick Darnell in Main branch]
2015-06-10 18:48:52 -04:00
Nick Darnell
d3a71caef3 Slate - Disabling the float16 precision version of the slate shader on all platforms. Since the clip values are all in window space, it's terribly easy on modern monitors to exceed single digit precision (2048), causing multiple columns worth of additional pixel clipping erroneously. Tweaking the way we pass that down to the vertex shader for compile so that it now properly algins with whatever we set the option to in C++. We can consider turning it on for platforms where it wont matter, like the consoles 1920 will be your largest visible value.
#codereview matt.kuhlenschmidt nick.atamas

[CL 2582065 by Nick Darnell in Main branch]
2015-06-09 19:05:11 -04:00
James Moran
ad3fa89cc7 Fix for reading wrong texture channel in WebGL. Fixes UE-15719.
[CL 2581086 by James Moran in Main branch]
2015-06-09 07:03:23 -04:00
Guillaume Abadie
82117dbbfc Fixes broken builds caused by a shader compilation failure in FilterPixelShader.usf
#code_review: Martin.Mittring

[CL 2577020 by Guillaume Abadie in Main branch]
2015-06-04 11:10:02 -04:00