- Forward renderer clears background color in editor mode.
- Remove TAA jitter from proj matrices after ES2 TAA post process completes. (allows stable rendering of editor primitives)
- Moved ES2 post process editor composite primitive pass to after tonemap. (fixes incorrect grid colour)
- Add opacity mask for editor prim materials to forward base pass shader. (fixes perspective grid rendering)
- Add Basic ES2 post process pass for !mobileHDR scenario, enabling editor's primitives to still be rendered.
- DrawNewGrid only bails out if the material it's about to use hasnt compiled. (allows ES2 to render 'texture solution' grid implementation)
- Prevent some view elements drawing 2x when ShowFlags.CompositeEditorPrimitives == true.
#codereview nick.penwarden
[CL 2413899 by Allan Bentham in Main branch]
- Made a new EmptyVertexDeclaration, for vertex shaders that don't need any inputs (eg, they generate verts based on vertex index)
- Split BeginRenderingSceneColor into 2 functions, adding BeginRenderingGBuffer
#codereview nick.penwarden,martin.mittring,rolando.caloca
[CL 2339044 by Josh Adams in Main branch]
* Still disabled as Metal requires a horrible workaround/hack
* Remove GSupportsGSRenderTargetLayerSwitchingToMips workaround
[CL 2295640 by Rolando Caloca in Main branch]
* 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]
- ES2 postprocessing really needs to have a case that can handle stereo views. Until that is done, just run the post with the first view expanded to cover the entire stereo buffer.
- This very likely doesn't work in all cases as some of the view values will not be valid, but it works in simple cases.
[CL 2120293 by JJ Hoesing in Main branch]
Fixes TTP 335869 - UE4: RENDERING: CRITICAL: EDITOR: CRASH: Occurs when launching mobile preview on the StarterMap using the Asus UX31 Sandy Bridge Ultrabook
[CL 2119491 by Graeme Thornton in Main branch]