Commit Graph

48 Commits

Author SHA1 Message Date
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
20e9995ae9 PrimitiveComponents have a new advanced lighting property - IndirectLightingCacheQuality
* Settings are Off, Point and Volume
* The default quality is Point, which is a downgrade in quality from the previous effective default of Volume, but has much less overhead (ILC update time reduced by 4x).  Components now have to opt-in to higher quality.  This also fixes the issue where ILC allocations would fail after 1728 movable components.
* Fixed Point sample location to be the snapped center of the bounds, previously it was the Min which was often below the ground
* Opaque materials can now apply the Point cached lighting from shader constants

[CL 2258313 by Daniel Wright in Main branch]
2014-08-15 16:15:56 -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
Gil Gribb
78b61da929 UE4 - parallel rendering of translucency pass
[CL 2246966 by Gil Gribb in Main branch]
2014-08-07 09:41:54 -04:00
Gil Gribb
a5e5aef45d UE4 - cleaned up the recursive RHI usage for command lists and added these RHI mthods as queuable RHICopyToResolveTarget, RHICLear, RHIClearMRT, RHIClearUAV
[CL 2181497 by Gil Gribb in Main branch]
2014-07-09 11:02:23 -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
Daniel Wright
a379b4f3ee Fixed translucency being 16x too bright from inv squared lights
[CL 2126967 by Daniel Wright in Main branch]
2014-07-02 22:15:50 -04:00
Gil Gribb
fa40806ce3 UE4 - More RHI command list work. Remove more cases of GetImmediateCommandList
[CL 2124713 by Gil Gribb in Main branch]
2014-07-02 12:18:30 -04:00
Gil Gribb
c4f89eca29 UE4 - add ERCT_SetViewport, ERCT_SetScissorRect, ERCT_SetRenderTargets
[CL 2122136 by Gil Gribb in Main branch]
2014-06-30 16:05:23 -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
Daniel Wright
8ab2698d21 Fix for crash rendering lit translucency in OpenGL
[CL 2118437 by Daniel Wright in Main branch]
2014-06-26 16:03:17 -04:00
Daniel Wright
d0df86000a Static shadowing for translucency
* Each Stationary light gets a static shadow depth map generated by Lightmass, which is then used to shadow during translucent lighting volume injection

[CL 2118133 by Daniel Wright in Main branch]
2014-06-26 12:42:04 -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
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
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
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
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
Joe Tidmarsh
ab12e1568d Particle lights now work with camera offset (per-view).
#branch UE4
#proj Engine, Renderer

#add Created a class FSimpleLightPerViewEntry and relocated the positional vector from FSimpleLightEntry.
#add Created FSimpleLightArray which contains a FSimpleLightEntry and FSimpleLightPerViewEntry TArray - this is just so to keep function parameter lists uncluttered when passing the data around.
#change ViewFamily is now passed to GatherSimpleLights and GatherParticleLightData allowing us to calculate the camera offset for each view. This also allows for future additions that are view-dependant.
#change Camera offset is calculated in GatherParticleLightData for each view. When camera offset isn't enabled FSimpleLightPerViewEntry is shared for all views in order to save memory

[CL 2062006 by Joe Tidmarsh in Main branch]
2014-05-02 05:48:07 -04:00
UnrealBot
db494a6e69 Engine source (Main branch up to CL 2037954) 2014-04-02 18:09:23 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00