Commit Graph

34 Commits

Author SHA1 Message Date
Gil Gribb
e631ac5ea3 UE4 - support for dithered LOD transitions on static meshes (that don't move) -- also fixed parallel render thread updates for spline meshes
[CL 2524405 by Gil Gribb in Main branch]
2015-04-24 11:20:23 -04:00
Rolando Caloca
ce168f2846 UE4 - Renamed depth compare enums, changed some checks to static_asserts
[CL 2498658 by Rolando Caloca in Main branch]
2015-04-01 10:53:07 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Rolando Caloca
cb32891b3c UE4 - Added sanity checks for Inverted/Normal Depth Buffers; use ERHIZBuffer::NearPlane & FarPlane to switch from 0-1 to 1-0 on Depth
- Added shader define HAS_INVERTED_Z_BUFFER
- Added RHIHasInvertedZBuffer()
#codereview Martin.Mittring, Brian.Karis, Nick.Penwarden

[CL 2497481 by Rolando Caloca in Main branch]
2015-03-31 14:02:45 -04:00
Allan Bentham
4dc5582a40 Fix for UE-7660 - Grid in orthographic view becomes distorted in Preview Rendering Level ES2
- 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]
2015-01-21 11:48:05 -05:00
Allan Bentham
2261741dcd fix for UE-7290
Editor primitives use forward basepass when ES2 feature level is active.

#codereview nick.penwarden

[CL 2404705 by Allan Bentham in Main branch]
2015-01-13 10:44:59 -05:00
Rolando Caloca
4f6a5be88f UE4 - Fix for missing forward rendering draw lists
[CL 2401456 by Rolando Caloca in Main branch]
2015-01-08 17:59:18 -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
Daniel Wright
b4c700abeb Removed DrawDynamicElements, PreRenderView and dependencies. These have been disabled since 11/04, and the GetDynamicMeshElements path is now the only path for dynamic mesh rendering.
[CL 2370254 by Daniel Wright in Main branch]
2014-11-25 17:56:43 -05:00
Rolando Caloca
ecfdf7a9be UE4 - Rework forward draw policy selection code; add missing policies for indirect + csm
[CL 2370047 by Rolando Caloca in Main branch]
2014-11-25 17:53:18 -05:00
Rolando Caloca
0941bc5f64 UE4 - New lightmap policy, adds lightmap + directional csm for static meshes
[CL 2368689 by Rolando Caloca in Main branch]
2014-11-24 12:55:34 -05:00
Rolando Caloca
2fd43fe1bc UE4 - Fix mobile emulation crash at boot
#lockdown Andy.Bayle

[CL 2337832 by Rolando Caloca in Main branch]
2014-10-23 11:48:51 -04:00
Rolando Caloca
d8a576970e UE4 - Remove Color parameter on draw events (DEC_*)
[CL 2334566 by Rolando Caloca in Main branch]
2014-10-20 10:43:43 -04:00
Graeme Thornton
ff5e71eb16 WIP Mobile Preview
- Store global bitfield of active feature levels
 - Generate shaders for all active feature levels
 - Add option to experimental settings to enable dynamic feature level
 - Redirect GRHIFeatureLevel to GMaxRHIFeatureLevel - Effectively const now, ready to be removed

[CL 2296373 by Graeme Thornton in Main branch]
2014-09-13 10:47:14 -04:00
Rolando Caloca
29c68f2eec UE4 - Cascaded shadow maps on mobile/forward
* Still disabled as Metal requires a horrible workaround/hack
* Remove GSupportsGSRenderTargetLayerSwitchingToMips workaround

[CL 2295640 by Rolando Caloca in Main branch]
2014-09-12 17:21:49 -04:00
Gil Gribb
598cbb659c UE4 - allow draw events to work in parallel rendering, some flush tweaks
[CL 2293700 by Gil Gribb in Main branch]
2014-09-11 09:38:38 -04:00
Nick Penwarden
decb55cdd6 Add PolicyContext to avoid global variables during shadow rendering
[CL 2277869 by Nick Penwarden in Main branch]
2014-08-29 13:40:49 -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
Mikolaj Sieluzycki
cfaf45ac58 Header cleanup: Engine module, public headers.
[CL 2265766 by Mikolaj Sieluzycki in Main branch]
2014-08-21 06:03:00 -04:00
Graeme Thornton
bcde0d05c2 Mobile Preview
* More removal of GRHIFeatureLevel and GRHIShaderPlatform

[CL 2262530 by Graeme Thornton in Main branch]
2014-08-19 10:41:34 -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
Graeme Thornton
9e0c448386 Mobile Preview Continued Work:
* For several preview components (cascade + a couple of animation previews), don't create a separate FXSystem for the preview world. Just use the one created internally by the world
* Several bug fixes and improvements to dynamic feature level switch
* Continued conversion of code that references to global feature level.

#codereview Nick.Penwarden

[CL 2229679 by Graeme Thornton in Main branch]
2014-07-24 05:23:50 -04:00
Gil Gribb
5ac82bc17d UE4 - some cleanup on parallel rendering
[CL 2221103 by Gil Gribb in Main branch]
2014-07-16 14:54:57 -04:00
Gil Gribb
30f1fe2722 UE4 - further command list work. BoundShaderState, RHISetComputeShader, RHIDispatchComputeShader, RHIDispatchIndirectComputeShader, RHIAutomaticCacheFlushAfterComputeShader, RHIDrawPrimitiveIndirect, RHIDrawIndexedIndirect, RHIDrawIndexedPrimitiveIndirect, RHIEnableDepthBoundsTest
[CL 2175853 by Gil Gribb in Main branch]
2014-07-08 10:43:52 -04:00
Gil Gribb
e672c20150 UE4 - more command list work, remove a few GetImmediateCommandList calls from the FBasePassForwardOpaqueDrawingPolicyFactory pipe
[CL 2125121 by Gil Gribb in Main branch]
2014-07-02 14:29:01 -04:00