Merging //UE4/Dev-Main to Dev-VREditor (//UE4/Dev-VREditor) (up to CL 3201696)

#rb Mike.Fricker

[CL 3213822 by Lauren Ridge in Dev-VREditor branch]
This commit is contained in:
Lauren Ridge
2016-11-29 15:12:02 -05:00
committed by Lauren.Ridge@epicgames.com
144 changed files with 3418 additions and 1833 deletions

View File

@@ -8,6 +8,7 @@
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
public class LocalNotificationReceiver extends BroadcastReceiver
{
@@ -26,14 +27,6 @@
return;
}
int notificationIconID = context.getResources().getIdentifier("icon", "drawable", context.getPackageName());
Notification notification = new Notification(notificationIconID , details ,System.currentTimeMillis());
// Stick with the defaults
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE;
// Open UE4 app if clicked
Intent notificationIntent = new Intent(context, GameActivity.class);
@@ -43,9 +36,21 @@
notificationIntent.putExtra("localNotificationAppLaunched" , true);
notificationIntent.putExtra("localNotificationLaunchActivationEvent", activationEvent);
int notificationIconID = context.getResources().getIdentifier("icon", "drawable", context.getPackageName());
PendingIntent pendingNotificationIntent = PendingIntent.getActivity(context, notificationID, notificationIntent, 0);
notification.setLatestEventInfo(context, title, details, pendingNotificationIntent);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(notificationIconID)
.setContentIntent(pendingNotificationIntent)
.setWhen(System.currentTimeMillis())
.setTicker(details) // note: will not show up on Lollipop up except for accessibility
.setContentTitle(title);
Notification notification = builder.build();
// Stick with the defaults
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE;
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// show the notification

View File

@@ -1,7 +1,7 @@
Build scripts for native Linux build
====================================
This document describes how to build Unreal Engine 4.14 natively on a Linux host.
This document describes how to build Unreal Engine natively on a Linux host.
The steps are described here are applicable to the current build, but you may
want to visit https://wiki.unrealengine.com/Building_On_Linux for the
latest updates on the process.
@@ -47,7 +47,7 @@ How to set up the sources for building, step by step:
1. Clone EpicGames/UnrealEngine repository
``git clone https://github.com/EpicGames/UnrealEngine -b 4.14``
``git clone https://github.com/EpicGames/UnrealEngine -b release``
2. Run Setup.sh once.

View File

@@ -5,23 +5,11 @@
<Name>dpkg-query code from StackOverflow</Name>
<Location>/Engine/Build/BatchFiles/Linux/Setup.sh</Location>
<Date>2016-09-27T11:14:21.5457895-04:00</Date>
<Function>Is a line from a StackOverflow response; is a method for checking if an Ubuntu package is installed.</Function>
<Justification>Will be used in UE4 setup scripts, so will be compiled into the engine.</Justification>
<Platforms>
<Date>2016-09-27T11:14:21.5457895-04:00</Date>
<Function>Is a line from a StackOverflow response; is a method for checking if an Ubuntu package is installed.</Function>
<Justification>Will be used in UE4 setup scripts, so will be compiled into the engine.</Justification>
<Product>UDK4</Product>
<Product>UE4</Product>
<Eula>http://stackexchange.com/legal/terms-of-service</Eula>

File diff suppressed because it is too large Load Diff

View File

@@ -325,10 +325,11 @@
<CsCompile Project="Engine/Source/Programs/UnrealSwarm/SwarmCoordinator/SwarmCoordinator.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/UnrealSwarm/Agent/Agent.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/PS4/PS4DevKitUtil/PS4DevKitUtil.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(WithPS4)' == true"/>
<!-- TODO: Change these projects so that they can be compiled on non-windows platforms (currently use WinForms) -->
<CsCompile Project="Engine/Source/Programs/UnrealControls/UnrealControls.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/iPhonePackager/iPhonePackager.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
</Do>
<CsCompile Project="Engine/Source/Programs/NetworkProfiler/NetworkProfiler/NetworkProfiler.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS" If="'$(HostPlatform)' != 'Linux'"/>
<CsCompile Project="Engine/Source/Programs/UnrealControls/UnrealControls.csproj" Configuration="Development" Platform="AnyCPU" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/iPhonePackager/iPhonePackager.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/DeploymentServer/DeploymentServer.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/MobileDeviceInterface/MobileDeviceInterface.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>
<CsCompile Project="Engine/Source/Programs/IOS/DeploymentInterface/DeploymentInterface.csproj" Configuration="Development" Platform="AnyCPU" Arguments="/verbosity:minimal /target:Rebuild" Tag="#Build Tools CS" TagReferences="#Build Tools CS"/>

View File

@@ -9,7 +9,7 @@
<!-- List of file types to be stripped and signed for different platforms -->
<Property Name="Win64StripFilter" Value="*.pdb"/>
<Property Name="Win64StripExceptions" Value="Engine\Binaries\Win64\UE4Editor*.pdb;Engine\Plugins\2D\Paper2D\Binaries\Win64\UE4Editor*.pdb"/>
<Property Name="Win64StripExceptions" Value="Engine\Binaries\Win64\UE4Editor*.pdb;Engine\Plugins\...\Binaries\Win64\UE4Editor*.pdb"/>
<Property Name="Win32StripFilter" Value="*.pdb"/>
<Property Name="MacStripFilter" Value="*.a;"/>
<Property Name="AndroidStripFilter" Value="*.a;*.so"/>
@@ -83,7 +83,7 @@
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/ThirdParty/Licenses/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/Programs/AutomationTool/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/Programs/AutomationToolLauncher/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/DotNETCommon/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/Programs/DotNETCommon/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/Programs/UnrealBuildTool/..."/>
<Property Name="CopyEditorFilter" Value="$(CopyEditorFilter);Engine/Source/Programs/UnrealHeaderTool/..."/>
<Property Name="CopyEditorExceptions" Value="$(CopyEditorExceptions);Engine/Source/Runtime/SQLiteSupport/..."/>

View File

@@ -2663,6 +2663,7 @@ MinimumOSVersion=MSOS_Vista
[/Script/MacTargetPlatform.MacTargetSettings]
+TargetedRHIs=SF_METAL_SM5
+TargetedRHIs=SF_METAL_SM4
[HMDPluginPriority]
; Since SteamVR also works with the Oculus Rift, give priority to the native Oculus plugin before trying SteamVR
@@ -2809,4 +2810,4 @@ HMDWornMovementThreshold = 50.0
bStripAnimationDataOnDedicatedServer=False
[/Script/Engine.MeshSimplificationSettings]
r.MeshReductionModule="QuadricMeshReduction"
r.MeshReductionModule="QuadricMeshReduction"

View File

@@ -60,7 +60,7 @@ IncludeCrashReporter=True
InternationalizationPreset=English
+CulturesToStage=en
DefaultCulture=en
bSkipEditorContent=true
bSkipEditorContent=false
[/Script/Engine.HUD]
DebugDisplay=AI

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>CodeWorks for Android</Name>
<Location>/Engine/Extras/Android/AndroidWorks/</Location>
<Location>/Engine/Extras/AndroidWorks/</Location>
<Date>2016-06-07T18:52:32.620967-04:00</Date>
<Function>Packaged downloader that gets development pack from Nvidia site</Function>
<Justification>We're using version 1R4, but intend to use all subsequent versions</Justification>

View File

@@ -11,5 +11,5 @@
<EndUserGroup>Git</EndUserGroup>
<EndUserGroup>P4</EndUserGroup>
</RedistributeTo>
<LicenseFolder>/Engine/Extras/ThirdPartyNotUE/emsdk/Emscripten_License.txt</LicenseFolder>
<LicenseFolder>/Engine/Extras/ThirdPartyNotUE/emsdk/Emscripten_License*</LicenseFolder>
</TpsData>

View File

@@ -0,0 +1,128 @@
musl as a whole is licensed under the following standard MIT license:
----------------------------------------------------------------------
Copyright © 2005-2014 Rich Felker, et al.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------------------------------
Authors/contributors include:
Anthony G. Basile
Arvid Picciani
Bobby Bingham
Boris Brezillon
Chris Spiegel
Emil Renner Berthing
Hiltjo Posthuma
Isaac Dunham
Jens Gustedt
Jeremy Huntwork
John Spencer
Justin Cormack
Luca Barbato
Luka Perkov
Michael Forney
Nicholas J. Kain
orc
Pascal Cuoq
Pierre Carrier
Rich Felker
Richard Pennington
Solar Designer
Strake
Szabolcs Nagy
Timo Teräs
Valentin Ochs
William Haddon
Portions of this software are derived from third-party works licensed
under terms compatible with the above MIT license:
The TRE regular expression implementation (src/regex/reg* and
src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
under a 2-clause BSD license (license text in the source files). The
included version has been heavily modified by Rich Felker in 2012, in
the interests of size, simplicity, and namespace cleanliness.
Much of the math library code (src/math/* and src/complex/*) is
Copyright © 1993,2004 Sun Microsystems or
Copyright © 2003-2011 David Schultz or
Copyright © 2003-2009 Steven G. Kargl or
Copyright © 2003-2009 Bruce D. Evans or
Copyright © 2008 Stephen L. Moshier
and labelled as such in comments in the individual source files. All
have been licensed under extremely permissive terms.
The ARM memcpy code (src/string/armel/memcpy.s) is Copyright © 2008
The Android Open Source Project and is licensed under a two-clause BSD
license. It was taken from Bionic libc, used on Android.
The implementation of DES for crypt (src/misc/crypt_des.c) is
Copyright © 1994 David Burren. It is licensed under a BSD license.
The implementation of blowfish crypt (src/misc/crypt_blowfish.c) was
originally written by Solar Designer and placed into the public
domain. The code also comes with a fallback permissive license for use
in jurisdictions that may not recognize the public domain.
The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
Valentin Ochs and is licensed under an MIT-style license.
The BSD PRNG implementation (src/prng/random.c) and XSI search API
(src/search/*.c) functions are Copyright © 2011 Szabolcs Nagy and
licensed under following terms: "Permission to use, copy, modify,
and/or distribute this code for any purpose with or without fee is
hereby granted. There is no warranty."
The x86_64 port was written by Nicholas J. Kain. Several files (crt)
were released into the public domain; others are licensed under the
standard MIT license terms at the top of this file. See individual
files for their copyright status.
The mips and microblaze ports were originally written by Richard
Pennington for use in the ellcc project. The original code was adapted
by Rich Felker for build system and code conventions during upstream
integration. It is licensed under the standard MIT terms.
The powerpc port was also originally written by Richard Pennington,
and later supplemented and integrated by John Spencer. It is licensed
under the standard MIT terms.
All other files which have no copyright comments are original works
produced specifically for use as part of this library, written either
by Rich Felker, the main author of the library, or by one or more
contibutors listed above. Details on authorship of individual files
can be found in the git version control history of the project. The
omission of copyright and license comments in each file is in the
interest of source tree size.
All public header files (include/* and arch/*/bits/*) should be
treated as Public Domain as they intentionally contain no content
which can be covered by copyright. Some source modules may fall in
this category as well. If you believe that a file is so trivial that
it should be in the Public Domain, please contact the authors and
request an explicit statement releasing it from copyright.
The following files are trivial, believed not to be copyrightable in
the first place, and hereby explicitly released to the Public Domain:
All public headers: include/*, arch/*/bits/*
Startup files: crt/*

View File

@@ -0,0 +1,101 @@
Emscripten is available under 2 licenses, the MIT license and the
University of Illinois/NCSA Open Source License.
Both are permissive open source licenses, with little if any
practical difference between them.
The reason for offering both is that (1) the MIT license is
well-known, while (2) the University of Illinois/NCSA Open Source
License allows Emscripten's code to be integrated upstream into
LLVM, which uses that license, should the opportunity arise.
The full text of both licenses follows.
==============================================================================
Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
==============================================================================
Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file.
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal with the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimers.
Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimers
in the documentation and/or other materials provided with the
distribution.
Neither the names of Mozilla,
nor the names of its contributors may be used to endorse
or promote products derived from this Software without specific prior
written permission.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
==============================================================================
This program uses portions of Node.js source code located in src/library_path.js,
in accordance with the terms of the MIT license. Node's license follows:
"""
Copyright Joyent, Inc. and other Node contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
"""
The musl libc project is bundled in this repo, and it has the MIT license, see
system/lib/libc/musl/COPYRIGHT
The third_party/ subdirectory contains code with other licenses. None of it is
used by default, but certain options use it (e.g., the optional closure compiler
flag will run closure compiler from third_party/).

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>TapJoy SDK</Name>
<Location>/Engine/Plugins/Runtime/Advertising/IOSTapJoy/ThirdPartyFrameworks</Location>
<Date>2016-11-09T19:10:57.4480563-05:00</Date>
<Function>Tracks ad conversions from Tapjoy ads</Function>
<Justification>Redistributed to licensees along with UE4 so they don't have to download it themselves. Hooks into our UE4 TapJoy plugin</Justification>
<Eula>Custom agreement between Epic/TapJoy</Eula>
<RedistributeTo>
<EndUserGroup>Licensees</EndUserGroup>
<EndUserGroup>Git</EndUserGroup>
<EndUserGroup>P4</EndUserGroup>
</RedistributeTo>
<LicenseFolder>None</LicenseFolder>
</TpsData>

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>NVAnselSDK</Name>
<Name>GameWorks Binary SDK</Name>
<Location>/Engine/Source/ThirdParty/NVAnselSDK/</Location>
<Date>2016-09-28T15:36:00.111111-04:00</Date>
<Function>Allows high quality in-game photography</Function>
<Justification>This is required for UE to expose NVIDIA's free-roam photography functionality</Justification>
<Eula>https://developer.nvidia.com/gameworks-sdk-eula</Eula>
<Eula>Custom agreement between Epic/NVIDIA</Eula>
<RedistributeTo>
<EndUserGroup>Licensees</EndUserGroup>
<EndUserGroup>Git</EndUserGroup>
<EndUserGroup>P4</EndUserGroup>
</RedistributeTo>
<LicenseFolder>/Engine/Source/ThirdParty/Licenses/GameWorks Binary SDK EULA _ NVIDIA Developer.txt</LicenseFolder>
<LicenseFolder>/Engine/Source/ThirdParty/Licenses/GameWorksBinarySDK_License.txt</LicenseFolder>
</TpsData>

View File

@@ -1204,6 +1204,11 @@ void FSteamVRHMD::PostInitViewFamily_RenderThread(FRHICommandListImmediate& RHIC
void FSteamVRHMD::PostInitView_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneView& InView) {}
bool FSteamVRHMD::UsePostInitView() const
{
return false;
}
void FSteamVRHMD::UpdateViewport(bool bUseSeparateRenderTarget, const FViewport& InViewport, SViewport* ViewportWidget)
{
check(IsInGameThread());

View File

@@ -133,6 +133,7 @@ public:
virtual void PreRenderViewFamily_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& InViewFamily) override;
virtual void PostInitViewFamily_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& InViewFamily) override;
virtual void PostInitView_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneView& InView) override;
virtual bool UsePostInitView() const override;
// IStereoLayers interface
virtual uint32 CreateLayer(const FLayerDesc& InLayerDesc) override;
@@ -175,6 +176,7 @@ public:
virtual void OnBackBufferResize() override;
virtual bool Present(int& SyncInterval) override;
virtual void PostPresent() override;
virtual void BeginRendering() override;
void FinishRendering();

View File

@@ -202,6 +202,11 @@ bool FSteamVRHMD::D3D11Bridge::Present(int& SyncInterval)
return true;
}
void FSteamVRHMD::D3D11Bridge::PostPresent()
{
//Plugin->VRCompositor->PostPresentHandoff();
}
#endif // PLATFORM_WINDOWS
#endif // STEAMVR_SUPPORTED_PLATFORMS

View File

@@ -4,6 +4,8 @@
DeferredLightPixelShaders.usf:
=============================================================================*/
#define SUPPORT_CONTACT_SHADOWS 1
#include "Common.usf"
#include "DeferredShadingCommon.usf"
#include "DeferredLightingCommon.usf"

View File

@@ -48,11 +48,7 @@ struct FSimpleDeferredLightData
bool bInverseSquared;
};
#ifdef THREADGROUP_SIZEX
#define REFERENCE_QUALITY 0
#else
#define REFERENCE_QUALITY 0
#endif
#undef LIGHT_SOURCE_SHAPE
#define LIGHT_SOURCE_SHAPE 1
@@ -346,6 +342,10 @@ float ShadowRayCast(
return 1 - Shadow;
}
#ifndef SUPPORT_CONTACT_SHADOWS
#error "Must set SUPPORT_CONTACT_SHADOWS"
#endif
/** Calculates lighting for a given position, normal, etc with a fully featured lighting model designed for quality. */
float4 GetDynamicLighting(float3 WorldPosition, float3 CameraVector, FGBufferData GBuffer, float AmbientOcclusion, uint ShadingModelID, FDeferredLightData LightData, float4 LightAttenuation, uint2 Random)
{
@@ -470,7 +470,7 @@ float4 GetDynamicLighting(float3 WorldPosition, float3 CameraVector, FGBufferDat
// Commented out because it reduces character shading quality.
//SurfaceShadow *= saturate(dot(N, L) * 6 - 0.2);
#ifndef THREADGROUP_SIZEX
#if SUPPORT_CONTACT_SHADOWS
BRANCH
if( LightData.ShadowedBits > 1 && LightData.ContactShadowLength > 0 )
{
@@ -488,7 +488,7 @@ float4 GetDynamicLighting(float3 WorldPosition, float3 CameraVector, FGBufferDat
SurfaceShadow = AmbientOcclusion;
}
#ifndef THREADGROUP_SIZEX
#if SUPPORT_CONTACT_SHADOWS
BRANCH
if( LightData.ShadowedBits < 2 && GBuffer.ShadingModelID == SHADINGMODELID_HAIR )
{

Some files were not shown because too many files have changed in this diff Show More