- Ensure all levels are added to the scene after a feature level switch.
- Fix situation that caused 100% shadow when no importance volumes exist.
- Ensures the light volume octree is correct for feature level when adding to the scene.
#codereview nick.penwarden
[CL 2407340 by Allan Bentham in Main branch]
This is reported as warning by clang 3.5.0. Arguably not a compiler's call, but it's indeed better to check that condition before calling the function and not inside it.
#codereview Daniel.Wright
[CL 2288246 by Dmitry Rekman in Main branch]
Checking this for being null is reported as warning by clang 3.5.0. Arguably not compiler's call, but it's indeed better to check that condition before calling the function (what if it is turned virtual at some point?).
#codereview Daniel.Wright, Brian.Karis
[CL 2288192 by Dmitry Rekman in Main branch]
- Addes 3_1 define on shaders
- Fixes GL packed uniforms array size incorrect assert
- Disallows running the editor with -featureleveles2
- r.MobileHDR is now read-only
- Moved some checks from SM3 to SM4
[CL 2270866 by Rolando Caloca in Main branch]
* 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]
* 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]
- 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]
- 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]
#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]
On Mac SM4, cache shaders for indirect point lighting, so that they can be used for rendering on GPUs without VTR.
This removes the workaround for indirect lighting that had been required for ES2 as the runtime test is now in CanIndirectLightingCacheUseVolumeTexture where it should always have been.
Make all Macs on <= SM4 use a 2D tonemapping color LUT so that they can share the same shaders.
This makes all Macs share the same binary shader cache which should fix the binary UE4 builds in the simplest way.
#codereview michael.trepka, Peter.Sauerbrei
[CL 2064553 by Mark Satterthwaite in Main branch]
#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]