Commit Graph

35 Commits

Author SHA1 Message Date
Gil Gribb
c3a1b22610 UE4 - parallel rendering - fix a few bugs with shader creation and static states, do prepass in parallel
[CL 2229807 by Gil Gribb in Main branch]
2014-07-24 08:54:31 -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
9a379a2aea UE4 - local uniformbuffers for command lists
[CL 2220640 by Gil Gribb in Main branch]
2014-07-16 09:49:21 -04:00
Gil Gribb
fe1b255d99 UE4 - defer deletes of RHI resources and some parallel prototyping
[CL 2218215 by Gil Gribb in Main branch]
2014-07-15 07:34:34 -04:00
Graeme Thornton
747d2a9b9d Mobile Preview In Editor
- Material editor preview nodes now work when the editor is in es2 mode
 - Make editor primitives work in ES2 mode
 - Fix slate font rendering in ES2 mode
 - Remove ES2 shader de-gamma when in the editor
 - Add a new linear sampler type for linear textures
 - Various fixes for dynamic feature level switching
 - When in an emulated feature level mode, display some text in the level editor viewport saying what feature level we're running
 - Removed feature level parameter from USkeletalMesh::GetResourceForRendering. Not used for anything
 - ParticleVertexFactoryPool is now creates feature level specific vertex factories.

[CL 2187558 by Graeme Thornton in Main branch]
2014-07-10 10:39:54 -04:00
Nick Penwarden
bf28b61151 RHI texture references are now managed with an FRenderResource.
Last render time for textures can now be exposed via an FLastRenderTimeContainer provided at construction time. Only implemented for texture references. Eventually this can unify last render time for normal textures and texture references.

[CL 2170350 by Nick Penwarden in Main branch]
2014-07-07 13:21:55 -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
Joe Tidmarsh
b51d4179ca Converted ConsoleManager code over to use the new typed TAutoConsoleVariable. Implemented support for auto typed string variables.
Moved console variables to their corresponding cpp files where possible.

#ttp 319909 - UE4: RENDERING: Change the ConsoleManager code over to use the new typed TAutoConsoleVariable

[CL 2116537 by Joe Tidmarsh in Main branch]
2014-06-25 05:47:33 -04:00
James Golding
830a3f3634 Move FShadow/LightMapRef into SceneTypes.h, stop including LightMap.h/ShadowMap.h everywhere
Add explicit constructor to UStaticMeshComponent, ULandscapeComponent and FModelElement so they can be implmented in cpp file, which includes LightMap/ShadowMap.h
Rename PackedNormal.inl to PackedNormal.h and move rest of declaration, so it can be included independent of RenderUtils.h
Move FMaterialRelevance definition from PrimitiveComponent.h to MaterialInterface.h
Move FExpressionInput/FExpressionOutput/FMaterialInput etc. from MaterialShared.h into new MaterialExpressionIO.h, to avoid Material.h pulling in RHI includes
Other required includes added
#codereview rolando.caloca

[CL 2113877 by James Golding in Main branch]
2014-06-23 07:12:12 -04:00
Josh Adams
b552e2d883 Urban->Main
#codereview jeff.campeau,nick.penwarden,rolando.caloca

[CL 2108642 by Josh Adams in Main branch]
2014-06-17 18:27:26 -04:00
Jaroslaw Palczynski
3a35a8dd0e Deprecate and remove checkAtCompileTime.
#ttp 337754
#codereview Robert.Manuszewski

[CL 2106862 by Jaroslaw Palczynski in Main branch]
2014-06-16 08:04:54 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Jaroslaw Surowiec
f3b04ddb1c Stats - Fixed a memory leak in the UFE, added better implementation for the stats advance frame
#codereview Robert.Manuszewski

[CL 2103266 by Jaroslaw Surowiec in Main branch]
2014-06-12 12:09:36 -04:00
James Golding
0745f08cf3 Changes to reduce headers pulled in when including basic Engine headers directly (Actor.h, PrimitiveComponent.h, MaterialInstance.h etc).
Break pieces of SceneManagement.h into their own new headers (SceneTypes.h, SceneView.h, SceneInterface.h, PrimitiveViewRelevance.h, PrimitiveUniformShaderParameters.h, MeshBatch.h, FinalPostProcessSettings.h, BlendableManager.h)
Break StaticParameterSet and static param classes from MaterialShared.h into new StaticParameterSet.h
Move FLight/ShadowMapRef definition from Light/ShadowMap.h into SceneTypes.h, to avoid needing to include them globally
Move FPhysicsVolumeChanged delegate definition to SceneComponent.h, to avoid including Components.h
Also fix some non-unity compile errors in AI module
#codereview rolando.caloca

[CL 2101629 by James Golding in Main branch]
2014-06-11 06:22:25 -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
Martin Mittring
6d0d39df73 * added CreateInfo to RHICreateVertexBuffer and RHICreateStructuredBuffer and RHICreateIndexBuffer calls for upcoming changes
[CL 2079626 by Martin Mittring in Main branch]
2014-05-20 18:05:33 -04:00
Martin Mittring
ec184ff7c4 * added CreateInfo to RHICreateTexture functions to ease future changes
[CL 2079281 by Martin Mittring in Main branch]
2014-05-20 15:09:51 -04:00
Jaroslaw Palczynski
724ea452a5 Refactoring thread affinity settings.
There was a bug in setting affinity of a thread that assumed affinity from lookup table with key being a thread name. When names was appended with consecutive numbers (e.g. "RenderingThread 1") the mechanism failed. Refactored this to use special static consts describing affinity override'able by different platforms for different affinity types + possibility of setting affinity per thread.
#codereview Jaroslaw.Surowiec

[CL 2070197 by Jaroslaw Palczynski in Main branch]
2014-05-12 08:40:54 -04:00
Mikolaj Sieluzycki
7a1386bfc9 #ttp 331740 UE4: Core: Runnable thread clean-up
#proj core
#branch UE4
#summary Remove all bAutoDeleteSelf and bAutoDeleteRunnable usage from the runnable.
#codereview Robert.Manuszewski

[CL 2070165 by Mikolaj Sieluzycki in Main branch]
2014-05-12 08:39:12 -04:00
Dmitry Rekman
e3105eda19 Merging the bulk of Darkside changes.
- New target platforms (LinuxNoEditor for client+server, LinuxClient for client, Linux for editor, LinuxServer for dedicated server - mirroring other platforms).
- Preliminary support for gcc in the toolchain (and some safe fixes in code).
- No more lowercasing when accessing files on Linux, tread carefully.
- Changes needed for native compilation and other minor improvements.

#codereview Josh.Adams, Michael.Liebenow, Steve.Robbs

[CL 2067133 by Dmitry Rekman in Main branch]
2014-05-08 13:01:46 -04:00
Mikolaj Sieluzycki
45c031d576 #ttp 331438 UE4: PlatformMath refactor
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski

[CL 2064306 by Mikolaj Sieluzycki in Main branch]
2014-05-06 06:26:25 -04:00
Michael Noland
258328b3d9 Editor: Fix a logic error in busy-waiting for the game thread to finish executing when a breakpoint is hit
[CL 2063708 by Michael Noland in Main branch]
2014-05-05 14:46:40 -04:00
Jaroslaw Surowiec
15f13fc6d1 Stats - Fix for STATS=0
[CL 2063518 by Jaroslaw Surowiec in Main branch]
2014-05-05 11:20:07 -04:00
Jaroslaw Surowiec
fd225b6412 Stats - Restored indexed rendering thread, but now it's based on NAME_RenderThread, removed all references to "RenderingThread", leaving only these required for backward compatibility
Stats - Added missing GetGroupCategory to the thread node in the GetRawStackStats

#codereview Robert.Manuszewski

[CL 2063512 by Jaroslaw Surowiec in Main branch]
2014-05-05 11:15:08 -04:00