Commit Graph

50 Commits

Author SHA1 Message Date
Marcus Wassmer
edea678466 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3072736)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3055495 on 2016/07/19 by Marc.Olano

	Allow Noise material node on mobile

	No reason to exclude mobile, except for Fast Gradient Noise, which uses 3D textures. Allow this node on ES2 for all of the other noise functions.

	#jira UE-33345

Change 3055602 on 2016/07/19 by Luke.Thatcher

	Fix crash bug in D3D11 RHI when selecting adapters.
	 - Array of adapter descriptors will get out of sync with the adapter index if any adapter is skipped (e.g. the Microsoft Basic Render Device).
	#jira UE-33236

Change 3055890 on 2016/07/19 by Daniel.Wright

	Improved the assert in LoadModuleChecked so we won't have to check the log to see which module it was

Change 3055891 on 2016/07/19 by Daniel.Wright

	Fixed Global Distance Field not dirtying previous object position on UpdateTransform - left behind a phantom shadow on teleports
	* This will effectively double partial distiance field update costs until clipping of the update regions is implemented

Change 3055892 on 2016/07/19 by Daniel.Wright

	Higher poly light source shapes drawn into reflection captures

Change 3055893 on 2016/07/19 by Daniel.Wright

	More info to 'Incompatible surface format' GNM assert

Change 3055904 on 2016/07/19 by Daniel.Wright

	Reflection environment normalization improvements
	* Indirect specular from reflection captures is now mixed with indirect diffuse from lightmaps based on roughness, such that a mirror surface will have no mixing.  Reflection captures now match other reflection methods like SSR and planar reflections much more closely.
	* When a stationary skylight is present, Reflection captures are now normalized as if the initial skylight will always be present, giving consistent results with static skylight reflections.  The skylight and reflection captures with sky removed used to be normalized separately, compacting the relative brightness between the sky and scene.
	* Added r.ReflectionEnvironmentLightmapMixing for debugging lightmap mixing issues.  This toggle was previously not possible due to prenormalizing the capture data.
	* The standard deferred reflection path (r.DoTiledReflections 0) can no longer match the results of the compute path or base pass reflections, as it would require MRT to accumulate the average brightness
	* Removed unused r.DiffuseFromCaptures
	* Cost of reflection environment on PS4 increased from 1.52ms -> 1.75ms with this change, but decreased back to 1.58ms by reducing tile size to 8x8

Change 3055905 on 2016/07/19 by Daniel.Wright

	Workaround for RTDF shadows not working on PS4 - manual clear of ObjectIndirectArguments instead of RHICmdList.ClearUAV

Change 3059486 on 2016/07/21 by Nick.Penwarden

	Testing #uecritical

Change 3060558 on 2016/07/21 by Daniel.Wright

	Fixed skylight with specified cubemap being black

Change 3061999 on 2016/07/22 by Marcus.Wassmer

	Disable old AMD driver hacks for DX11.  QA has already tested with them off and given thumbs up.

Change 3062241 on 2016/07/22 by Daniel.Wright

	Fixed bug in RHISupportsSeparateMSAAAndResolveTextures that was preventing MSAA for any non-Vulkan platforms

Change 3062244 on 2016/07/22 by Daniel.Wright

	Discard old prenormalized reflection environment data on load

Change 3062283 on 2016/07/22 by Daniel.Wright

	MSAA support for the forward renderer
	* AntiAliasing method is chosen in Rendering project settings, DefaultSettings category
	* Deferred passes like shadow projection, fogging and decals are only computed per-pixel and can introduce aliasing
	* Added Rendering project setting VertexFoggingForOpaque, which makes height fog cheaper and work properly with MSAA
	* The AntiAliasing method in PostProcessSettings has been removed, this may affect existing content
	* Added r.MSAACount which defaults to 4
	* Integrated wide custom resolve filter from Oculus renderer, controlled by r.WideCustomResolve
	* GBuffer targets are no longer allocated when using the forward renderer
	* Decal blend modes that write to the GBuffer fall back to SceneColor emissive only

Change 3062666 on 2016/07/23 by Uriel.Doyon

	Added legend to streaming accuracy viewmodes
	Added a new helper class FRenderTargetTemp to be reused in different canvas rendering.
	Exposed the pass through pixel shader so that it can be reused.
	#review-3058986 @marcus.wassmer

Change 3063023 on 2016/07/25 by Luke.Thatcher

	Fix "RecompileShaders Changed" when using Cook On The Fly.
	#jira UE-33573

Change 3063078 on 2016/07/25 by Ben.Woodhouse

	Add -emitdrawevents command line option to emit draw events by default. This is useful when capturing with Renderdoc

Change 3063315 on 2016/07/25 by Ben.Woodhouse

	Fix div 0 in motion blur. This caused artifacts in some fairly common cases
	#jira UE-32331

Change 3063897 on 2016/07/25 by Uriel.Doyon

	Fixed missing qualifier on interpolants

Change 3064559 on 2016/07/26 by Ben.Woodhouse

	Fix for cooker crash with BC6H textures (XB1, but may affect other platforms). Also fixes corruption issue with texture slices not being a multiple of 4 pixels (expanding as necessary), courtesy of Stu McKenna at the Coalition
	Tested fix on xbox, PC and PS4, using QAGame
	#jira UE-28592

Change 3064896 on 2016/07/26 by Ben.Woodhouse

	Fix compile errors on PS4 (the variable "sample" was conflicting with a keyword, causing compile errors). Also making encoding consistent on new shaders (ansi rather than UTF16)

Change 3064913 on 2016/07/26 by Ben.Marsh

	Fix spelling of "Editor, Tools, Monolithics & DDC" node in Dev-Rendering build settings.

Change 3065326 on 2016/07/26 by Uriel.Doyon

	Fixed UnbuiltInstanceBoundsList not being reset correctly, creating broken rendered primitives.
	#jira UE-32585

Change 3065541 on 2016/07/26 by Daniel.Wright

	Materials with a GBuffer SceneTexture lookup will fail to compile with forward shading

Change 3065543 on 2016/07/26 by Daniel.Wright

	Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413

Change 3065545 on 2016/07/26 by Daniel.Wright

	Added material property bNormalCurvatureToRoughness, which can slightly reduce aliasing.  Tweakable impact with r.NormalCurvatureToRoughnessScale.
	Fixed reflection capture feedback with base pass reflections

Change 3066783 on 2016/07/27 by Daniel.Wright

	Moved PreShadowCacheDepthZ out of FSceneRenderTargets and into FScene, which fixes issues with cached preshadows and multiple scenes, including HighResScreenShot
	Disabled GMinScreenRadiusForShadowCaster on per-object shadows, which fixes popping when trying to increase shadow resolution from the defaults (r.Shadow.TexelsPerPixel 3)

Change 3066794 on 2016/07/27 by Daniel.Wright

	Fixed crash rendering planar reflections due to NULL PostProcessSettings

Change 3067412 on 2016/07/27 by Daniel.Wright

	Fix for OpenGL4 with uint interpolator

Change 3068470 on 2016/07/28 by Daniel.Wright

	Fixed crash rendering translucency with translucent shadows which were determined to be invisible

Change 3069046 on 2016/07/28 by Daniel.Wright

	Handle null Family in SetupAntiAliasingMethod

Change 3069059 on 2016/07/28 by Daniel.Wright

	Added r.ReflectionEnvironmentBeginMixingRoughness (.1) and r.ReflectionEnvironmentEndMixingRoughness (.3), which can be used to tweak the lightmap mixing heuristc, or revert to previous behavior (mixing even on a mirror surface)

Change 3069391 on 2016/07/28 by Daniel.Wright

	Fixed AverageBrightness being applied to reflections in gamma space in the mobile base pass, causing ES2 reflections to be overbright

Change 3070369 on 2016/07/29 by Daniel.Wright

	r.ReflectionEnvironmentBeginMixingRoughness and r.ReflectionEnvironmentEndMixingRoughness set to 0 can be used to achieve old non-roughness based lightmap mixing

Change 3070370 on 2016/07/29 by Daniel.Wright

	Bumped reflection capture DDC version to get rid of legacy prenormalized data

Change 3070680 on 2016/07/29 by Marcus.Wassmer

	Fix slate ensure that is most likely a timing issue exposed by rendering.
	#ue-33902

Change 3070811 on 2016/07/29 by Marcus.Wassmer

	Fix ProjectLauncher errors when loading old versions
	#ue-33939

Change 3070971 on 2016/07/29 by Uriel.Doyon

	Updated ListTextures outputs to fix cooked VS non cooked differences and also to put enphasis on disk VS memory

Change 3071452 on 2016/07/31 by Uriel.Doyon

	Updated the legend description for the (texture streaming) primitive distance accuracy view mode

[CL 3072803 by Marcus Wassmer in Main branch]
2016-08-01 18:56:49 -04:00
Gil Gribb
223aefa047 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

[CL 2868391 by Gil Gribb in Main branch]
2016-02-16 05:48:48 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Marc Audy
e5bb9b4d0d Integrate all non-branch Engine/Source changes from //depot/UE4-Orion to //depot/UE4
#lockdown Ben.Marsh
#platformnotify Josh.Adams

[CL 2718236 by Marc Audy in Main branch]
2015-10-06 15:59:09 -04:00
Marcus Wassmer
445543fd51 First pass at new RHITransitionResources API.
Rendertarget transitions are completed and validated on DX11 and PS4 RHI's.

[CL 2700116 by Marcus Wassmer in Main branch]
2015-09-21 20:07:00 -04:00
Guillaume Abadie
5f189f0f5d Bug UE-20116: Fixes Screen Space Subsurface Scatering pass' regression brought by CL 2640696, outputing the gbuffer's diffuse color additionaly to the scene color, creating global ilumination changes when material using SSS are coming in and out of the camera frutsum.
#code_review: Martin.Mittring

[CL 2661045 by Guillaume Abadie in Main branch]
2015-08-19 11:28:54 -04:00
Ryan Vance
fec728074d Custom HMD post process mesh implementation.
Instead of rendering a full screen quad for post process passes, render a mesh which represents only the screen area visible in the HMD after distortion.
This cuts the cost of post processing ~10-15% with no visible difference.
Initial implementation for the Vive.

[CL 2644327 by Ryan Vance in Main branch]
2015-08-04 19:33:26 -04:00
Martin Mittring
fcffb8a9cb Improved SubsurfaceScatteringProfile quality, base color is now applied after scattering which gives crisper textures and more control.
This is more correct for scanned textures as they include scattering already. Affects the look of emissive lighting (rarely needed and can be fixed by content). All diffuse lighting for SubsurfaceScatteringProfile is now done without the BaseColor (minor performance cost) and reading the Lighting before the SubsurfaceScattering pass would be different.

Removed the need for a SceneColor alpha channel as lighting is now stored in a checkerboard pattern for diffuse and specular separate. Specular and diffuse lighting on Subsurface materials can appear a bit less crips.

This means the use of 32bit SceneColor (for better performance) is now possible (we might change the defaults soon).

[CL 2640696 by Martin Mittring in Main branch]
2015-07-31 14:26:40 -04:00
Martin Mittring
fa6cf3affe removed usnused code in SubSurfaceScattering
[CL 2640514 by Martin Mittring in Main branch]
2015-07-31 12:41:03 -04:00
Robert Manuszewski
8e6b194e44 [BuildWatcher] Fixing CIS on the Mac
#codereview Martin.Mittring

[CL 2637747 by Robert Manuszewski in Main branch]
2015-07-29 17:46:15 -04:00
Martin Mittring
ea4ccb1c25 fixed ScreenSpaceSubusrfaceScattering actifacts
- wasn't scaling right with ViewportSize, e.g. HighResScreenshot
 - Missing a horizontal line in the 2d kernel
 - Improved quality of the full res portion
 - refactored to avoid one full res pass
 - simplified Stereo rendering support
 - In single viewport case it now goes down to 32bit texture format afterwards (input can be 32/RGB or 64/RGBA as before, without alpha it can look bad)

[CL 2637623 by Martin Mittring in Main branch]
2015-07-29 16:42:44 -04:00
Martin Mittring
af7edf2d27 added r.SSS.HalfRes to get ScreenSpaceSubSurfaceScattering in higher quality (not yet optimized) as reference
[CL 2631509 by Martin Mittring in Main branch]
2015-07-23 18:12:09 -04:00
Martin Mittring
6814deb985 nicer cvar help
[CL 2625994 by Martin Mittring in Main branch]
2015-07-20 12:22:51 -04:00
Martin Mittring
3eec69cda7 changed all direct access to PassOutputs to GetInput() to allow internal restructuring
[CL 2611739 by Martin Mittring in Main branch]
2015-07-06 18:04:49 -04:00
Martin Mittring
3dbde88871 fixed typo
[CL 2586757 by Martin Mittring in Main branch]
2015-06-12 20:26:35 -04:00
Gil Gribb
356a7d8f96 UE4 - Large upgrade to parallel rendering. No longer block per pass. Several RHI cmdlist passthrough functions added and implemented on the consoles
[CL 2570510 by Gil Gribb in Main branch]
2015-05-29 10:47:57 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Martin Mittring
7ddf949bee fixed using SubsurfaceProfile with LPV
[CL 2397916 by Martin Mittring in Main branch]
2015-01-05 16:36:26 -05:00
Martin Mittring
59db2201f8 Fixed SubsurfaceScatteringProfile, recent full resolution mix caused discoloration
#lockdown:Zachary.EdgertonJones

[CL 2390345 by Martin Mittring in Main branch]
2014-12-16 16:01:12 -05:00
Martin Mittring
9372a89316 better quality for SubsurfaceProfile, full res for the non subsurface scattering light contribution (appears sharper but can be tweaked very quickly changing the SubSurfaceColor brightness)
[CL 2384584 by Martin Mittring in Main branch]
2014-12-10 18:28:58 -05:00
Martin Mittring
79395a24aa fix / improve
FORT-2471 Player character appears blurry with certain video settings
(Blurry is now only on Subsurface, there it could be a bit better using the non subsurface constribution as full res)

[CL 2383733 by Martin Mittring in Main branch]
2014-12-10 11:59:36 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Martin Mittring
406948bb6c fixed crash if no SubsurfaceProfile was used and VisualizeSubsurfaceProfiles gets activated
[CL 2365512 by Martin Mittring in Main branch]
2014-11-19 17:01:23 -05:00
Rolando Caloca
d7085db04c UE4 & 4.6 - Enable subsurface scattering for OpenGL
#codereview Martin.Mittring

[CL 2365497 by Rolando Caloca in Main branch]
2014-11-19 17:00:58 -05:00
Martin Mittring
5c1516bde7 fixed SubsurfaceSSS for splitscreen (minor extra cost even for non splitscreen but that can be optimized later)
[CL 2338750 by Martin Mittring in Main branch]
2014-10-23 13:36:07 -04:00