Commit Graph

28 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
Martin Mittring
bc33fe8a1a Made Atmosphere toggleable by Fog, consistently renamed to AtmosphericFog
UE-13368 Atmospheric Fog cannot be toggled to hidden in the Scene Capture 2D's detail settings

[CL 2505715 by Martin Mittring in Main branch]
2015-04-08 15:46:28 -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
Gil Gribb
35cf42566a UE4 - merge GDC branch, code @2465640 to main
[CL 2468685 by Gil Gribb in Main branch]
2015-03-04 08:31:40 -05:00
Gil Gribb
ac87f1e242 UE4 - crash fix for consoles: bad ref counting on new translucency code
#lockdown Zachary.EdgertonJones
This was specifically approved by NickP for lockdown

[CL 2403773 by Gil Gribb in Main branch]
2015-01-12 15:41:40 -05:00
Rolando Caloca
55b01d40ea UE4 - Fix crash UE-7413
#codereview Brian.Karis

[CL 2403503 by Rolando Caloca in Main branch]
2015-01-12 11:19:19 -05:00
Brian Karis
f4725f6150 SSR on translucency.
HZB is now always built and stored on ViewInfo.
SSR uses constant depth intersect instead of segment intersect for better quality near contacts.

[CL 2402625 by Brian Karis in Main branch]
2015-01-09 20:56: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
Daniel Wright
fe11711228 SM4 feature level now supports reflection captures on translucency
Fixed bug with skylight reflections blending into reflection captures on translucent materials

[CL 2283831 by Daniel Wright in Main branch]
2014-09-03 21:16:20 -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
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
bbffb27aaf Fixed specular on movable skylights
* Removed double normalization from stationary skylight specular

[CL 2239230 by Daniel Wright in Main branch]
2014-07-31 19:39:39 -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
1d50eae0de UE4 - rework RHI user-facing APIs to be safer and incorporate the desired sematics
[CL 2119499 by Gil Gribb in Main branch]
2014-06-27 11:07:13 -04:00
Gil Gribb
bc7c8cbca8 UE4 - more work preparing for parallel rendering. Merged the cmd list into the post process context, among other things.
[CL 2103040 by Gil Gribb in Main branch]
2014-06-12 07:13:34 -04:00
Gil Gribb
3de6028e86 UE4: Rearrange RHICmdList toward non-null cmd lists and the final "look"
[CL 2100216 by Gil Gribb in Main branch]
2014-06-10 07:29:49 -04:00
Gil Gribb
fa7226b8fe UE4 - merge first pass at parallel rendering to main
[CL 2095959 by Gil Gribb in Main branch]
2014-06-05 16:38:54 -04:00
Daniel Wright
1464dcf2c3 Distance field AO using a surface cache
* Provides mid-range stable AO for dynamic rigid meshes
* Movable sky lights are now supported, and distance field AO is used for shadowing Movable sky lighting from dynamic scenes
* Static meshes are preprocessed into signed distance field volumes at mesh build time when the r.AllowMeshDistanceFieldRepresentations project setting is enabled
* Non-uniform scaling does not work with this method (mirroring is fine), animating through world position offset also causes artifacts as the two representations diverge
* Occlusion is computed along cones to reduce over-shadowing, object distance fields are operated on directly (no hierarchy) to obtain enough resolution to prevent leaking, visibility traces are done with cone stepping to allow better parallelization, and shading is done adaptively in space and time using the surface cache.

[CL 2093556 by Daniel Wright in Main branch]
2014-06-03 15:53:13 -04:00
Graeme Thornton
d85e5b81b9 Mobile editor changes:
- FeatureLevelPreview menu option now instructs world to switch feature level. This triggers our WIP switching code which works a bit...
- Converted a few more GRHIFeatureLevel references over to point at the nearest convenient scene/sceneview
- Made GetRHIFeatureLevel a non-inlined function (breakpoints wouldn't stop on the inlined version) and #define'd GRHIFeatureLevel to point at the GMaxRHIFeatureLevel (i.e. back to old behaviour)
- Changes to FSystemTextures so that the global object gets initialized in a stack-y kind of way. You initialize at a feature level and it creates all textures needed up to that point. Subsequent initializes at a higher feature level will allocate the new ones needed but not the existing ones. Only behaviour change from this is that there was a single 1x1 texture created only for ES2 that I just let get created for every feature level to keep the "feature level stack" nature of things.

[CL 2089519 by Graeme Thornton in Main branch]
2014-05-30 07:57:21 -04:00
Brian Karis
c786202246 Renamed Material Lighting Model to Material Shading Model.
[CL 2089198 by Brian Karis in Main branch]
2014-05-30 07:55:38 -04:00
Daniel Wright
504b2a3e88 Fixed static sky lights still being applied in the base pass with no visible resuilt for static draw lists and translucency
[CL 2070769 by Daniel Wright in Main branch]
2014-05-12 16:50:34 -04:00
Graeme Thornton
e1700afed8 First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.
#ttp 331829 - Mobile Preview in Editor
#proj Engine
#branch UE4

#summary First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.

#change Added GMaxRHIFeature level which contains the highest supported feature level on this machine
#change Added a cvar "r.FeatureLevelPreview" which, when set to 1, enables a feature level selection in the quick settings menu. Not wired up to anything at the minute
#change Added a feature level variable to FScene, which is currently initialized to whatever GRHIFeatureLevel is. Accessed with GetFeatureLevel()
#change Added a helper accessor GetFeatureLevel() to FSceneView which gets the feature level from the relevant scene. Purely to reduce the amount of typing needed to get to a feature level
#change Many changes across the renderer to try and read the current feature level from the view or scene. Not everything is done yet, but this is almost all of the "easy" stuff. As there is still just a global feature level in the engine, nothing should change.

[CL 2066905 by Graeme Thornton in Main branch]
2014-05-08 09:05:50 -04:00