Commit Graph

37 Commits

Author SHA1 Message Date
Gil Gribb
f2a51068c0 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2998063)
#lockdown nick.penwarden

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

Change 2981877 on 2016/05/18 by Rolando.Caloca

	DR - Fix some PVS warnings
	- Removed 'uniform' as a keyword on hlslcc as it's ignored/causes issues/doesn't really optimize
	#jira UE-30996

Change 2981966 on 2016/05/18 by Rolando.Caloca

	DR - Fix OpenGL crash quitting editor
	#jira UE-25549

Change 2982072 on 2016/05/18 by Uriel.Doyon

	Fixed a "Build Texture Streaming" crash related to custom outputs.
	Fixed issue with debug view mode and translucent primitives
	Fix bug with visibility that made some texture low res.
	Enabled per instance visibility in the texture streaming order (in game only).
	Improved InvestigateTexture Logs.
	Tweaked the mip computations from screen size.

Change 2982077 on 2016/05/18 by Uriel.Doyon

	Removed debug options!

Change 2982108 on 2016/05/18 by Olaf.Piesche

	#jira UE-30772
	moving AMD hacks to console variables

Change 2982422 on 2016/05/18 by Gil.Gribb

	UE4 - Potential crash fix on foliage occlusion queries and reflection captures.

Change 2982547 on 2016/05/18 by Martin.Mittring

	UE-26409 Crash when Light Propagation Volume Plugin is disabled on a Project

Change 2982548 on 2016/05/18 by Martin.Mittring

	Refactored MRT and outer Pixel Shader output to a struct
	to allow it passed in/out of functions allowing for a more readable code (less #ifdefs, reducing the boolean hell)
	Needed for upcoming MeshDecals

Change 2982601 on 2016/05/18 by Daniel.Wright

	Movable skylight now matches stationary for subsurface shading models
	* Two sided was broken in 4.11, Subsurface had never been handled

Change 2982603 on 2016/05/18 by Daniel.Wright

	DrawMaterialToRenderTarget / BeginDrawCanvasToRenderTarget now work correctly with material parameter collections and Time
	* FCanvas stores an optional scene to render to, UWorld caches the UCanvas needed for implementing these functions

Change 2982618 on 2016/05/18 by Daniel.Wright

	Better categories for some Rendering project settings

Change 2982619 on 2016/05/18 by Daniel.Wright

	Scene capture 2d improvements
	* Orthographic projection supported
	* Opacity is now captured in alpha, allows partial rendering in a scene capture and compositing into another scene later
	* Various GBuffer attributes are now available to be captured, including depth
	* Changed Blueprint capture function to CaptureScene, which happens immediately (was previously deferred), allowing multiple captures with different parameters

Change 2982664 on 2016/05/18 by Daniel.Wright

	Fading out planar reflections based on roughness since they don't have support for variable roughness (fade starts at .2 roughness, ends at .3)

Change 2982684 on 2016/05/18 by Martin.Mittring

	polish ImageValidator

Change 2982685 on 2016/05/18 by Martin.Mittring

	show testimage on sm4 as well

Change 2982736 on 2016/05/18 by Uriel.Doyon

	Improved overbudget retention logic.
	Updated ListStreamingTextures stats.

Change 2982854 on 2016/05/18 by Martin.Mittring

	ImageValidator can now save/load IVxml file

Change 2982863 on 2016/05/18 by Daniel.Wright

	Fixed shader compile error

Change 2982864 on 2016/05/18 by Daniel.Wright

	Removed deprecation message

Change 2982927 on 2016/05/18 by Martin.Mittring

	ImageValidator is now sorting by time

Change 2983743 on 2016/05/19 by Chris.Bunner

	Saturated tri-planar UV function outputs to prevent negative blending
	#jira UE-30964

Change 2983747 on 2016/05/19 by Martin.Wilson

	Fix for morph curves not getting applied to meshes in cooked builds (smart names were not being corrected).

Change 2984008 on 2016/05/19 by Brian.Karis

	New contact shadows feature.

	Hair uses ray cast for nonshadow lights

Change 2984009 on 2016/05/19 by Brian.Karis

	changed to ShadowedBits

Change 2984054 on 2016/05/19 by Brian.Karis

	Deleted old motion blur

Change 2984420 on 2016/05/19 by Daniel.Wright

	Shorter display name for WorldPosition material node

Change 2984423 on 2016/05/19 by Daniel.Wright

	Fixed WorldPosition and ScreenPosition for downsampled separate translucency by scaling SvPosition before those computations.  The View uniform buffer still contains incorrect buffer sizes for this pass.

Change 2984432 on 2016/05/19 by Rolando.Caloca

	DR - Disable PPCombineLUT for Vulkan to work around glslang issue (will need to be reenabled when adding SM4/5 path)

Change 2985415 on 2016/05/20 by Daniel.Wright

	Added a Texture2D exporter for .hdr
	Texture2D exporters now implement SupportsObject properly, so you only see extensions that are valid based on the format

Change 2985439 on 2016/05/20 by Daniel.Wright

	Scene color alpha clear value validation

Change 2987173 on 2016/05/23 by Martin.Mittring

	ImageValidator Report with Thumbnail (cannot be copied and pasted into email), non Thumbnail version could be.

Change 2987248 on 2016/05/23 by Martin.Mittring

	ImageValidator: added Summary, removed timer hack

Change 2987369 on 2016/05/23 by Martin.Mittring

	ImageValidator polish

Change 2987390 on 2016/05/23 by Brian.Karis

	Improvement to temporal aa sharpness and speed.

Change 2988038 on 2016/05/24 by Gil.Gribb

	Merging //UE4/Dev-Main@2987977 to Dev-Rendering (//UE4/Dev-Rendering)

Change 2988304 on 2016/05/24 by Martin.Mittring

	added const to prevent coding errors

Change 2988332 on 2016/05/24 by Brian.Karis

	Fixed motion blur crash on SM4

Change 2988446 on 2016/05/24 by Martin.Mittring

	nicer UI

Change 2988990 on 2016/05/24 by Martin.Mittring

	fixed UE-31227 Building lighting produces bad results
	#jira:UE-31227

Change 2989729 on 2016/05/25 by Uriel.Doyon

	Fixed lightmaps and shadowmaps having low resolutions after building the lighting.
	#jira UE-31254

Change 2989752 on 2016/05/25 by Olaf.Piesche

	CVar to disable/freeze GPU particle simulation

Change 2989811 on 2016/05/25 by Daniel.Wright

	Making use of MATERIALBLENDING_ANY_TRANSLUCENT

Change 2989812 on 2016/05/25 by Daniel.Wright

	Hide DFGI show flags from UI

Change 2989901 on 2016/05/25 by Daniel.Wright

	Height fog now works properly in planar reflections
	* The ray used for computing fog is first clipped by the reflection plane

Change 2989904 on 2016/05/25 by Daniel.Wright

	Always use PF_FloatRGBA for LightAccumulation to guarantee alpha channel and negative range

Change 2989991 on 2016/05/25 by Daniel.Wright

	Improved usability for DBuffer Decals
	* 'Show Decals' works correctly, previously would fetch from uninitialized textures
	* DBuffer being enabled forces a full prepass, previously decals would render incorrectly unless correct settings of r.EarlyZPass were used
	* Improved the PrePass draw event to indicate whether it's full or partial
	* Materials using DBuffer blend modes will fail to compile when the DBuffer project setting is disabled, instead of just being invisible
	* r.EarlyZPass can now be changed at runtime, which is useful for profiling

Change 2990008 on 2016/05/25 by Daniel.Wright

	Fixed capsule shadows on skeletal meshes with scaling

Change 2990274 on 2016/05/25 by Daniel.Wright

	Fixed DFAO (from cl 2961310)

Change 2990304 on 2016/05/25 by Martin.Mittring

	OR-22233 GPU Sprites invisible unless solo'd
	#jira:OR-22233

Change 2990309 on 2016/05/25 by Martin.Mittring

	Added SubDSurface actor (using CPU code of OpenSubDiv), component, asset as starting point for more work in that direction,
	(Early work in progress)

Change 2990363 on 2016/05/25 by Daniel.Wright

	Spreading precomputed visibility to neighbors now uses a 2d grid to find neighbors, speeds up the process for 800k cells from 40 mins to 20s

Change 2990392 on 2016/05/25 by Daniel.Wright

	Added r.AOSpecularOcclusionMode, which determines how specular should be occluded by DFAO
	0: Apply non-directional AO to specular.
	1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO.  This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.
	2: (experimental) Cone trace through distance fields along the reflection vector.  Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.

Change 2990454 on 2016/05/25 by Martin.Mittring

	polish readme

Change 2990610 on 2016/05/25 by Martin.Mittring

	fixed building with VS2015, the right OpenSubDiv .lib files are missing, temporarily disabled the relevant code
	#code_review:Shane.Caudle

Change 2990754 on 2016/05/25 by Zabir.Hoque

	Fix compiler warning: C4456: declaration of 'NewStaticMesh' hides previous local declaration.

	#CodeReview: Martin.Mittring

Change 2990801 on 2016/05/25 by Zabir.Hoque

	Only allocate reflection capture cubemaps if we are actually doing a reflection capture. The old approach always allocated based on CVar and worked with a warning on D3D since if SRC was larger than the DST, the extra SRC area was dropped. New approach only allocates when necessary and is correctly sized everytime. Also hardened access to CVar and what users are allowed to set.

	#CodeReview Marcus.Wassmer, Rolando.Caloca, Daniel.Wright, Martin.Mittring

Change 2991169 on 2016/05/26 by Martin.Mittring

	fixed compiler warning
	WARNING: Non-editor build cannot depend on non-redistributable modules. Details:
	#lockdown: gil.gribb

Change 2991238 on 2016/05/26 by Martin.Mittring

	fixed build
	fatal error C1083: Cannot open include file: 'RawMesh.h': No such file or directory  (when RawMesh is not part of PrivateDependencyModuleNames in Engine.Build.cs)
	#lockdown:Gil.Gribb

Change 2991726 on 2016/05/26 by Daniel.Wright

	Subsurface materials are now handled with simple forward shading
	#jira OR-22237
	#lockdown gil.gribb

Change 2991727 on 2016/05/26 by Daniel.Wright

	Emissive decals are now supported with simple forward shading
	#jira OR-22282
	#lockdown Gil.Gribb

Change 2994849 on 2016/05/31 by Daniel.Wright

	Disabled fix for WorldPosition and ScreenPosition in downsampled separate translucency, since it breaks GetScreenAlignedUV (used in DepthFade), since the uniform buffer still contains full res buffer sizes
	#lockdown Gil.Gribb

Change 2997243 on 2016/06/01 by Gil.Gribb

	Merging //UE4/Dev-Main@2996565 to Dev-Rendering (//UE4/Dev-Rendering)
	#lockdown nick.penwarden

[CL 2998067 by Gil Gribb in Main branch]
2016-06-02 13:13:43 -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
Nick Penwarden
6d5e1da95f Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown ben.marsh

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

Change 2774277 on 2015/11/19 by Gil.Gribb

	UE4 - Did minor optimizations to the PS4 RHI and drawlists.

Change 2791226 on 2015/12/04 by Uriel.Doyon

	Added source code for Embree 2.7.0
	Removed duplicate files from the /doc folder.

Change 2800193 on 2015/12/11 by Marcus.Wassmer

	SSAO AsyncCompute support.
	#rb Martin.Mittring

Change 2801631 on 2015/12/14 by Olaf.Piesche

	Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic

	#rb martin.mittring

Change 2803240 on 2015/12/15 by Gil.Gribb

	UE4 - Added command to collect stats on spammy stats.

Change 2803476 on 2015/12/15 by Rolando.Caloca

	DR - Allow toggling compute skin dispatch at runtime
	- r.SkinCacheShaders Now enable the shaders and feature
	- r.SkinCaching enables toggling at runtime
	- r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting
	- Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes)
	#codereview Marcus.Wassmer, Martin.Mittring

Change 2803940 on 2015/12/15 by Marcus.Wassmer

	Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes.  So far it looks like WaveLimits behave better in UE4.

	Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries.  In my testing this takes SSAO cost from .5ms -> .2ms.   However it had to be hacked to run without normals.  Hopefully Martin can get some real AsyncSSAO in.

	#rb Martin.Mittring
	#codereview Martin.Mittring

Change 2803999 on 2015/12/15 by Uriel.Doyon

	Refactored the shader complexity material override logic to allow other viewmodes shader overrides.
	TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming.
	WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming.
	Added an option to stream textures based on the AABB distance instead of using the sphere approximation.
	Added an option to only keep a the wanted mips.
	Moved optimization related viewmodes into a submenu to avoid polluting the interface.
	#jira UE-24502
	#jira UE-24503
	#jira UERNDR-89

Change 2804150 on 2015/12/15 by Olaf.Piesche

	make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency

	#rb martin.mittring

Change 2804367 on 2015/12/15 by Daniel.Wright

	Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map

Change 2805293 on 2015/12/16 by Olaf.Piesche

	logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.)

	#rb martin.mittring

Change 2805586 on 2015/12/16 by Zabir.Hoque

	Adding support for decals to fade and destroy themselves automatically.

	#CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche

Change 2807663 on 2015/12/17 by Rolando.Caloca

	DR - Remove expensive logging
	#codereview Marcus.Wassmer

Change 2807903 on 2015/12/17 by Zabir.Hoque

	Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints.

	#CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche

Change 2809261 on 2015/12/18 by Martin.Mittring

	Added VisualizeShadingModels to track down issues like that:
	  FORT-16913 Textures on Hero Mesh is not shown
	#rb:David.Hill
	#code_review:Bob.Tellez

Change 2810136 on 2015/12/21 by Rolando.Caloca

	DR - Added back draw event colors
	PR #1602
	#jira UE-21526
	#codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams

Change 2810680 on 2015/12/21 by Martin.Mittring

	moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering
	#test:editor

Change 2811205 on 2015/12/22 by Brian.Karis

	Pulled clear coat out of the reflection compute shader. Added permutation for skylight.

	Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade.

Change 2811275 on 2015/12/22 by David.Hill

	UE-24675
	#rb martin.mittring

	Corrected buffer-size related problem with fringe.

Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -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
Max Chen
d27d646cb7 Copying //UE4/Dev-Sequencer to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

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

Change 2719576 on 2015/10/07 by Chris.Wood

	Added check for stale BP classes in FKismetCompilerUtilities::IsTypeCompatibleWithProperty() to stop compiler errors during reinstancing.
	[UE-19795] - UMG Compiler error when adding variable to nested Widget

Change 2721474 on 2015/10/08 by Andrew.Rodham

	Sequencer: Movie render operations now successfully capture UMG UI

Change 2724958 on 2015/10/12 by Chris.Wood

	Added missing resource cleanup code to UMG widgets
	[UE-21874] - UWIdget classes with missing ReleaseSlateResources() overrides

	Added ReleaseSlateResources() to ListView, TileView and Slider widgets to reset shared pointers to slate widgets.

Change 2733562 on 2015/10/19 by Andrew.Rodham

	Sequencer: Fixed spawnables not working in sub-sequences

	 - The issue here was that sequence track instance updates had no knowledge of which sub-sequence they were being evaluated within. We now pass the active sequence instance into the relevant track instance functions.
	 - Also addressed some issues to do with save/restore state not getting called correctly on master tracks of sequence instances
	 - Tidied up spawn track editor

Change 2735264 on 2015/10/20 by Chris.Wood

	Improved Engine analytics handling for Editor and games
	[UE-21892] - Improve how Engine analytics are handled for Editor and games

	Changes:
	Added Privacy section to Editor settings
	Exposed editor analytics flag in Privacy options
	Added Details Customization to make this type of bool property clearer with extra info and hyperlink
	Changed AreEditorAnalyticsEnable() to use new flag
	Prevented analytics init when disabled by user
	Sending event and shutting down analytics when user opts out
	Add in-game project setting for anonymous game usage data
	Renamed and moved bHardwareSurveyEnabled
	Added message about exposing in-game setting to end users
	Added anonymous GUID id for in-game analytics
	Moved end user settings to global config (defaultengine.ini)
	Placeholder loc text on new options for now, pending legal wording sign-off

Change 2735866 on 2015/10/20 by Max.Preussner

	Async: Added ability to register an optional callback function that is executed when a Future completes

Change 2739793 on 2015/10/23 by Andrew.Rodham

	Sequencer: Refined movie scene capturing to ensure frame accuracies are maintained

	 - Aborting an in-progress capture now gracefully terminates the process (through a remote session command) to ensure it still creates a valid video
	 - Level sequece movie capture will now pick up a corresponding level sequence in the world, and use that to capture with. A new actor will be spawned at runtime with the correct asset, should one not already exist.
	 - Made -nomovie actually work
	 - Refined how active movie captures are managed
	 - Added option to 'stage' a sequence before starting the capture. This feature will set the sequence on its first frame for the preroll, to ensure that PPP effects are allowed time to stabilize

Change 2744402 on 2015/10/28 by Max.Preussner

	Sequencer: Separated track display names from track identifier names; code cleanup

Change 2745953 on 2015/10/29 by Max.Chen

	Sequencer: Attach to socket. Relative attachments.

	#jira UETOOL-463

Change 2747028 on 2015/10/29 by Max.Preussner

	Sequencer: Another overhaul of track display name handling; code and documentation cleanup pass.

Change 2758888 on 2015/11/09 by Chris.Wood

	Integrating changes -  4.10 to Dev-Sequencer

	From 4.10 branch fixes:
	Added check for debugger present when reporting abnormal termination to analytics. [UE-22844] CL 2750764
	Added FSystemWideCriticalSection for desktop platforms. Used by analytics to lock access to editor instances list in the OS. [UE-22844] CL 2753661
	Updating wording in privacy settings text. [UE-21892] CL 2753709
	Mac and Linux CIS fix [UE-22844] CL 2755381

Change 2761287 on 2015/11/10 by Max.Chen

	Sequencer: Add null check when updating the UMG preview if the sequencer doesn't exist/has been closed.

	#jira UE-5206

Change 2764945 on 2015/11/12 by Max.Preussner

	Core: Templatized TypeContainer implementation to allow for thread-safe objects; updated unit test

	Also fixes UE-13850

Change 2765036 on 2015/11/12 by Max.Preussner

	UdpMessaging: Fixed message serialization unit test (UE-22571)

	#jira: UE-22571

Change 2766149 on 2015/11/13 by Max.Preussner

	Media: Implemented event that gets triggered when playback reached the end of media

	Also fixes looping.

Change 2768157 on 2015/11/16 by Max.Preussner

	Media: Added .m4a to supported WMF file extensions

Change 2769200 on 2015/11/16 by Max.Chen

	Editor: Add broadcast messages when snapping objects.

	#jira UE-22680

Change 2773066 on 2015/11/19 by Chris.Wood

	Upload crashes from CRC to Data Router
	[UECORE-249] - Integrate Crash Report Client with the Data Router

	Upload to Receiver still active as we are running both in parallel for now.
2015-12-11 13:52:32 -05:00
Andrew Grant
c0452957a1 Merging latest engine code from Orion via //depot/UE4-To-//UE4/Main
[CL 2744667 by Andrew Grant in Main branch]
2015-10-28 08:58:16 -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
Martin Mittring
0858851de9 Postprocessing optimization: In rare cases some composition graph nodes have been processed without the actual need
[CL 2687097 by Martin Mittring in Main branch]
2015-09-10 17:12:35 -04:00
Martin Mittring
990a6d2bda fixed UERNDR-75 The near depth of field blur should occur after separate translucency is merged in to the final frame buffer to avoid errors
We now occlude Separate Transluceny by new Gaussian DOF.

Details: optimized one full res pass if GaussianDOF with SeparateTranslucency is used. NearDOF is now occlusing/hiding SeparateTransluceny which allows DOFVignette to work better and it seems more right in general. If Far and Near DOF is used with Gaussian DOF it now requires another half res setup pass and full res composite pass.
Added enum to allow for 3 custom colors if a texture is not bound.

[CL 2656232 by Martin Mittring in Main branch]
2015-08-14 11:59:44 -04:00
Ryan Vance
3fe66f523e Added hidden and visible area meshes for the DK2 and Crescent Bay HMDs
Consolidated the visible and hidden area meshes into a single class that can be used by all HMD clients
Some house cleaning

[CL 2648164 by Ryan Vance in Main branch]
2015-08-07 13:50:07 -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
Terence Burns
2116d6495c Even more shadow variable issue fixes
Fixed an issue with multiple declarations of a niagara stat, was only sometimes an issue in unity builds.

[CL 2613338 by Terence Burns in Main branch]
2015-07-08 06:06:55 -04:00
Martin Mittring
b876e601e5 enabled new Composition Graph order (node creation order), should not make a difference, in rare cases it could execute more nodes (if they were not connected up before which shouldn't be the case)
[CL 2612657 by Martin Mittring in Main branch]
2015-07-07 14:09:58 -04:00
Martin Mittring
f135e6b69c added r.CompositionGraphOrder, default is not changed
help text:
 Defines in which order the nodes in the CompositionGraph are executed (affects postprocess and some lighting).
 Option 1 provides more control, which can be useful for preserving ESRAM, avoid GPU sync, cluster up compute shaders for performance and control AsyncCompute.
  0: tree order starting with the root, first all inputs then dependencies (classic UE4, unconnected nodes are not getting executed)
  1: RegisterPass() call order, unless the dependencies (input and additional) require a different order (might become new default as it provides more control, executes all registered nodes

[CL 2612633 by Martin Mittring in Main branch]
2015-07-07 13:58:55 -04:00
Brian Karis
a8d3b0b57e Motion blur optimizations. Still in progress.
Fixed temporal aa with pause. Requires r.TemporalAAPauseCorrect 1.

[CL 2596308 by Brian Karis in Main branch]
2015-06-22 19:08:33 -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
Martin Mittring
5ade321069 Minor refactor to the CompositingGraph, allowing parts of the DAG/Graph to be executed before other parts which is useful for upcoming AsyncCompute or to control execution order in general.
API change: Dependency to root is is no longer needed, call Process() with the node directly.

[CL 2545660 by Martin Mittring in Main branch]
2015-05-11 13:36:07 -04:00
Marc Audy
42f614c946 Fix shadowed variables
[CL 2478499 by Marc Audy in Main branch]
2015-03-13 10:01:08 -04:00
Marc Audy
037d007078 Fix shadowed variables
[CL 2471506 by Marc Audy in Main branch]
2015-03-06 15:13:38 -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
Richard TalbotWatkin
2c4a2255a8 High res screenshots now output as png rather than bmp. Slight refactor.
#ttp 348615 - EDITOR: MAC: High resolution screenshot outputs to BMP which mac cant open
#branch UE4
#proj Editor.UnrealEd, Runtime.Engine, Runtime.Core

[CL 2322274 by Richard TalbotWatkin in Main branch]
2014-10-08 02:52:01 -04:00
Martin Mittring
5441765d0f added filtered option to the SceneTextures for PostprocessInput0..6, doesn't work on OpenGL yet
[CL 2316113 by Martin Mittring in Main branch]
2014-10-01 12:14:57 -04:00
Martin Mittring
55d81801d6 removed not needed texture bindings (was needed when we had DX9)
[CL 2315993 by Martin Mittring in Main branch]
2014-10-01 11:09:15 -04:00
Graeme Thornton
df9dbd5ae3 Continued in-editor mobile preview work
- Removed default shader platform parameter from GetGlobalShaderMap()
 - Added an inline overload of GetGlobalShaderMap() that takes a feature level instead, and translates to the correct shader platform
 - Cached feature level on FSceneView for faster access
 - Cached shader map on FViewInfo for faster access
 - Cached featurelevel/shadermap on rendering composition graph execution context, for faster access

Fixed a couple of crashes when switching feature level dynamically
 - Needed to allow certain shader permutations to be generated if feature level was ES2, but still on a PC platform. (i.e. hitproxy shaders, and basepass shaders used by editor primitives system)

#codereview Nick.Penwarden

[CL 2275937 by Graeme Thornton in Main branch]
2014-08-28 06:22:54 -04:00
Daniel Wright
ea1d38c1c3 FPrimitiveSceneProxy::PreRenderView / DrawDynamicElements refactored into GetDynamicMeshElements
* Both paths still exist in code during this transition.  The GetDynamicMeshElements path is currently disabled, enable with 'r.UseGetDynamicMeshElements 1'.
* DrawDynamicElements was called once per pass, all sorts of pass-specific cruft had leaked in along with short-term modifications of shared structures (vertex factories and material proxies).  DrawDynamicElements was not const, so a bunch of 'update' type work had leaked in.  Various PreRenderView implementations relied on the view being in the view family.
* GetDynamicMeshElements is called once in InitViews, and the resulting meshes are used in various passes.  GetDynamicMeshElements is const and must not modify the proxy, update work should be pushed to the proxy from the game thread.  GetDynamicMeshElements can be called on views that are not in the view family, which allows a proper view for shadow depth passes.
* View mode override functionality moved out of the individual proxies into a centralized place, ApplyViewModeOverrides
* GPU particles not working yet, FRecastRenderingSceneProxy not implemented

[CL 2253795 by Daniel Wright in Main branch]
2014-08-12 18:24:52 -04:00