Browse Source
First import of Unity FSR2 test project on built-in render pipeline:
First import of Unity FSR2 test project on built-in render pipeline:
- Yoinked a bunch of code from MadGoat SSAA to build a custom render scaler - Added a simple shader to check some of the render buffers during upscaling - Successfully ported the RCAS compute shader from the FSR2 project into Unity!mac-autoexp
commit
0bdc75ff08
67 changed files with 13154 additions and 0 deletions
-
8.gitignore
-
8Assets/Materials.meta
-
8Assets/Resources.meta
-
8Assets/Resources/Shaders.meta
-
40Assets/Resources/Shaders/FSRTest.shader
-
10Assets/Resources/Shaders/FSRTest.shader.meta
-
429Assets/Resources/Shaders/ffx_common_types.h
-
27Assets/Resources/Shaders/ffx_common_types.h.meta
-
52Assets/Resources/Shaders/ffx_core.h
-
27Assets/Resources/Shaders/ffx_core.h.meta
-
2784Assets/Resources/Shaders/ffx_core_gpu_common.h
-
27Assets/Resources/Shaders/ffx_core_gpu_common.h.meta
-
2978Assets/Resources/Shaders/ffx_core_gpu_common_half.h
-
27Assets/Resources/Shaders/ffx_core_gpu_common_half.h.meta
-
1396Assets/Resources/Shaders/ffx_core_hlsl.h
-
27Assets/Resources/Shaders/ffx_core_hlsl.h.meta
-
50Assets/Resources/Shaders/ffx_core_portability.h
-
27Assets/Resources/Shaders/ffx_core_portability.h.meta
-
1250Assets/Resources/Shaders/ffx_fsr1.h
-
27Assets/Resources/Shaders/ffx_fsr1.h.meta
-
422Assets/Resources/Shaders/ffx_fsr2_common.h
-
27Assets/Resources/Shaders/ffx_fsr2_common.h.meta
-
105Assets/Resources/Shaders/ffx_fsr2_rcas.h
-
27Assets/Resources/Shaders/ffx_fsr2_rcas.h.meta
-
84Assets/Resources/Shaders/ffx_fsr2_rcas_pass.compute
-
8Assets/Resources/Shaders/ffx_fsr2_rcas_pass.compute.meta
-
8Assets/Scenes.meta
-
447Assets/Scenes/SampleScene.unity
-
7Assets/Scenes/SampleScene.unity.meta
-
8Assets/Scripts.meta
-
28Assets/Scripts/CameraMover.cs
-
11Assets/Scripts/CameraMover.cs.meta
-
105Assets/Scripts/FSR2Thing.cs
-
11Assets/Scripts/FSR2Thing.cs.meta
-
155Assets/Scripts/SubsampleTest.cs
-
11Assets/Scripts/SubsampleTest.cs.meta
-
45Packages/manifest.json
-
413Packages/packages-lock.json
-
19ProjectSettings/AudioManager.asset
-
6ProjectSettings/ClusterInputManager.asset
-
34ProjectSettings/DynamicsManager.asset
-
8ProjectSettings/EditorBuildSettings.asset
-
30ProjectSettings/EditorSettings.asset
-
13ProjectSettings/GameCoreScarlettSettings.asset
-
16ProjectSettings/GameCoreXboxOneSettings.asset
-
63ProjectSettings/GraphicsSettings.asset
-
295ProjectSettings/InputManager.asset
-
35ProjectSettings/MemorySettings.asset
-
91ProjectSettings/NavMeshAreas.asset
-
48ProjectSettings/PS5Settings.json
-
35ProjectSettings/PackageManagerSettings.asset
-
7ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
-
56ProjectSettings/Physics2DSettings.asset
-
7ProjectSettings/PresetManager.asset
-
719ProjectSettings/ProjectSettings.asset
-
2ProjectSettings/ProjectVersion.txt
-
241ProjectSettings/QualitySettings.asset
-
6ProjectSettings/ScarlettGame.config
-
167ProjectSettings/SceneTemplateSettings.json
-
43ProjectSettings/TagManager.asset
-
9ProjectSettings/TimeManager.asset
-
36ProjectSettings/UnityConnectSettings.asset
-
12ProjectSettings/VFXManager.asset
-
8ProjectSettings/VersionControlSettings.asset
-
10ProjectSettings/XRSettings.asset
-
6ProjectSettings/XboxOneGame.config
-
0ProjectSettings/boot.config
@ -0,0 +1,8 @@ |
|||||
|
*.csproj |
||||
|
*.sln |
||||
|
.idea/ |
||||
|
Library/ |
||||
|
Logs/ |
||||
|
obj/ |
||||
|
Temp/ |
||||
|
UserSettings/ |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 1177d83b5558cdb4fb1a10fb8b3ce2af |
||||
|
folderAsset: yes |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: f1c65c7377a34fe41beb57484d87a08b |
||||
|
folderAsset: yes |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 99529786e04ad7e468cdde9e81ce2dba |
||||
|
folderAsset: yes |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,40 @@ |
|||||
|
Shader "FSR2/FSRTest" |
||||
|
{ |
||||
|
Properties |
||||
|
{ |
||||
|
_MainTex ("Texture", 2D) = "" {} |
||||
|
} |
||||
|
SubShader { |
||||
|
|
||||
|
Pass { |
||||
|
ZTest Always Cull Off ZWrite Off |
||||
|
|
||||
|
HLSLPROGRAM |
||||
|
// include the unityCG.cginc |
||||
|
#include "UnityCG.cginc" |
||||
|
|
||||
|
// The default vert setup used in all the shaders |
||||
|
struct v2f { |
||||
|
float4 vertex : SV_POSITION; |
||||
|
float2 texCoord : TEXCOORD0; |
||||
|
}; |
||||
|
|
||||
|
#pragma vertex vert_img |
||||
|
#pragma fragment frag |
||||
|
|
||||
|
sampler2D _MainTex; |
||||
|
sampler2D _CameraDepthTexture; |
||||
|
sampler2D_half _CameraMotionVectorsTexture; |
||||
|
|
||||
|
fixed4 frag(v2f i) : COLOR |
||||
|
{ |
||||
|
return tex2D(_MainTex, i.texCoord).rgba; |
||||
|
return fixed4(((tex2D(_CameraMotionVectorsTexture, i.texCoord) + 0.5f) / 2.0f).xyz, 1.0f); |
||||
|
//return tex2D(_CameraDepthTexture, i.texCoord).rrra; |
||||
|
} |
||||
|
ENDHLSL |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
Fallback Off |
||||
|
} |
||||
@ -0,0 +1,10 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: ad642f5802989914585b30523ba86017 |
||||
|
ShaderImporter: |
||||
|
externalObjects: {} |
||||
|
defaultTextures: [] |
||||
|
nonModifiableTextures: [] |
||||
|
preprocessorOverride: 0 |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,429 @@ |
|||||
|
// This file is part of the FidelityFX SDK. |
||||
|
// |
||||
|
// Copyright (c) 2022 Advanced Micro Devices, Inc. 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. |
||||
|
#ifndef FFX_COMMON_TYPES_H |
||||
|
#define FFX_COMMON_TYPES_H |
||||
|
|
||||
|
#if defined(FFX_CPU) |
||||
|
#define FFX_PARAMETER_IN |
||||
|
#define FFX_PARAMETER_OUT |
||||
|
#define FFX_PARAMETER_INOUT |
||||
|
#elif defined(FFX_HLSL) |
||||
|
#define FFX_PARAMETER_IN in |
||||
|
#define FFX_PARAMETER_OUT out |
||||
|
#define FFX_PARAMETER_INOUT inout |
||||
|
#elif defined(FFX_GLSL) |
||||
|
#define FFX_PARAMETER_IN in |
||||
|
#define FFX_PARAMETER_OUT out |
||||
|
#define FFX_PARAMETER_INOUT inout |
||||
|
#endif // #if defined(FFX_CPU) |
||||
|
|
||||
|
#if defined(FFX_CPU) |
||||
|
/// A typedef for a boolean value. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef bool FfxBoolean; |
||||
|
|
||||
|
/// A typedef for a unsigned 8bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint8_t FfxUInt8; |
||||
|
|
||||
|
/// A typedef for a unsigned 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint16_t FfxUInt16; |
||||
|
|
||||
|
/// A typedef for a unsigned 32bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint32_t FfxUInt32; |
||||
|
|
||||
|
/// A typedef for a unsigned 64bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint64_t FfxUInt64; |
||||
|
|
||||
|
/// A typedef for a signed 8bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef int8_t FfxInt8; |
||||
|
|
||||
|
/// A typedef for a signed 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef int16_t FfxInt16; |
||||
|
|
||||
|
/// A typedef for a signed 32bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef int32_t FfxInt32; |
||||
|
|
||||
|
/// A typedef for a signed 64bit integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef int64_t FfxInt64; |
||||
|
|
||||
|
/// A typedef for a floating point value. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef float FfxFloat32; |
||||
|
|
||||
|
/// A typedef for a 2-dimensional floating point value. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef float FfxFloat32x2[2]; |
||||
|
|
||||
|
/// A typedef for a 3-dimensional floating point value. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef float FfxFloat32x3[3]; |
||||
|
|
||||
|
/// A typedef for a 4-dimensional floating point value. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef float FfxFloat32x4[4]; |
||||
|
|
||||
|
/// A typedef for a 2-dimensional 32bit unsigned integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint32_t FfxUInt32x2[2]; |
||||
|
|
||||
|
/// A typedef for a 3-dimensional 32bit unsigned integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint32_t FfxUInt32x3[3]; |
||||
|
|
||||
|
/// A typedef for a 4-dimensional 32bit unsigned integer. |
||||
|
/// |
||||
|
/// @ingroup CPU |
||||
|
typedef uint32_t FfxUInt32x4[4]; |
||||
|
#endif // #if defined(FFX_CPU) |
||||
|
|
||||
|
#if defined(FFX_HLSL) |
||||
|
/// A typedef for a boolean value. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef bool FfxBoolean; |
||||
|
|
||||
|
#if FFX_HLSL_6_2 |
||||
|
typedef float32_t FfxFloat32; |
||||
|
typedef float32_t2 FfxFloat32x2; |
||||
|
typedef float32_t3 FfxFloat32x3; |
||||
|
typedef float32_t4 FfxFloat32x4; |
||||
|
|
||||
|
/// A typedef for a unsigned 32bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef uint32_t FfxUInt32; |
||||
|
typedef uint32_t2 FfxUInt32x2; |
||||
|
typedef uint32_t3 FfxUInt32x3; |
||||
|
typedef uint32_t4 FfxUInt32x4; |
||||
|
typedef int32_t FfxInt32; |
||||
|
typedef int32_t2 FfxInt32x2; |
||||
|
typedef int32_t3 FfxInt32x3; |
||||
|
typedef int32_t4 FfxInt32x4; |
||||
|
#else |
||||
|
#define FfxFloat32 float |
||||
|
#define FfxFloat32x2 float2 |
||||
|
#define FfxFloat32x3 float3 |
||||
|
#define FfxFloat32x4 float4 |
||||
|
|
||||
|
/// A typedef for a unsigned 32bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef uint FfxUInt32; |
||||
|
typedef uint2 FfxUInt32x2; |
||||
|
typedef uint3 FfxUInt32x3; |
||||
|
typedef uint4 FfxUInt32x4; |
||||
|
typedef int FfxInt32; |
||||
|
typedef int2 FfxInt32x2; |
||||
|
typedef int3 FfxInt32x3; |
||||
|
typedef int4 FfxInt32x4; |
||||
|
#endif // #if defined(FFX_HLSL_6_2) |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
#if FFX_HLSL_6_2 |
||||
|
typedef float16_t FfxFloat16; |
||||
|
typedef float16_t2 FfxFloat16x2; |
||||
|
typedef float16_t3 FfxFloat16x3; |
||||
|
typedef float16_t4 FfxFloat16x4; |
||||
|
|
||||
|
/// A typedef for an unsigned 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef uint16_t FfxUInt16; |
||||
|
typedef uint16_t2 FfxUInt16x2; |
||||
|
typedef uint16_t3 FfxUInt16x3; |
||||
|
typedef uint16_t4 FfxUInt16x4; |
||||
|
|
||||
|
/// A typedef for a signed 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef int16_t FfxInt16; |
||||
|
typedef int16_t2 FfxInt16x2; |
||||
|
typedef int16_t3 FfxInt16x3; |
||||
|
typedef int16_t4 FfxInt16x4; |
||||
|
#else |
||||
|
typedef min16float FfxFloat16; |
||||
|
typedef min16float2 FfxFloat16x2; |
||||
|
typedef min16float3 FfxFloat16x3; |
||||
|
typedef min16float4 FfxFloat16x4; |
||||
|
|
||||
|
/// A typedef for an unsigned 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef min16uint FfxUInt16; |
||||
|
typedef min16uint2 FfxUInt16x2; |
||||
|
typedef min16uint3 FfxUInt16x3; |
||||
|
typedef min16uint4 FfxUInt16x4; |
||||
|
|
||||
|
/// A typedef for a signed 16bit integer. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
typedef min16int FfxInt16; |
||||
|
typedef min16int2 FfxInt16x2; |
||||
|
typedef min16int3 FfxInt16x3; |
||||
|
typedef min16int4 FfxInt16x4; |
||||
|
#endif // FFX_HLSL_6_2 |
||||
|
#endif // FFX_HALF |
||||
|
#endif // #if defined(FFX_HLSL) |
||||
|
|
||||
|
#if defined(FFX_GLSL) |
||||
|
/// A typedef for a boolean value. |
||||
|
/// |
||||
|
/// @ingroup GPU |
||||
|
#define FfxBoolean bool |
||||
|
#define FfxFloat32 float |
||||
|
#define FfxFloat32x2 vec2 |
||||
|
#define FfxFloat32x3 vec3 |
||||
|
#define FfxFloat32x4 vec4 |
||||
|
#define FfxUInt32 uint |
||||
|
#define FfxUInt32x2 uvec2 |
||||
|
#define FfxUInt32x3 uvec3 |
||||
|
#define FfxUInt32x4 uvec4 |
||||
|
#define FfxInt32 int |
||||
|
#define FfxInt32x2 ivec2 |
||||
|
#define FfxInt32x3 ivec3 |
||||
|
#define FfxInt32x4 ivec4 |
||||
|
#if FFX_HALF |
||||
|
#define FfxFloat16 float16_t |
||||
|
#define FfxFloat16x2 f16vec2 |
||||
|
#define FfxFloat16x3 f16vec3 |
||||
|
#define FfxFloat16x4 f16vec4 |
||||
|
#define FfxUInt16 uint16_t |
||||
|
#define FfxUInt16x2 u16vec2 |
||||
|
#define FfxUInt16x3 u16vec3 |
||||
|
#define FfxUInt16x4 u16vec4 |
||||
|
#define FfxInt16 int16_t |
||||
|
#define FfxInt16x2 i16vec2 |
||||
|
#define FfxInt16x3 i16vec3 |
||||
|
#define FfxInt16x4 i16vec4 |
||||
|
#endif // FFX_HALF |
||||
|
#endif // #if defined(FFX_GLSL) |
||||
|
|
||||
|
// Global toggles: |
||||
|
// #define FFX_HALF (1) |
||||
|
// #define FFX_HLSL_6_2 (1) |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
|
||||
|
#if FFX_HLSL_6_2 |
||||
|
|
||||
|
#define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType##16_t TypeName; |
||||
|
#define FFX_MIN16_VECTOR( TypeName, BaseComponentType, COL ) typedef vector<BaseComponentType##16_t, COL> TypeName; |
||||
|
#define FFX_MIN16_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef matrix<BaseComponentType##16_t, ROW, COL> TypeName; |
||||
|
|
||||
|
#define FFX_16BIT_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType##16_t TypeName; |
||||
|
#define FFX_16BIT_VECTOR( TypeName, BaseComponentType, COL ) typedef vector<BaseComponentType##16_t, COL> TypeName; |
||||
|
#define FFX_16BIT_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef matrix<BaseComponentType##16_t, ROW, COL> TypeName; |
||||
|
|
||||
|
#else //FFX_HLSL_6_2 |
||||
|
|
||||
|
#define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef min16##BaseComponentType TypeName; |
||||
|
#define FFX_MIN16_VECTOR( TypeName, BaseComponentType, COL ) typedef vector<min16##BaseComponentType, COL> TypeName; |
||||
|
#define FFX_MIN16_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef matrix<min16##BaseComponentType, ROW, COL> TypeName; |
||||
|
|
||||
|
#define FFX_16BIT_SCALAR( TypeName, BaseComponentType ) FFX_MIN16_SCALAR( TypeName, BaseComponentType ); |
||||
|
#define FFX_16BIT_VECTOR( TypeName, BaseComponentType, COL ) FFX_MIN16_VECTOR( TypeName, BaseComponentType, COL ); |
||||
|
#define FFX_16BIT_MATRIX( TypeName, BaseComponentType, ROW, COL ) FFX_MIN16_MATRIX( TypeName, BaseComponentType, ROW, COL ); |
||||
|
|
||||
|
#endif //FFX_HLSL_6_2 |
||||
|
|
||||
|
#else //FFX_HALF |
||||
|
|
||||
|
#define FFX_MIN16_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName; |
||||
|
#define FFX_MIN16_VECTOR( TypeName, BaseComponentType, COL ) typedef vector<BaseComponentType, COL> TypeName; |
||||
|
#define FFX_MIN16_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef matrix<BaseComponentType, ROW, COL> TypeName; |
||||
|
|
||||
|
#define FFX_16BIT_SCALAR( TypeName, BaseComponentType ) typedef BaseComponentType TypeName; |
||||
|
#define FFX_16BIT_VECTOR( TypeName, BaseComponentType, COL ) typedef vector<BaseComponentType, COL> TypeName; |
||||
|
#define FFX_16BIT_MATRIX( TypeName, BaseComponentType, ROW, COL ) typedef matrix<BaseComponentType, ROW, COL> TypeName; |
||||
|
|
||||
|
#endif //FFX_HALF |
||||
|
|
||||
|
#if defined(FFX_GPU) |
||||
|
// Common typedefs: |
||||
|
#if defined(FFX_HLSL) |
||||
|
FFX_MIN16_SCALAR( FFX_MIN16_F , float ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_F2, float, 2 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_F3, float, 3 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_F4, float, 4 ); |
||||
|
|
||||
|
FFX_MIN16_SCALAR( FFX_MIN16_I, int ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_I2, int, 2 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_I3, int, 3 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_I4, int, 4 ); |
||||
|
|
||||
|
FFX_MIN16_SCALAR( FFX_MIN16_U, uint ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_U2, uint, 2 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_U3, uint, 3 ); |
||||
|
FFX_MIN16_VECTOR( FFX_MIN16_U4, uint, 4 ); |
||||
|
|
||||
|
FFX_16BIT_SCALAR( FFX_F16_t , float ); |
||||
|
FFX_16BIT_VECTOR( FFX_F16_t2, float, 2 ); |
||||
|
FFX_16BIT_VECTOR( FFX_F16_t3, float, 3 ); |
||||
|
FFX_16BIT_VECTOR( FFX_F16_t4, float, 4 ); |
||||
|
|
||||
|
FFX_16BIT_SCALAR( FFX_I16_t, int ); |
||||
|
FFX_16BIT_VECTOR( FFX_I16_t2, int, 2 ); |
||||
|
FFX_16BIT_VECTOR( FFX_I16_t3, int, 3 ); |
||||
|
FFX_16BIT_VECTOR( FFX_I16_t4, int, 4 ); |
||||
|
|
||||
|
FFX_16BIT_SCALAR( FFX_U16_t, uint ); |
||||
|
FFX_16BIT_VECTOR( FFX_U16_t2, uint, 2 ); |
||||
|
FFX_16BIT_VECTOR( FFX_U16_t3, uint, 3 ); |
||||
|
FFX_16BIT_VECTOR( FFX_U16_t4, uint, 4 ); |
||||
|
|
||||
|
#define TYPEDEF_MIN16_TYPES(Prefix) \ |
||||
|
typedef FFX_MIN16_F Prefix##_F; \ |
||||
|
typedef FFX_MIN16_F2 Prefix##_F2; \ |
||||
|
typedef FFX_MIN16_F3 Prefix##_F3; \ |
||||
|
typedef FFX_MIN16_F4 Prefix##_F4; \ |
||||
|
typedef FFX_MIN16_I Prefix##_I; \ |
||||
|
typedef FFX_MIN16_I2 Prefix##_I2; \ |
||||
|
typedef FFX_MIN16_I3 Prefix##_I3; \ |
||||
|
typedef FFX_MIN16_I4 Prefix##_I4; \ |
||||
|
typedef FFX_MIN16_U Prefix##_U; \ |
||||
|
typedef FFX_MIN16_U2 Prefix##_U2; \ |
||||
|
typedef FFX_MIN16_U3 Prefix##_U3; \ |
||||
|
typedef FFX_MIN16_U4 Prefix##_U4; |
||||
|
|
||||
|
#define TYPEDEF_16BIT_TYPES(Prefix) \ |
||||
|
typedef FFX_16BIT_F Prefix##_F; \ |
||||
|
typedef FFX_16BIT_F2 Prefix##_F2; \ |
||||
|
typedef FFX_16BIT_F3 Prefix##_F3; \ |
||||
|
typedef FFX_16BIT_F4 Prefix##_F4; \ |
||||
|
typedef FFX_16BIT_I Prefix##_I; \ |
||||
|
typedef FFX_16BIT_I2 Prefix##_I2; \ |
||||
|
typedef FFX_16BIT_I3 Prefix##_I3; \ |
||||
|
typedef FFX_16BIT_I4 Prefix##_I4; \ |
||||
|
typedef FFX_16BIT_U Prefix##_U; \ |
||||
|
typedef FFX_16BIT_U2 Prefix##_U2; \ |
||||
|
typedef FFX_16BIT_U3 Prefix##_U3; \ |
||||
|
typedef FFX_16BIT_U4 Prefix##_U4; |
||||
|
|
||||
|
#define TYPEDEF_FULL_PRECISION_TYPES(Prefix) \ |
||||
|
typedef FfxFloat32 Prefix##_F; \ |
||||
|
typedef FfxFloat32x2 Prefix##_F2; \ |
||||
|
typedef FfxFloat32x3 Prefix##_F3; \ |
||||
|
typedef FfxFloat32x4 Prefix##_F4; \ |
||||
|
typedef FfxInt32 Prefix##_I; \ |
||||
|
typedef FfxInt32x2 Prefix##_I2; \ |
||||
|
typedef FfxInt32x3 Prefix##_I3; \ |
||||
|
typedef FfxInt32x4 Prefix##_I4; \ |
||||
|
typedef FfxUInt32 Prefix##_U; \ |
||||
|
typedef FfxUInt32x2 Prefix##_U2; \ |
||||
|
typedef FfxUInt32x3 Prefix##_U3; \ |
||||
|
typedef FfxUInt32x4 Prefix##_U4; |
||||
|
#endif // #if defined(FFX_HLSL) |
||||
|
|
||||
|
#if defined(FFX_GLSL) |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
|
||||
|
#define FFX_MIN16_F float16_t |
||||
|
#define FFX_MIN16_F2 f16vec2 |
||||
|
#define FFX_MIN16_F3 f16vec3 |
||||
|
#define FFX_MIN16_F4 f16vec4 |
||||
|
|
||||
|
#define FFX_MIN16_I int16_t |
||||
|
#define FFX_MIN16_I2 i16vec2 |
||||
|
#define FFX_MIN16_I3 i16vec3 |
||||
|
#define FFX_MIN16_I4 i16vec4 |
||||
|
|
||||
|
#define FFX_MIN16_U uint16_t |
||||
|
#define FFX_MIN16_U2 u16vec2 |
||||
|
#define FFX_MIN16_U3 u16vec3 |
||||
|
#define FFX_MIN16_U4 u16vec4 |
||||
|
|
||||
|
#define FFX_16BIT_F float16_t |
||||
|
#define FFX_16BIT_F2 f16vec2 |
||||
|
#define FFX_16BIT_F3 f16vec3 |
||||
|
#define FFX_16BIT_F4 f16vec4 |
||||
|
|
||||
|
#define FFX_16BIT_I int16_t |
||||
|
#define FFX_16BIT_I2 i16vec2 |
||||
|
#define FFX_16BIT_I3 i16vec3 |
||||
|
#define FFX_16BIT_I4 i16vec4 |
||||
|
|
||||
|
#define FFX_16BIT_U uint16_t |
||||
|
#define FFX_16BIT_U2 u16vec2 |
||||
|
#define FFX_16BIT_U3 u16vec3 |
||||
|
#define FFX_16BIT_U4 u16vec4 |
||||
|
|
||||
|
#else // FFX_HALF |
||||
|
|
||||
|
#define FFX_MIN16_F float |
||||
|
#define FFX_MIN16_F2 vec2 |
||||
|
#define FFX_MIN16_F3 vec3 |
||||
|
#define FFX_MIN16_F4 vec4 |
||||
|
|
||||
|
#define FFX_MIN16_I int |
||||
|
#define FFX_MIN16_I2 ivec2 |
||||
|
#define FFX_MIN16_I3 ivec3 |
||||
|
#define FFX_MIN16_I4 ivec4 |
||||
|
|
||||
|
#define FFX_MIN16_U uint |
||||
|
#define FFX_MIN16_U2 uvec2 |
||||
|
#define FFX_MIN16_U3 uvec3 |
||||
|
#define FFX_MIN16_U4 uvec4 |
||||
|
|
||||
|
#define FFX_16BIT_F float |
||||
|
#define FFX_16BIT_F2 vec2 |
||||
|
#define FFX_16BIT_F3 vec3 |
||||
|
#define FFX_16BIT_F4 vec4 |
||||
|
|
||||
|
#define FFX_16BIT_I int |
||||
|
#define FFX_16BIT_I2 ivec2 |
||||
|
#define FFX_16BIT_I3 ivec3 |
||||
|
#define FFX_16BIT_I4 ivec4 |
||||
|
|
||||
|
#define FFX_16BIT_U uint |
||||
|
#define FFX_16BIT_U2 uvec2 |
||||
|
#define FFX_16BIT_U3 uvec3 |
||||
|
#define FFX_16BIT_U4 uvec4 |
||||
|
|
||||
|
#endif // FFX_HALF |
||||
|
|
||||
|
#endif // #if defined(FFX_GLSL) |
||||
|
|
||||
|
#endif // #if defined(FFX_GPU) |
||||
|
#endif // #ifndef FFX_COMMON_TYPES_H |
||||
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: a44469065afba1e40ab87f099c2c8848 |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,52 @@ |
|||||
|
// This file is part of the FidelityFX SDK. |
||||
|
// |
||||
|
// Copyright (c) 2022 Advanced Micro Devices, Inc. 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. |
||||
|
|
||||
|
/// @defgroup Core |
||||
|
/// @defgroup HLSL |
||||
|
/// @defgroup GLSL |
||||
|
/// @defgroup GPU |
||||
|
/// @defgroup CPU |
||||
|
/// @defgroup CAS |
||||
|
/// @defgroup FSR1 |
||||
|
|
||||
|
#if !defined(FFX_CORE_H) |
||||
|
#define FFX_CORE_H |
||||
|
|
||||
|
#include "ffx_common_types.h" |
||||
|
|
||||
|
#if defined(FFX_CPU) |
||||
|
#include "ffx_core_cpu.h" |
||||
|
#endif // #if defined(FFX_CPU) |
||||
|
|
||||
|
#if defined(FFX_GLSL) && defined(FFX_GPU) |
||||
|
#include "ffx_core_glsl.h" |
||||
|
#endif // #if defined(FFX_GLSL) && defined(FFX_GPU) |
||||
|
|
||||
|
#if defined(FFX_HLSL) && defined(FFX_GPU) |
||||
|
#include "ffx_core_hlsl.h" |
||||
|
#endif // #if defined(FFX_HLSL) && defined(FFX_GPU) |
||||
|
|
||||
|
#if defined(FFX_GPU) |
||||
|
#include "ffx_core_gpu_common.h" |
||||
|
#include "ffx_core_gpu_common_half.h" |
||||
|
#include "ffx_core_portability.h" |
||||
|
#endif // #if defined(FFX_GPU) |
||||
|
#endif // #if !defined(FFX_CORE_H) |
||||
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 35579ac40cf103a49a29966f8d991a61 |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
2784
Assets/Resources/Shaders/ffx_core_gpu_common.h
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 041095789ff5b314fae434ff885e389d |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
2978
Assets/Resources/Shaders/ffx_core_gpu_common_half.h
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: d16a1a4953abf534caaa4bd8843de607 |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
1396
Assets/Resources/Shaders/ffx_core_hlsl.h
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: d9d43e208984ec94facb71623986b1cf |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,50 @@ |
|||||
|
// This file is part of the FidelityFX SDK. |
||||
|
// |
||||
|
// Copyright (c) 2021 Advanced Micro Devices, Inc. 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. |
||||
|
|
||||
|
FfxFloat32x3 opAAddOneF3(FfxFloat32x3 d, FfxFloat32x3 a, FfxFloat32 b) |
||||
|
{ |
||||
|
d = a + ffxBroadcast3(b); |
||||
|
return d; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32x3 opACpyF3(FfxFloat32x3 d, FfxFloat32x3 a) |
||||
|
{ |
||||
|
d = a; |
||||
|
return d; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32x3 opAMulF3(FfxFloat32x3 d, FfxFloat32x3 a, FfxFloat32x3 b) |
||||
|
{ |
||||
|
d = a * b; |
||||
|
return d; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32x3 opAMulOneF3(FfxFloat32x3 d, FfxFloat32x3 a, FfxFloat32 b) |
||||
|
{ |
||||
|
d = a * ffxBroadcast3(b); |
||||
|
return d; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32x3 opARcpF3(FfxFloat32x3 d, FfxFloat32x3 a) |
||||
|
{ |
||||
|
d = rcp(a); |
||||
|
return d; |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 99bc6885ecf87554aae6119a96eaaf6c |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
1250
Assets/Resources/Shaders/ffx_fsr1.h
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 7d1bd748bf4775847ac7cec07191796a |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,422 @@ |
|||||
|
// This file is part of the FidelityFX SDK. |
||||
|
// |
||||
|
// Copyright (c) 2022 Advanced Micro Devices, Inc. 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. |
||||
|
|
||||
|
#if !defined(FFX_FSR2_COMMON_H) |
||||
|
#define FFX_FSR2_COMMON_H |
||||
|
|
||||
|
#if defined(FFX_CPU) || defined(FFX_GPU) |
||||
|
//Locks |
||||
|
#define LOCK_LIFETIME_REMAINING 0 |
||||
|
#define LOCK_TEMPORAL_LUMA 1 |
||||
|
#define LOCK_TRUST 2 |
||||
|
#endif // #if defined(FFX_CPU) || defined(FFX_GPU) |
||||
|
|
||||
|
#if defined(FFX_GPU) |
||||
|
FFX_STATIC const FfxFloat32 FSR2_EPSILON = 1e-03f; |
||||
|
FFX_STATIC const FfxFloat32 FSR2_TONEMAP_EPSILON = 1e-03f; |
||||
|
FFX_STATIC const FfxFloat32 FSR2_FLT_MAX = 3.402823466e+38f; |
||||
|
FFX_STATIC const FfxFloat32 FSR2_FLT_MIN = 1.175494351e-38f; |
||||
|
|
||||
|
// treat vector truncation warnings as errors |
||||
|
#pragma warning(error: 3206) |
||||
|
|
||||
|
// suppress warnings |
||||
|
#pragma warning(disable: 3205) // conversion from larger type to smaller |
||||
|
#pragma warning(disable: 3571) // in ffxPow(f, e), f could be negative |
||||
|
|
||||
|
// Reconstructed depth usage |
||||
|
FFX_STATIC const FfxFloat32 reconstructedDepthBilinearWeightThreshold = 0.05f; |
||||
|
|
||||
|
// Accumulation |
||||
|
FFX_STATIC const FfxFloat32 averageLanczosWeightPerFrame = 0.74f; // Average lanczos weight for jitter accumulated samples |
||||
|
FFX_STATIC const FfxFloat32 accumulationMaxOnMotion = 4.0f; |
||||
|
|
||||
|
// Auto exposure |
||||
|
FFX_STATIC const FfxFloat32 resetAutoExposureAverageSmoothing = 1e8f; |
||||
|
|
||||
|
struct LockState |
||||
|
{ |
||||
|
FfxBoolean NewLock; //Set for both unique new and re-locked new |
||||
|
FfxBoolean WasLockedPrevFrame; //Set to identify if the pixel was already locked (relock) |
||||
|
}; |
||||
|
|
||||
|
FfxFloat32 GetNormalizedRemainingLockLifetime(FfxFloat32x3 fLockStatus) |
||||
|
{ |
||||
|
const FfxFloat32 fTrust = fLockStatus[LOCK_TRUST]; |
||||
|
|
||||
|
return ffxSaturate(fLockStatus[LOCK_LIFETIME_REMAINING] - LockInitialLifetime()) / LockInitialLifetime() * fTrust; |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F GetNormalizedRemainingLockLifetime(FFX_MIN16_F3 fLockStatus) |
||||
|
{ |
||||
|
const FFX_MIN16_F fTrust = fLockStatus[LOCK_TRUST]; |
||||
|
const FFX_MIN16_F fInitialLockLifetime = FFX_MIN16_F(LockInitialLifetime()); |
||||
|
|
||||
|
return ffxSaturate(fLockStatus[LOCK_LIFETIME_REMAINING] - fInitialLockLifetime) / fInitialLockLifetime * fTrust; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
void InitializeNewLockSample(FFX_PARAMETER_OUT FfxFloat32x3 fLockStatus) |
||||
|
{ |
||||
|
fLockStatus = FfxFloat32x3(0, 0, 1); // LOCK_TRUST to 1 |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
void InitializeNewLockSample(FFX_PARAMETER_OUT FFX_MIN16_F3 fLockStatus) |
||||
|
{ |
||||
|
fLockStatus = FFX_MIN16_F3(0, 0, 1); // LOCK_TRUST to 1 |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
|
||||
|
void KillLock(FFX_PARAMETER_INOUT FfxFloat32x3 fLockStatus) |
||||
|
{ |
||||
|
fLockStatus[LOCK_LIFETIME_REMAINING] = 0; |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
void KillLock(FFX_PARAMETER_INOUT FFX_MIN16_F3 fLockStatus) |
||||
|
{ |
||||
|
fLockStatus[LOCK_LIFETIME_REMAINING] = FFX_MIN16_F(0); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
struct RectificationBoxData |
||||
|
{ |
||||
|
FfxFloat32x3 boxCenter; |
||||
|
FfxFloat32x3 boxVec; |
||||
|
FfxFloat32x3 aabbMin; |
||||
|
FfxFloat32x3 aabbMax; |
||||
|
}; |
||||
|
#if FFX_HALF |
||||
|
struct RectificationBoxDataMin16 |
||||
|
{ |
||||
|
FFX_MIN16_F3 boxCenter; |
||||
|
FFX_MIN16_F3 boxVec; |
||||
|
FFX_MIN16_F3 aabbMin; |
||||
|
FFX_MIN16_F3 aabbMax; |
||||
|
}; |
||||
|
#endif |
||||
|
|
||||
|
struct RectificationBox |
||||
|
{ |
||||
|
RectificationBoxData data_; |
||||
|
FfxFloat32 fBoxCenterWeight; |
||||
|
}; |
||||
|
#if FFX_HALF |
||||
|
struct RectificationBoxMin16 |
||||
|
{ |
||||
|
RectificationBoxDataMin16 data_; |
||||
|
FFX_MIN16_F fBoxCenterWeight; |
||||
|
}; |
||||
|
#endif |
||||
|
|
||||
|
void RectificationBoxReset(FFX_PARAMETER_INOUT RectificationBox rectificationBox, const FfxFloat32x3 initialColorSample) |
||||
|
{ |
||||
|
rectificationBox.fBoxCenterWeight = FfxFloat32(0); |
||||
|
|
||||
|
rectificationBox.data_.boxCenter = FfxFloat32x3(0, 0, 0); |
||||
|
rectificationBox.data_.boxVec = FfxFloat32x3(0, 0, 0); |
||||
|
rectificationBox.data_.aabbMin = initialColorSample; |
||||
|
rectificationBox.data_.aabbMax = initialColorSample; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
void RectificationBoxReset(FFX_PARAMETER_INOUT RectificationBoxMin16 rectificationBox, const FFX_MIN16_F3 initialColorSample) |
||||
|
{ |
||||
|
rectificationBox.fBoxCenterWeight = FFX_MIN16_F(0); |
||||
|
|
||||
|
rectificationBox.data_.boxCenter = FFX_MIN16_F3(0, 0, 0); |
||||
|
rectificationBox.data_.boxVec = FFX_MIN16_F3(0, 0, 0); |
||||
|
rectificationBox.data_.aabbMin = initialColorSample; |
||||
|
rectificationBox.data_.aabbMax = initialColorSample; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
void RectificationBoxAddSample(FFX_PARAMETER_INOUT RectificationBox rectificationBox, const FfxFloat32x3 colorSample, const FfxFloat32 fSampleWeight) |
||||
|
{ |
||||
|
rectificationBox.data_.aabbMin = ffxMin(rectificationBox.data_.aabbMin, colorSample); |
||||
|
rectificationBox.data_.aabbMax = ffxMax(rectificationBox.data_.aabbMax, colorSample); |
||||
|
FfxFloat32x3 weightedSample = colorSample * fSampleWeight; |
||||
|
rectificationBox.data_.boxCenter += weightedSample; |
||||
|
rectificationBox.data_.boxVec += colorSample * weightedSample; |
||||
|
rectificationBox.fBoxCenterWeight += fSampleWeight; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
void RectificationBoxAddSample(FFX_PARAMETER_INOUT RectificationBoxMin16 rectificationBox, const FFX_MIN16_F3 colorSample, const FFX_MIN16_F fSampleWeight) |
||||
|
{ |
||||
|
rectificationBox.data_.aabbMin = ffxMin(rectificationBox.data_.aabbMin, colorSample); |
||||
|
rectificationBox.data_.aabbMax = ffxMax(rectificationBox.data_.aabbMax, colorSample); |
||||
|
FFX_MIN16_F3 weightedSample = colorSample * fSampleWeight; |
||||
|
rectificationBox.data_.boxCenter += weightedSample; |
||||
|
rectificationBox.data_.boxVec += colorSample * weightedSample; |
||||
|
rectificationBox.fBoxCenterWeight += fSampleWeight; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
void RectificationBoxComputeVarianceBoxData(FFX_PARAMETER_INOUT RectificationBox rectificationBox) |
||||
|
{ |
||||
|
rectificationBox.fBoxCenterWeight = (abs(rectificationBox.fBoxCenterWeight) > FfxFloat32(FSR2_EPSILON) ? rectificationBox.fBoxCenterWeight : FfxFloat32(1.f)); |
||||
|
rectificationBox.data_.boxCenter /= rectificationBox.fBoxCenterWeight; |
||||
|
rectificationBox.data_.boxVec /= rectificationBox.fBoxCenterWeight; |
||||
|
FfxFloat32x3 stdDev = sqrt(abs(rectificationBox.data_.boxVec - rectificationBox.data_.boxCenter * rectificationBox.data_.boxCenter)); |
||||
|
rectificationBox.data_.boxVec = stdDev; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
void RectificationBoxComputeVarianceBoxData(FFX_PARAMETER_INOUT RectificationBoxMin16 rectificationBox) |
||||
|
{ |
||||
|
rectificationBox.fBoxCenterWeight = (abs(rectificationBox.fBoxCenterWeight) > FFX_MIN16_F(FSR2_EPSILON) ? rectificationBox.fBoxCenterWeight : FFX_MIN16_F(1.f)); |
||||
|
rectificationBox.data_.boxCenter /= rectificationBox.fBoxCenterWeight; |
||||
|
rectificationBox.data_.boxVec /= rectificationBox.fBoxCenterWeight; |
||||
|
FFX_MIN16_F3 stdDev = sqrt(abs(rectificationBox.data_.boxVec - rectificationBox.data_.boxCenter * rectificationBox.data_.boxCenter)); |
||||
|
rectificationBox.data_.boxVec = stdDev; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
RectificationBoxData RectificationBoxGetData(FFX_PARAMETER_INOUT RectificationBox rectificationBox) |
||||
|
{ |
||||
|
return rectificationBox.data_; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
RectificationBoxDataMin16 RectificationBoxGetData(FFX_PARAMETER_INOUT RectificationBoxMin16 rectificationBox) |
||||
|
{ |
||||
|
return rectificationBox.data_; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32x3 SafeRcp3(FfxFloat32x3 v) |
||||
|
{ |
||||
|
return (all(FFX_NOT_EQUAL(v, FfxFloat32x3(0, 0, 0)))) ? (FfxFloat32x3(1, 1, 1) / v) : FfxFloat32x3(0, 0, 0); |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F3 SafeRcp3(FFX_MIN16_F3 v) |
||||
|
{ |
||||
|
return (all(FFX_NOT_EQUAL(v, FFX_MIN16_F3(0, 0, 0)))) ? (FFX_MIN16_F3(1, 1, 1) / v) : FFX_MIN16_F3(0, 0, 0); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32 MinDividedByMax(const FfxFloat32 v0, const FfxFloat32 v1) |
||||
|
{ |
||||
|
const FfxFloat32 m = ffxMax(v0, v1); |
||||
|
return m != 0 ? ffxMin(v0, v1) / m : 0; |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F MinDividedByMax(const FFX_MIN16_F v0, const FFX_MIN16_F v1) |
||||
|
{ |
||||
|
const FFX_MIN16_F m = ffxMax(v0, v1); |
||||
|
return m != FFX_MIN16_F(0) ? ffxMin(v0, v1) / m : FFX_MIN16_F(0); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32x3 YCoCgToRGB(FfxFloat32x3 fYCoCg) |
||||
|
{ |
||||
|
FfxFloat32x3 fRgb; |
||||
|
|
||||
|
fYCoCg.yz -= FfxFloat32x2(0.5f, 0.5f); // [0,1] -> [-0.5,0.5] |
||||
|
|
||||
|
fRgb = FfxFloat32x3( |
||||
|
fYCoCg.x + fYCoCg.y - fYCoCg.z, |
||||
|
fYCoCg.x + fYCoCg.z, |
||||
|
fYCoCg.x - fYCoCg.y - fYCoCg.z); |
||||
|
|
||||
|
return fRgb; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F3 YCoCgToRGB(FFX_MIN16_F3 fYCoCg) |
||||
|
{ |
||||
|
FFX_MIN16_F3 fRgb; |
||||
|
|
||||
|
fYCoCg.yz -= FFX_MIN16_F2(0.5f, 0.5f); // [0,1] -> [-0.5,0.5] |
||||
|
|
||||
|
fRgb = FFX_MIN16_F3( |
||||
|
fYCoCg.x + fYCoCg.y - fYCoCg.z, |
||||
|
fYCoCg.x + fYCoCg.z, |
||||
|
fYCoCg.x - fYCoCg.y - fYCoCg.z); |
||||
|
|
||||
|
return fRgb; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32x3 RGBToYCoCg(FfxFloat32x3 fRgb) |
||||
|
{ |
||||
|
FfxFloat32x3 fYCoCg; |
||||
|
|
||||
|
fYCoCg = FfxFloat32x3( |
||||
|
0.25f * fRgb.r + 0.5f * fRgb.g + 0.25f * fRgb.b, |
||||
|
0.5f * fRgb.r - 0.5f * fRgb.b, |
||||
|
-0.25f * fRgb.r + 0.5f * fRgb.g - 0.25f * fRgb.b); |
||||
|
|
||||
|
fYCoCg.yz += FfxFloat32x2(0.5f, 0.5f); // [-0.5,0.5] -> [0,1] |
||||
|
|
||||
|
return fYCoCg; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F3 RGBToYCoCg(FFX_MIN16_F3 fRgb) |
||||
|
{ |
||||
|
FFX_MIN16_F3 fYCoCg; |
||||
|
|
||||
|
fYCoCg = FFX_MIN16_F3( |
||||
|
0.25 * fRgb.r + 0.5 * fRgb.g + 0.25 * fRgb.b, |
||||
|
0.5 * fRgb.r - 0.5 * fRgb.b, |
||||
|
-0.25 * fRgb.r + 0.5 * fRgb.g - 0.25 * fRgb.b); |
||||
|
|
||||
|
fYCoCg.yz += FFX_MIN16_F2(0.5, 0.5); // [-0.5,0.5] -> [0,1] |
||||
|
|
||||
|
return fYCoCg; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32 RGBToLuma(FfxFloat32x3 fLinearRgb) |
||||
|
{ |
||||
|
return dot(fLinearRgb, FfxFloat32x3(0.2126f, 0.7152f, 0.0722f)); |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F RGBToLuma(FFX_MIN16_F3 fLinearRgb) |
||||
|
{ |
||||
|
return dot(fLinearRgb, FFX_MIN16_F3(0.2126f, 0.7152f, 0.0722f)); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32 RGBToPerceivedLuma(FfxFloat32x3 fLinearRgb) |
||||
|
{ |
||||
|
FfxFloat32 fLuminance = RGBToLuma(fLinearRgb); |
||||
|
|
||||
|
FfxFloat32 fPercievedLuminance = 0; |
||||
|
if (fLuminance <= 216.0f / 24389.0f) { |
||||
|
fPercievedLuminance = fLuminance * (24389.0f / 27.0f); |
||||
|
} else { |
||||
|
fPercievedLuminance = ffxPow(fLuminance, 1.0f / 3.0f) * 116.0f - 16.0f; |
||||
|
} |
||||
|
|
||||
|
return fPercievedLuminance * 0.01f; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F RGBToPerceivedLuma(FFX_MIN16_F3 fLinearRgb) |
||||
|
{ |
||||
|
FFX_MIN16_F fLuminance = RGBToLuma(fLinearRgb); |
||||
|
|
||||
|
FFX_MIN16_F fPercievedLuminance = FFX_MIN16_F(0); |
||||
|
if (fLuminance <= FFX_MIN16_F(216.0f / 24389.0f)) { |
||||
|
fPercievedLuminance = fLuminance * FFX_MIN16_F(24389.0f / 27.0f); |
||||
|
} |
||||
|
else { |
||||
|
fPercievedLuminance = ffxPow(fLuminance, FFX_MIN16_F(1.0f / 3.0f)) * FFX_MIN16_F(116.0f) - FFX_MIN16_F(16.0f); |
||||
|
} |
||||
|
|
||||
|
return fPercievedLuminance * FFX_MIN16_F(0.01f); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
|
||||
|
FfxFloat32x3 Tonemap(FfxFloat32x3 fRgb) |
||||
|
{ |
||||
|
return fRgb / (ffxMax(ffxMax(0.f, fRgb.r), ffxMax(fRgb.g, fRgb.b)) + 1.f).xxx; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32x3 InverseTonemap(FfxFloat32x3 fRgb) |
||||
|
{ |
||||
|
return fRgb / ffxMax(FSR2_TONEMAP_EPSILON, 1.f - ffxMax(fRgb.r, ffxMax(fRgb.g, fRgb.b))).xxx; |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F3 Tonemap(FFX_MIN16_F3 fRgb) |
||||
|
{ |
||||
|
return fRgb / (ffxMax(ffxMax(FFX_MIN16_F(0.f), fRgb.r), ffxMax(fRgb.g, fRgb.b)) + FFX_MIN16_F(1.f)).xxx; |
||||
|
} |
||||
|
|
||||
|
FFX_MIN16_F3 InverseTonemap(FFX_MIN16_F3 fRgb) |
||||
|
{ |
||||
|
return fRgb / ffxMax(FFX_MIN16_F(FSR2_TONEMAP_EPSILON), FFX_MIN16_F(1.f) - ffxMax(fRgb.r, ffxMax(fRgb.g, fRgb.b))).xxx; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxInt32x2 ClampLoad(FfxInt32x2 iPxSample, FfxInt32x2 iPxOffset, FfxInt32x2 iTextureSize) |
||||
|
{ |
||||
|
return clamp(iPxSample + iPxOffset, FfxInt32x2(0, 0), iTextureSize - FfxInt32x2(1, 1)); |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_I2 ClampLoad(FFX_MIN16_I2 iPxSample, FFX_MIN16_I2 iPxOffset, FFX_MIN16_I2 iTextureSize) |
||||
|
{ |
||||
|
return clamp(iPxSample + iPxOffset, FFX_MIN16_I2(0, 0), iTextureSize - FFX_MIN16_I2(1, 1)); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxBoolean IsOnScreen(FfxInt32x2 pos, FfxInt32x2 size) |
||||
|
{ |
||||
|
return all(FFX_GREATER_THAN_EQUAL(pos, FfxInt32x2(0, 0))) && all(FFX_LESS_THAN(pos, size)); |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FfxBoolean IsOnScreen(FFX_MIN16_I2 pos, FFX_MIN16_I2 size) |
||||
|
{ |
||||
|
return all(FFX_GREATER_THAN_EQUAL(pos, FFX_MIN16_I2(0, 0))) && all(FFX_LESS_THAN(pos, size)); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxFloat32 ComputeAutoExposureFromLavg(FfxFloat32 Lavg) |
||||
|
{ |
||||
|
Lavg = exp(Lavg); |
||||
|
|
||||
|
const FfxFloat32 S = 100.0f; //ISO arithmetic speed |
||||
|
const FfxFloat32 K = 12.5f; |
||||
|
FfxFloat32 ExposureISO100 = log2((Lavg * S) / K); |
||||
|
|
||||
|
const FfxFloat32 q = 0.65f; |
||||
|
FfxFloat32 Lmax = (78.0f / (q * S)) * ffxPow(2.0f, ExposureISO100); |
||||
|
|
||||
|
return 1 / Lmax; |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_F ComputeAutoExposureFromLavg(FFX_MIN16_F Lavg) |
||||
|
{ |
||||
|
Lavg = exp(Lavg); |
||||
|
|
||||
|
const FFX_MIN16_F S = FFX_MIN16_F(100.0f); //ISO arithmetic speed |
||||
|
const FFX_MIN16_F K = FFX_MIN16_F(12.5f); |
||||
|
const FFX_MIN16_F ExposureISO100 = log2((Lavg * S) / K); |
||||
|
|
||||
|
const FFX_MIN16_F q = FFX_MIN16_F(0.65f); |
||||
|
const FFX_MIN16_F Lmax = (FFX_MIN16_F(78.0f) / (q * S)) * ffxPow(FFX_MIN16_F(2.0f), ExposureISO100); |
||||
|
|
||||
|
return FFX_MIN16_F(1) / Lmax; |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
FfxInt32x2 ComputeHrPosFromLrPos(FfxInt32x2 iPxLrPos) |
||||
|
{ |
||||
|
FfxFloat32x2 fSrcJitteredPos = FfxFloat32x2(iPxLrPos) + 0.5f - Jitter(); |
||||
|
FfxFloat32x2 fLrPosInHr = (fSrcJitteredPos / RenderSize()) * DisplaySize(); |
||||
|
FfxFloat32x2 fHrPos = floor(fLrPosInHr) + 0.5f; |
||||
|
return FfxInt32x2(fHrPos); |
||||
|
} |
||||
|
#if FFX_HALF |
||||
|
FFX_MIN16_I2 ComputeHrPosFromLrPos(FFX_MIN16_I2 iPxLrPos) |
||||
|
{ |
||||
|
FFX_MIN16_F2 fSrcJitteredPos = FFX_MIN16_F2(iPxLrPos) + FFX_MIN16_F(0.5f) - FFX_MIN16_F2(Jitter()); |
||||
|
FFX_MIN16_F2 fLrPosInHr = (fSrcJitteredPos / FFX_MIN16_F2(RenderSize())) * FFX_MIN16_F2(DisplaySize()); |
||||
|
FFX_MIN16_F2 fHrPos = floor(fLrPosInHr) + FFX_MIN16_F(0.5); |
||||
|
return FFX_MIN16_I2(fHrPos); |
||||
|
} |
||||
|
#endif |
||||
|
|
||||
|
#endif // #if defined(FFX_GPU) |
||||
|
|
||||
|
#endif //!defined(FFX_FSR2_COMMON_H) |
||||
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 9cdba182d33eab646b8df7521a7ec649 |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,105 @@ |
|||||
|
// This file is part of the FidelityFX SDK. |
||||
|
// |
||||
|
// Copyright (c) 2022 Advanced Micro Devices, Inc. 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. |
||||
|
|
||||
|
#define GROUP_SIZE 8 |
||||
|
|
||||
|
#define FSR_RCAS_DENOISE 1 |
||||
|
|
||||
|
void WriteUpscaledOutput(FFX_MIN16_U2 iPxHrPos, FfxFloat32x3 fUpscaledColor) |
||||
|
{ |
||||
|
StoreUpscaledOutput(FFX_MIN16_I2(iPxHrPos), fUpscaledColor); |
||||
|
} |
||||
|
|
||||
|
#if FFX_HALF |
||||
|
#define FSR_RCAS_H |
||||
|
FfxFloat16x4 FsrRcasLoadH(FfxInt16x2 p) |
||||
|
{ |
||||
|
FfxFloat32x4 inputSample = LoadRCAS_Input(p); //TODO: fix type |
||||
|
|
||||
|
inputSample.rgb *= Exposure(); |
||||
|
|
||||
|
#if FFX_FSR2_OPTION_HDR_COLOR_INPUT |
||||
|
inputSample.rgb = Tonemap(inputSample.rgb); |
||||
|
#endif // #if FFX_FSR2_OPTION_HDR_COLOR_INPUT |
||||
|
|
||||
|
return FfxFloat16x4(inputSample); |
||||
|
} |
||||
|
void FsrRcasInputH(inout FfxFloat16 r, inout FfxFloat16 g, inout FfxFloat16 b) {} |
||||
|
#else |
||||
|
#define FSR_RCAS_F |
||||
|
FfxFloat32x4 FsrRcasLoadF(FfxInt32x2 p) |
||||
|
{ |
||||
|
FfxFloat32x4 inputSample = LoadRCAS_Input(p); |
||||
|
|
||||
|
inputSample.rgb *= Exposure(); |
||||
|
|
||||
|
#if FFX_FSR2_OPTION_HDR_COLOR_INPUT |
||||
|
inputSample.rgb = Tonemap(inputSample.rgb); |
||||
|
#endif |
||||
|
|
||||
|
return inputSample; |
||||
|
} |
||||
|
|
||||
|
void FsrRcasInputF(inout FfxFloat32 r, inout FfxFloat32 g, inout FfxFloat32 b) {} |
||||
|
#endif // #if FFX_HALF |
||||
|
|
||||
|
#include "ffx_fsr1.h" |
||||
|
|
||||
|
|
||||
|
void CurrFilter(FFX_MIN16_U2 pos) |
||||
|
{ |
||||
|
#if FFX_HALF |
||||
|
FfxFloat16x3 c; |
||||
|
FsrRcasH(c.r, c.g, c.b, pos, RCASConfig()); |
||||
|
|
||||
|
#if FFX_FSR2_OPTION_HDR_COLOR_INPUT |
||||
|
c = InverseTonemap(c); |
||||
|
#endif |
||||
|
|
||||
|
c /= FfxFloat16(Exposure()); |
||||
|
|
||||
|
WriteUpscaledOutput(pos, c); //TODO: fix type |
||||
|
#else |
||||
|
FfxFloat32x3 c; |
||||
|
FsrRcasF(c.r, c.g, c.b, pos, RCASConfig()); |
||||
|
|
||||
|
#if FFX_FSR2_OPTION_HDR_COLOR_INPUT |
||||
|
c = InverseTonemap(c); |
||||
|
#endif |
||||
|
|
||||
|
c /= Exposure(); |
||||
|
|
||||
|
WriteUpscaledOutput(pos, c); |
||||
|
#endif |
||||
|
} |
||||
|
|
||||
|
void RCAS(FfxUInt32x3 LocalThreadId, FfxUInt32x3 WorkGroupId, FfxUInt32x3 Dtid) |
||||
|
{ |
||||
|
// Do remapping of local xy in workgroup for a more PS-like swizzle pattern. |
||||
|
FfxUInt32x2 gxy = ffxRemapForQuad(LocalThreadId.x) + FfxUInt32x2(WorkGroupId.x << 4u, WorkGroupId.y << 4u); |
||||
|
CurrFilter(FFX_MIN16_U2(gxy)); |
||||
|
gxy.x += 8u; |
||||
|
CurrFilter(FFX_MIN16_U2(gxy)); |
||||
|
gxy.y += 8u; |
||||
|
CurrFilter(FFX_MIN16_U2(gxy)); |
||||
|
gxy.x -= 8u; |
||||
|
CurrFilter(FFX_MIN16_U2(gxy)); |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 755780b5a13da4047a06cae98bbcc0de |
||||
|
PluginImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
iconMap: {} |
||||
|
executionOrder: {} |
||||
|
defineConstraints: [] |
||||
|
isPreloaded: 0 |
||||
|
isOverridable: 0 |
||||
|
isExplicitlyReferenced: 0 |
||||
|
validateReferences: 1 |
||||
|
platformData: |
||||
|
- first: |
||||
|
Any: |
||||
|
second: |
||||
|
enabled: 1 |
||||
|
settings: {} |
||||
|
- first: |
||||
|
Editor: Editor |
||||
|
second: |
||||
|
enabled: 0 |
||||
|
settings: |
||||
|
DefaultValueInitialized: true |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,84 @@ |
|||||
|
// Each #kernel tells which function to compile; you can have many kernels |
||||
|
#pragma kernel CS |
||||
|
|
||||
|
// Create a RenderTexture with enableRandomWrite flag and set it with cs.SetTexture |
||||
|
// NOTE: the .hlsl files conveniently contain a list of inputs and outputs in their header comments |
||||
|
//Texture2D<float2> r_exposure; // Expose is not used at the moment, so no need to bind it |
||||
|
Texture2D<float4> r_rcas_input; |
||||
|
RWTexture2D<float4> rw_upscaled_output; |
||||
|
|
||||
|
// Some global defines are needed |
||||
|
#define FFX_GPU // Compiling for GPU |
||||
|
#define FFX_HLSL // Compile for plain HLSL |
||||
|
|
||||
|
//#define FFX_FSR2_OPTION_HDR_COLOR_INPUT // This ought to be supported in the long run |
||||
|
|
||||
|
#define FSR_RCAS_F // Using 32-bit float mode (not half) |
||||
|
#define FSR2_BIND_UAV_UPSCALED_OUTPUT // Create an SRV binding for the output we need |
||||
|
|
||||
|
#include "ffx_core.h" // With the above defines this all compiles cleanly, yay! |
||||
|
|
||||
|
// This is from ffx_fsr2_callbacks_hlsl.h (bunch of macro use to declare SRVs, may need conversion) |
||||
|
FfxFloat32 Exposure() |
||||
|
{ |
||||
|
// return 1.0f; |
||||
|
#if defined(FSR2_BIND_SRV_EXPOSURE) || defined(FFX_INTERNAL) |
||||
|
FfxFloat32 exposure = r_exposure[FfxUInt32x2(0, 0)].x; |
||||
|
#else |
||||
|
FfxFloat32 exposure = 1.f; |
||||
|
#endif |
||||
|
|
||||
|
if (exposure == 0.0f) { |
||||
|
exposure = 1.0f; |
||||
|
} |
||||
|
|
||||
|
return exposure; |
||||
|
} |
||||
|
|
||||
|
FfxFloat32 PreExposure() |
||||
|
{ |
||||
|
//return fPreExposure; // TODO: requires constant buffer bindings, uhhh... (see FSR2_BIND_CB_FSR2) |
||||
|
return 1.0f; |
||||
|
} |
||||
|
|
||||
|
void StoreUpscaledOutput(FfxUInt32x2 iPxPos, FfxFloat32x3 fColor) |
||||
|
{ |
||||
|
#if defined(FSR2_BIND_UAV_UPSCALED_OUTPUT) || defined(FFX_INTERNAL) |
||||
|
rw_upscaled_output[iPxPos] = FfxFloat32x4(fColor * PreExposure(), 1.f); |
||||
|
#endif |
||||
|
} |
||||
|
|
||||
|
//#include "ffx_fsr2_common.h" // TODO: still depends on a bunch of CB's from callbacks_hlsl |
||||
|
|
||||
|
// Below is all converted from ffx_fsr2_rcas_pass.hlsl |
||||
|
uint4 RCASConfig() |
||||
|
{ |
||||
|
// These are not your typical config parameters... these are packed floats-as-ints, i.e. complete nonsense values |
||||
|
return uint4(1061290752, 974141968, 0, 0); // TODO: this needs to be a constant buffer value |
||||
|
} |
||||
|
|
||||
|
float4 LoadRCAS_Input(FfxInt32x2 iPxPos) |
||||
|
{ |
||||
|
return r_rcas_input[iPxPos]; |
||||
|
} |
||||
|
|
||||
|
#include "ffx_fsr2_rcas.h" |
||||
|
|
||||
|
#ifndef FFX_FSR2_THREAD_GROUP_WIDTH |
||||
|
#define FFX_FSR2_THREAD_GROUP_WIDTH 64 |
||||
|
#endif // #ifndef FFX_FSR2_THREAD_GROUP_WIDTH |
||||
|
#ifndef FFX_FSR2_THREAD_GROUP_HEIGHT |
||||
|
#define FFX_FSR2_THREAD_GROUP_HEIGHT 1 |
||||
|
#endif // #ifndef FFX_FSR2_THREAD_GROUP_HEIGHT |
||||
|
#ifndef FFX_FSR2_THREAD_GROUP_DEPTH |
||||
|
#define FFX_FSR2_THREAD_GROUP_DEPTH 1 |
||||
|
#endif // #ifndef FFX_FSR2_THREAD_GROUP_DEPTH |
||||
|
#ifndef FFX_FSR2_NUM_THREADS |
||||
|
#define FFX_FSR2_NUM_THREADS [numthreads(FFX_FSR2_THREAD_GROUP_WIDTH, FFX_FSR2_THREAD_GROUP_HEIGHT, FFX_FSR2_THREAD_GROUP_DEPTH)] |
||||
|
#endif // #ifndef FFX_FSR2_NUM_THREADS |
||||
|
|
||||
|
FFX_FSR2_NUM_THREADS |
||||
|
void CS(uint3 LocalThreadId : SV_GroupThreadID, uint3 WorkGroupId : SV_GroupID, uint3 Dtid : SV_DispatchThreadID) |
||||
|
{ |
||||
|
RCAS(LocalThreadId, WorkGroupId, Dtid); |
||||
|
} |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 5a82801f160ff6a4eb47db567216e592 |
||||
|
ComputeShaderImporter: |
||||
|
externalObjects: {} |
||||
|
preprocessorOverride: 0 |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 6ea315d0fd7389c41b19996891e99ae3 |
||||
|
folderAsset: yes |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,447 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!29 &1 |
||||
|
OcclusionCullingSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_OcclusionBakeSettings: |
||||
|
smallestOccluder: 5 |
||||
|
smallestHole: 0.25 |
||||
|
backfaceThreshold: 100 |
||||
|
m_SceneGUID: 00000000000000000000000000000000 |
||||
|
m_OcclusionCullingData: {fileID: 0} |
||||
|
--- !u!104 &2 |
||||
|
RenderSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 9 |
||||
|
m_Fog: 0 |
||||
|
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} |
||||
|
m_FogMode: 3 |
||||
|
m_FogDensity: 0.01 |
||||
|
m_LinearFogStart: 0 |
||||
|
m_LinearFogEnd: 300 |
||||
|
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} |
||||
|
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} |
||||
|
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} |
||||
|
m_AmbientIntensity: 1 |
||||
|
m_AmbientMode: 0 |
||||
|
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} |
||||
|
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_HaloStrength: 0.5 |
||||
|
m_FlareStrength: 1 |
||||
|
m_FlareFadeSpeed: 3 |
||||
|
m_HaloTexture: {fileID: 0} |
||||
|
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} |
||||
|
m_DefaultReflectionMode: 0 |
||||
|
m_DefaultReflectionResolution: 128 |
||||
|
m_ReflectionBounces: 1 |
||||
|
m_ReflectionIntensity: 1 |
||||
|
m_CustomReflection: {fileID: 0} |
||||
|
m_Sun: {fileID: 705507994} |
||||
|
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} |
||||
|
m_UseRadianceAmbientProbe: 0 |
||||
|
--- !u!157 &3 |
||||
|
LightmapSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 12 |
||||
|
m_GIWorkflowMode: 1 |
||||
|
m_GISettings: |
||||
|
serializedVersion: 2 |
||||
|
m_BounceScale: 1 |
||||
|
m_IndirectOutputScale: 1 |
||||
|
m_AlbedoBoost: 1 |
||||
|
m_EnvironmentLightingMode: 0 |
||||
|
m_EnableBakedLightmaps: 1 |
||||
|
m_EnableRealtimeLightmaps: 0 |
||||
|
m_LightmapEditorSettings: |
||||
|
serializedVersion: 12 |
||||
|
m_Resolution: 2 |
||||
|
m_BakeResolution: 40 |
||||
|
m_AtlasSize: 1024 |
||||
|
m_AO: 0 |
||||
|
m_AOMaxDistance: 1 |
||||
|
m_CompAOExponent: 1 |
||||
|
m_CompAOExponentDirect: 0 |
||||
|
m_ExtractAmbientOcclusion: 0 |
||||
|
m_Padding: 2 |
||||
|
m_LightmapParameters: {fileID: 0} |
||||
|
m_LightmapsBakeMode: 1 |
||||
|
m_TextureCompression: 1 |
||||
|
m_FinalGather: 0 |
||||
|
m_FinalGatherFiltering: 1 |
||||
|
m_FinalGatherRayCount: 256 |
||||
|
m_ReflectionCompression: 2 |
||||
|
m_MixedBakeMode: 2 |
||||
|
m_BakeBackend: 1 |
||||
|
m_PVRSampling: 1 |
||||
|
m_PVRDirectSampleCount: 32 |
||||
|
m_PVRSampleCount: 500 |
||||
|
m_PVRBounces: 2 |
||||
|
m_PVREnvironmentSampleCount: 500 |
||||
|
m_PVREnvironmentReferencePointCount: 2048 |
||||
|
m_PVRFilteringMode: 2 |
||||
|
m_PVRDenoiserTypeDirect: 0 |
||||
|
m_PVRDenoiserTypeIndirect: 0 |
||||
|
m_PVRDenoiserTypeAO: 0 |
||||
|
m_PVRFilterTypeDirect: 0 |
||||
|
m_PVRFilterTypeIndirect: 0 |
||||
|
m_PVRFilterTypeAO: 0 |
||||
|
m_PVREnvironmentMIS: 0 |
||||
|
m_PVRCulling: 1 |
||||
|
m_PVRFilteringGaussRadiusDirect: 1 |
||||
|
m_PVRFilteringGaussRadiusIndirect: 5 |
||||
|
m_PVRFilteringGaussRadiusAO: 2 |
||||
|
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
||||
|
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
||||
|
m_PVRFilteringAtrousPositionSigmaAO: 1 |
||||
|
m_ExportTrainingData: 0 |
||||
|
m_TrainingDataDestination: TrainingData |
||||
|
m_LightProbeSampleCountMultiplier: 4 |
||||
|
m_LightingDataAsset: {fileID: 0} |
||||
|
m_LightingSettings: {fileID: 0} |
||||
|
--- !u!196 &4 |
||||
|
NavMeshSettings: |
||||
|
serializedVersion: 2 |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_BuildSettings: |
||||
|
serializedVersion: 2 |
||||
|
agentTypeID: 0 |
||||
|
agentRadius: 0.5 |
||||
|
agentHeight: 2 |
||||
|
agentSlope: 45 |
||||
|
agentClimb: 0.4 |
||||
|
ledgeDropHeight: 0 |
||||
|
maxJumpAcrossDistance: 0 |
||||
|
minRegionArea: 2 |
||||
|
manualCellSize: 0 |
||||
|
cellSize: 0.16666667 |
||||
|
manualTileSize: 0 |
||||
|
tileSize: 256 |
||||
|
accuratePlacement: 0 |
||||
|
maxJobWorkers: 0 |
||||
|
preserveTilesOutsideBounds: 0 |
||||
|
debug: |
||||
|
m_Flags: 0 |
||||
|
m_NavMeshData: {fileID: 0} |
||||
|
--- !u!1 &705507993 |
||||
|
GameObject: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
serializedVersion: 6 |
||||
|
m_Component: |
||||
|
- component: {fileID: 705507995} |
||||
|
- component: {fileID: 705507994} |
||||
|
m_Layer: 0 |
||||
|
m_Name: Directional Light |
||||
|
m_TagString: Untagged |
||||
|
m_Icon: {fileID: 0} |
||||
|
m_NavMeshLayer: 0 |
||||
|
m_StaticEditorFlags: 0 |
||||
|
m_IsActive: 1 |
||||
|
--- !u!108 &705507994 |
||||
|
Light: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 705507993} |
||||
|
m_Enabled: 1 |
||||
|
serializedVersion: 10 |
||||
|
m_Type: 1 |
||||
|
m_Shape: 0 |
||||
|
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
||||
|
m_Intensity: 1 |
||||
|
m_Range: 10 |
||||
|
m_SpotAngle: 30 |
||||
|
m_InnerSpotAngle: 21.80208 |
||||
|
m_CookieSize: 10 |
||||
|
m_Shadows: |
||||
|
m_Type: 2 |
||||
|
m_Resolution: -1 |
||||
|
m_CustomResolution: -1 |
||||
|
m_Strength: 1 |
||||
|
m_Bias: 0.05 |
||||
|
m_NormalBias: 0.4 |
||||
|
m_NearPlane: 0.2 |
||||
|
m_CullingMatrixOverride: |
||||
|
e00: 1 |
||||
|
e01: 0 |
||||
|
e02: 0 |
||||
|
e03: 0 |
||||
|
e10: 0 |
||||
|
e11: 1 |
||||
|
e12: 0 |
||||
|
e13: 0 |
||||
|
e20: 0 |
||||
|
e21: 0 |
||||
|
e22: 1 |
||||
|
e23: 0 |
||||
|
e30: 0 |
||||
|
e31: 0 |
||||
|
e32: 0 |
||||
|
e33: 1 |
||||
|
m_UseCullingMatrixOverride: 0 |
||||
|
m_Cookie: {fileID: 0} |
||||
|
m_DrawHalo: 0 |
||||
|
m_Flare: {fileID: 0} |
||||
|
m_RenderMode: 0 |
||||
|
m_CullingMask: |
||||
|
serializedVersion: 2 |
||||
|
m_Bits: 4294967295 |
||||
|
m_RenderingLayerMask: 1 |
||||
|
m_Lightmapping: 1 |
||||
|
m_LightShadowCasterMode: 0 |
||||
|
m_AreaSize: {x: 1, y: 1} |
||||
|
m_BounceIntensity: 1 |
||||
|
m_ColorTemperature: 6570 |
||||
|
m_UseColorTemperature: 0 |
||||
|
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} |
||||
|
m_UseBoundingSphereOverride: 0 |
||||
|
m_UseViewFrustumForShadowCasterCull: 1 |
||||
|
m_ShadowRadius: 0 |
||||
|
m_ShadowAngle: 0 |
||||
|
--- !u!4 &705507995 |
||||
|
Transform: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 705507993} |
||||
|
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
||||
|
m_LocalPosition: {x: 0, y: 3, z: 0} |
||||
|
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
|
m_ConstrainProportionsScale: 0 |
||||
|
m_Children: [] |
||||
|
m_Father: {fileID: 0} |
||||
|
m_RootOrder: 1 |
||||
|
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
||||
|
--- !u!1 &963194225 |
||||
|
GameObject: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
serializedVersion: 6 |
||||
|
m_Component: |
||||
|
- component: {fileID: 963194228} |
||||
|
- component: {fileID: 963194227} |
||||
|
- component: {fileID: 963194226} |
||||
|
- component: {fileID: 963194229} |
||||
|
- component: {fileID: 963194230} |
||||
|
m_Layer: 0 |
||||
|
m_Name: Main Camera |
||||
|
m_TagString: MainCamera |
||||
|
m_Icon: {fileID: 0} |
||||
|
m_NavMeshLayer: 0 |
||||
|
m_StaticEditorFlags: 0 |
||||
|
m_IsActive: 1 |
||||
|
--- !u!81 &963194226 |
||||
|
AudioListener: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 963194225} |
||||
|
m_Enabled: 1 |
||||
|
--- !u!20 &963194227 |
||||
|
Camera: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 963194225} |
||||
|
m_Enabled: 1 |
||||
|
serializedVersion: 2 |
||||
|
m_ClearFlags: 1 |
||||
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
||||
|
m_projectionMatrixMode: 1 |
||||
|
m_GateFitMode: 2 |
||||
|
m_FOVAxisMode: 0 |
||||
|
m_SensorSize: {x: 36, y: 24} |
||||
|
m_LensShift: {x: 0, y: 0} |
||||
|
m_FocalLength: 50 |
||||
|
m_NormalizedViewPortRect: |
||||
|
serializedVersion: 2 |
||||
|
x: 0 |
||||
|
y: 0 |
||||
|
width: 1 |
||||
|
height: 1 |
||||
|
near clip plane: 0.3 |
||||
|
far clip plane: 1000 |
||||
|
field of view: 60 |
||||
|
orthographic: 0 |
||||
|
orthographic size: 5 |
||||
|
m_Depth: -1 |
||||
|
m_CullingMask: |
||||
|
serializedVersion: 2 |
||||
|
m_Bits: 4294967295 |
||||
|
m_RenderingPath: 3 |
||||
|
m_TargetTexture: {fileID: 0} |
||||
|
m_TargetDisplay: 0 |
||||
|
m_TargetEye: 3 |
||||
|
m_HDR: 0 |
||||
|
m_AllowMSAA: 0 |
||||
|
m_AllowDynamicResolution: 0 |
||||
|
m_ForceIntoRT: 0 |
||||
|
m_OcclusionCulling: 1 |
||||
|
m_StereoConvergence: 10 |
||||
|
m_StereoSeparation: 0.022 |
||||
|
--- !u!4 &963194228 |
||||
|
Transform: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 963194225} |
||||
|
m_LocalRotation: {x: 0.050175156, y: 0.8117933, z: -0.07053209, w: 0.577494} |
||||
|
m_LocalPosition: {x: -1.94, y: 1.24, z: 2.14} |
||||
|
m_LocalScale: {x: 1, y: 1, z: 1} |
||||
|
m_ConstrainProportionsScale: 0 |
||||
|
m_Children: [] |
||||
|
m_Father: {fileID: 0} |
||||
|
m_RootOrder: 0 |
||||
|
m_LocalEulerAnglesHint: {x: 9.931, y: 109.145, z: 0} |
||||
|
--- !u!114 &963194229 |
||||
|
MonoBehaviour: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 963194225} |
||||
|
m_Enabled: 1 |
||||
|
m_EditorHideFlags: 0 |
||||
|
m_Script: {fileID: 11500000, guid: 955cb66a9ecc20441a7e32934c9b4690, type: 3} |
||||
|
m_Name: |
||||
|
m_EditorClassIdentifier: |
||||
|
renderScale: 1 |
||||
|
enableJitter: 0 |
||||
|
--- !u!114 &963194230 |
||||
|
MonoBehaviour: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 963194225} |
||||
|
m_Enabled: 0 |
||||
|
m_EditorHideFlags: 0 |
||||
|
m_Script: {fileID: 11500000, guid: e3b91bb9659da8f49b7b36df73b7f70a, type: 3} |
||||
|
m_Name: |
||||
|
m_EditorClassIdentifier: |
||||
|
amplitude: 30 |
||||
|
frequency: 0.1 |
||||
|
--- !u!1001 &1313173313 |
||||
|
PrefabInstance: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_Modification: |
||||
|
m_TransformParent: {fileID: 0} |
||||
|
m_Modifications: |
||||
|
- target: {fileID: 3116566584170727252, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_Name |
||||
|
value: Workbench |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_RootOrder |
||||
|
value: 3 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalPosition.x |
||||
|
value: 0.897 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalPosition.y |
||||
|
value: -0.018 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalPosition.z |
||||
|
value: -0.609 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalRotation.w |
||||
|
value: 1 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalRotation.x |
||||
|
value: -0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalRotation.y |
||||
|
value: -0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalRotation.z |
||||
|
value: -0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.x |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.y |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 3119308079644534864, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.z |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
m_RemovedComponents: [] |
||||
|
m_SourcePrefab: {fileID: 100100000, guid: 8850d132797ff49298ba781e8e1c9bfe, type: 3} |
||||
|
--- !u!1001 &1724307687 |
||||
|
PrefabInstance: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_Modification: |
||||
|
m_TransformParent: {fileID: 0} |
||||
|
m_Modifications: |
||||
|
- target: {fileID: 1059178161569566, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_Name |
||||
|
value: WorkshopSet |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_RootOrder |
||||
|
value: 2 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalPosition.x |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalPosition.y |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalPosition.z |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalRotation.w |
||||
|
value: 1 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalRotation.x |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalRotation.y |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalRotation.z |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.x |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.y |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
- target: {fileID: 4527368504392492, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
|
propertyPath: m_LocalEulerAnglesHint.z |
||||
|
value: 0 |
||||
|
objectReference: {fileID: 0} |
||||
|
m_RemovedComponents: [] |
||||
|
m_SourcePrefab: {fileID: 100100000, guid: a87f0180d46fd334b9025d0314a0dc70, type: 3} |
||||
@ -0,0 +1,7 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 9fc0d4010bbf28b4594072e72b8655ab |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,8 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 4c3d2ef72096d68469d97fa6b5872f5b |
||||
|
folderAsset: yes |
||||
|
DefaultImporter: |
||||
|
externalObjects: {} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,28 @@ |
|||||
|
using System.Collections; |
||||
|
using System.Collections.Generic; |
||||
|
using UnityEngine; |
||||
|
|
||||
|
public class CameraMover : MonoBehaviour |
||||
|
{ |
||||
|
private Camera _camera; |
||||
|
private Vector3 _startAngles; |
||||
|
|
||||
|
[SerializeField] |
||||
|
private float amplitude = 30f; |
||||
|
|
||||
|
[SerializeField] |
||||
|
private float frequency = 0.1f; |
||||
|
|
||||
|
void Start() |
||||
|
{ |
||||
|
_camera = GetComponent<Camera>(); |
||||
|
_startAngles = _camera.transform.localEulerAngles; |
||||
|
} |
||||
|
|
||||
|
void Update() |
||||
|
{ |
||||
|
var angles = _startAngles; |
||||
|
angles.x = amplitude * Mathf.Sin(2 * Mathf.PI * frequency * Time.time); |
||||
|
_camera.transform.localEulerAngles = angles; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: e3b91bb9659da8f49b7b36df73b7f70a |
||||
|
MonoImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
defaultReferences: [] |
||||
|
executionOrder: 0 |
||||
|
icon: {instanceID: 0} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,105 @@ |
|||||
|
using System; |
||||
|
using System.Collections; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Linq; |
||||
|
using UnityEditor; |
||||
|
using UnityEngine; |
||||
|
using UnityEngine.Rendering; |
||||
|
|
||||
|
public class FSR2Thing : MonoBehaviour |
||||
|
{ |
||||
|
[SerializeField] |
||||
|
private bool performSharpenPass = true; |
||||
|
|
||||
|
[HideInInspector] |
||||
|
public Camera gameCamera; |
||||
|
|
||||
|
[HideInInspector] |
||||
|
public Camera outputCamera; |
||||
|
|
||||
|
[HideInInspector] |
||||
|
public float renderScale; |
||||
|
|
||||
|
private RenderTexture _upscaleRT; |
||||
|
private RenderTexture _rcasOutput; |
||||
|
|
||||
|
private Material _testMaterial; |
||||
|
private Material TestMaterial |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
if (_testMaterial == null) |
||||
|
{ |
||||
|
var testShader = Shader.Find("FSR2/FSRTest"); |
||||
|
_testMaterial = new Material(testShader); |
||||
|
} |
||||
|
|
||||
|
return _testMaterial; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private ComputeShader _rcasComputeShader; |
||||
|
private ComputeShader RCASComputeShader |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
if (_rcasComputeShader == null) |
||||
|
{ |
||||
|
// TODO: this is nasty, I don't like this. How do we manage/bind compute shaders best?
|
||||
|
// GPUInstancer used Resources, we modified that to load stuff from asset bundles instead. Maybe provide a custom loader callback interface?
|
||||
|
_rcasComputeShader = Resources.Load<ComputeShader>("Shaders/ffx_fsr2_rcas_pass"); |
||||
|
} |
||||
|
|
||||
|
return _rcasComputeShader; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void OnEnable() |
||||
|
{ |
||||
|
RenderPipelineManager.endContextRendering += OnEndContextRendering; |
||||
|
|
||||
|
_upscaleRT = new RenderTexture(Screen.width, Screen.height, 24, RenderTextureFormat.ARGBHalf); |
||||
|
_upscaleRT.Create(); |
||||
|
|
||||
|
_rcasOutput = new RenderTexture(Screen.width, Screen.height, 24, RenderTextureFormat.ARGBHalf); |
||||
|
_rcasOutput.enableRandomWrite = true; |
||||
|
_rcasOutput.Create(); |
||||
|
} |
||||
|
|
||||
|
private void OnDisable() |
||||
|
{ |
||||
|
_rcasOutput.Release(); |
||||
|
_upscaleRT.Release(); |
||||
|
|
||||
|
RenderPipelineManager.endContextRendering -= OnEndContextRendering; |
||||
|
} |
||||
|
|
||||
|
// For scriptable rendering pipeline
|
||||
|
private void OnEndContextRendering(ScriptableRenderContext context, List<Camera> cameras) |
||||
|
{ |
||||
|
Debug.Log($"OnEndContentRendering, cameras = {string.Join(", ", cameras.Select(c => c.name))}"); |
||||
|
} |
||||
|
|
||||
|
// For legacy built-in render pipeline
|
||||
|
private void OnRenderImage(RenderTexture src, RenderTexture dest) |
||||
|
{ |
||||
|
// Do a dumb upscale first
|
||||
|
Graphics.Blit(gameCamera.targetTexture, _upscaleRT, TestMaterial); |
||||
|
|
||||
|
if (performSharpenPass) |
||||
|
{ |
||||
|
// Run the RCAS sharpening filter on the upscaled image
|
||||
|
int rcasKernel = RCASComputeShader.FindKernel("CS"); |
||||
|
RCASComputeShader.SetTexture(rcasKernel, "r_rcas_input", _upscaleRT); |
||||
|
RCASComputeShader.SetTexture(rcasKernel, "rw_upscaled_output", _rcasOutput); |
||||
|
RCASComputeShader.Dispatch(rcasKernel, Screen.width, Screen.height, 1); // TODO: not sure how these thread groups work...
|
||||
|
|
||||
|
// Output sharpened image to screen
|
||||
|
Graphics.Blit(_rcasOutput, dest); |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
Graphics.Blit(_upscaleRT, dest); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: d59d37e0744f1344e95cf689136fc9d9 |
||||
|
MonoImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
defaultReferences: [] |
||||
|
executionOrder: 0 |
||||
|
icon: {instanceID: 0} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,155 @@ |
|||||
|
using System; |
||||
|
using System.Collections; |
||||
|
using System.Collections.Generic; |
||||
|
using UnityEngine; |
||||
|
|
||||
|
[RequireComponent(typeof(Camera))] |
||||
|
public class SubsampleTest : MonoBehaviour |
||||
|
{ |
||||
|
private Camera gameCamera; |
||||
|
|
||||
|
private GameObject outputCameraObject; |
||||
|
private Camera outputCamera; |
||||
|
|
||||
|
[SerializeField] |
||||
|
private float renderScale = 0.5f; |
||||
|
|
||||
|
[SerializeField] |
||||
|
private bool enableJitter; |
||||
|
|
||||
|
private FSR2Thing fsr2Thing; |
||||
|
|
||||
|
private void OnEnable() |
||||
|
{ |
||||
|
gameCamera = GetComponent<Camera>(); |
||||
|
if (outputCameraObject == null) |
||||
|
{ |
||||
|
outputCameraObject = new GameObject("FSR2 Camera Object"); |
||||
|
outputCameraObject.transform.SetParent(transform); |
||||
|
outputCameraObject.transform.SetPositionAndRotation(Vector3.zero, Quaternion.identity); |
||||
|
//outputCameraObject.transform.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector;
|
||||
|
|
||||
|
outputCamera = outputCameraObject.AddComponent<Camera>(); |
||||
|
outputCamera.eventMask = 0; |
||||
|
|
||||
|
fsr2Thing = outputCameraObject.AddComponent<FSR2Thing>(); |
||||
|
fsr2Thing.gameCamera = gameCamera; |
||||
|
fsr2Thing.outputCamera = outputCamera; |
||||
|
fsr2Thing.renderScale = renderScale; |
||||
|
fsr2Thing.enabled = true; |
||||
|
|
||||
|
//outputCamera.CopyFrom(gameCamera);
|
||||
|
|
||||
|
outputCamera.cullingMask = 0; |
||||
|
outputCamera.clearFlags = CameraClearFlags.Nothing; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
fsr2Thing.enabled = true; |
||||
|
} |
||||
|
|
||||
|
gameCamera.targetTexture = new RenderTexture( |
||||
|
(int)(Screen.width * renderScale), (int)(Screen.height * renderScale), |
||||
|
24, // Can we copy depth value from original camera?
|
||||
|
RenderTextureFormat.ARGBHalf); // Can we copy format from original camera? Or renderer quality settings?
|
||||
|
|
||||
|
gameCamera.depthTextureMode = DepthTextureMode.Depth | DepthTextureMode.DepthNormals | DepthTextureMode.MotionVectors; |
||||
|
|
||||
|
gameCamera.targetTexture.name = "FSR2 Source Texture"; |
||||
|
gameCamera.targetTexture.Create(); |
||||
|
|
||||
|
// TODO: adjust texture mipmap LOD bias by log2(renderResolution/displayResolution) - 1.0;
|
||||
|
// May need to leave this to the game dev, as we don't know which textures do and don't belong to the 3D scene
|
||||
|
float biasOffset = GetMipmapBiasOffset(); |
||||
|
foreach (var tex in Resources.FindObjectsOfTypeAll<Texture2D>()) |
||||
|
{ |
||||
|
tex.mipMapBias += biasOffset; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void OnDisable() |
||||
|
{ |
||||
|
float biasOffset = GetMipmapBiasOffset(); |
||||
|
foreach (var tex in Resources.FindObjectsOfTypeAll<Texture2D>()) |
||||
|
{ |
||||
|
tex.mipMapBias -= biasOffset; |
||||
|
} |
||||
|
|
||||
|
gameCamera.targetTexture.Release(); |
||||
|
gameCamera.targetTexture = null; |
||||
|
|
||||
|
fsr2Thing.enabled = false; |
||||
|
outputCamera.enabled = false; |
||||
|
} |
||||
|
|
||||
|
public float GetMipmapBiasOffset() |
||||
|
{ |
||||
|
return Mathf.Log(renderScale) - 1.0f; |
||||
|
} |
||||
|
|
||||
|
private void Update() |
||||
|
{ |
||||
|
outputCamera.enabled = gameCamera.enabled; |
||||
|
//outputCamera.CopyFrom(gameCamera);
|
||||
|
|
||||
|
outputCamera.clearFlags = CameraClearFlags.Color; |
||||
|
} |
||||
|
|
||||
|
private Rect tempRect; |
||||
|
|
||||
|
private void OnPreRender() |
||||
|
{ |
||||
|
gameCamera.aspect = (Screen.width * gameCamera.rect.width) / (Screen.height * gameCamera.rect.height); |
||||
|
|
||||
|
tempRect = gameCamera.rect; |
||||
|
gameCamera.rect = new Rect(0, 0, 1, 1); |
||||
|
|
||||
|
if (enableJitter) |
||||
|
{ |
||||
|
// Perform custom jittering of the camera's projection matrix according to FSR2's instructions
|
||||
|
// Unity already does jittering behind the scenes for certain post-effects, so can we perhaps integrate with that?
|
||||
|
int jitterPhaseCount = GetJitterPhaseCount(gameCamera.targetTexture.width, Screen.width); |
||||
|
GetJitterOffset(out float jitterX, out float jitterY, Time.frameCount, jitterPhaseCount); |
||||
|
|
||||
|
jitterX = 2.0f * jitterX / gameCamera.targetTexture.width; |
||||
|
jitterY = -2.0f * jitterY / gameCamera.targetTexture.height; |
||||
|
|
||||
|
var jitterTranslationMatrix = Matrix4x4.Translate(new Vector3(jitterX, jitterY, 0)); |
||||
|
gameCamera.projectionMatrix = jitterTranslationMatrix * gameCamera.nonJitteredProjectionMatrix; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void OnPostRender() |
||||
|
{ |
||||
|
gameCamera.rect = tempRect; |
||||
|
gameCamera.ResetProjectionMatrix(); |
||||
|
} |
||||
|
|
||||
|
private static int GetJitterPhaseCount(int renderWidth, int displayWidth) |
||||
|
{ |
||||
|
const float basePhaseCount = 8.0f; |
||||
|
int jitterPhaseCount = (int)(basePhaseCount * Mathf.Pow((float)displayWidth / renderWidth, 2.0f)); |
||||
|
return jitterPhaseCount; |
||||
|
} |
||||
|
|
||||
|
private static void GetJitterOffset(out float outX, out float outY, int index, int phaseCount) |
||||
|
{ |
||||
|
outX = Halton((index % phaseCount) + 1, 2) - 0.5f; |
||||
|
outY = Halton((index % phaseCount) + 1, 3) - 0.5f; |
||||
|
} |
||||
|
|
||||
|
// Calculate halton number for index and base.
|
||||
|
private static float Halton(int index, int @base) |
||||
|
{ |
||||
|
float f = 1.0f, result = 0.0f; |
||||
|
|
||||
|
for (int currentIndex = index; currentIndex > 0;) { |
||||
|
|
||||
|
f /= @base; |
||||
|
result += f * (currentIndex % @base); |
||||
|
currentIndex = (int)Mathf.Floor((float)currentIndex / @base); |
||||
|
} |
||||
|
|
||||
|
return result; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,11 @@ |
|||||
|
fileFormatVersion: 2 |
||||
|
guid: 955cb66a9ecc20441a7e32934c9b4690 |
||||
|
MonoImporter: |
||||
|
externalObjects: {} |
||||
|
serializedVersion: 2 |
||||
|
defaultReferences: [] |
||||
|
executionOrder: 0 |
||||
|
icon: {instanceID: 0} |
||||
|
userData: |
||||
|
assetBundleName: |
||||
|
assetBundleVariant: |
||||
@ -0,0 +1,45 @@ |
|||||
|
{ |
||||
|
"dependencies": { |
||||
|
"com.unity.collab-proxy": "1.17.7", |
||||
|
"com.unity.feature.development": "1.0.1", |
||||
|
"com.unity.ide.rider": "3.0.16", |
||||
|
"com.unity.ide.visualstudio": "2.0.16", |
||||
|
"com.unity.ide.vscode": "1.2.5", |
||||
|
"com.unity.test-framework": "1.1.31", |
||||
|
"com.unity.textmeshpro": "3.0.6", |
||||
|
"com.unity.timeline": "1.6.4", |
||||
|
"com.unity.ugui": "1.0.0", |
||||
|
"com.unity.visualscripting": "1.7.8", |
||||
|
"com.unity.modules.ai": "1.0.0", |
||||
|
"com.unity.modules.androidjni": "1.0.0", |
||||
|
"com.unity.modules.animation": "1.0.0", |
||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||
|
"com.unity.modules.audio": "1.0.0", |
||||
|
"com.unity.modules.cloth": "1.0.0", |
||||
|
"com.unity.modules.director": "1.0.0", |
||||
|
"com.unity.modules.imageconversion": "1.0.0", |
||||
|
"com.unity.modules.imgui": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||
|
"com.unity.modules.particlesystem": "1.0.0", |
||||
|
"com.unity.modules.physics": "1.0.0", |
||||
|
"com.unity.modules.physics2d": "1.0.0", |
||||
|
"com.unity.modules.screencapture": "1.0.0", |
||||
|
"com.unity.modules.terrain": "1.0.0", |
||||
|
"com.unity.modules.terrainphysics": "1.0.0", |
||||
|
"com.unity.modules.tilemap": "1.0.0", |
||||
|
"com.unity.modules.ui": "1.0.0", |
||||
|
"com.unity.modules.uielements": "1.0.0", |
||||
|
"com.unity.modules.umbra": "1.0.0", |
||||
|
"com.unity.modules.unityanalytics": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequesttexture": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequestwww": "1.0.0", |
||||
|
"com.unity.modules.vehicles": "1.0.0", |
||||
|
"com.unity.modules.video": "1.0.0", |
||||
|
"com.unity.modules.vr": "1.0.0", |
||||
|
"com.unity.modules.wind": "1.0.0", |
||||
|
"com.unity.modules.xr": "1.0.0" |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,413 @@ |
|||||
|
{ |
||||
|
"dependencies": { |
||||
|
"com.unity.collab-proxy": { |
||||
|
"version": "1.17.7", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.services.core": "1.0.1" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.editorcoroutines": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 1, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.ext.nunit": { |
||||
|
"version": "1.0.6", |
||||
|
"depth": 1, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.feature.development": { |
||||
|
"version": "1.0.1", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.ide.visualstudio": "2.0.16", |
||||
|
"com.unity.ide.rider": "3.0.16", |
||||
|
"com.unity.ide.vscode": "1.2.5", |
||||
|
"com.unity.editorcoroutines": "1.0.0", |
||||
|
"com.unity.performance.profile-analyzer": "1.1.1", |
||||
|
"com.unity.test-framework": "1.1.31", |
||||
|
"com.unity.testtools.codecoverage": "1.2.2" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.ide.rider": { |
||||
|
"version": "3.0.16", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.ext.nunit": "1.0.6" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.ide.visualstudio": { |
||||
|
"version": "2.0.16", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.test-framework": "1.1.9" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.ide.vscode": { |
||||
|
"version": "1.2.5", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.nuget.newtonsoft-json": { |
||||
|
"version": "3.0.2", |
||||
|
"depth": 2, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.performance.profile-analyzer": { |
||||
|
"version": "1.1.1", |
||||
|
"depth": 1, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.services.core": { |
||||
|
"version": "1.6.0", |
||||
|
"depth": 1, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.nuget.newtonsoft-json": "3.0.2", |
||||
|
"com.unity.modules.androidjni": "1.0.0" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.settings-manager": { |
||||
|
"version": "1.0.3", |
||||
|
"depth": 2, |
||||
|
"source": "registry", |
||||
|
"dependencies": {}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.test-framework": { |
||||
|
"version": "1.1.31", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.ext.nunit": "1.0.6", |
||||
|
"com.unity.modules.imgui": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.testtools.codecoverage": { |
||||
|
"version": "1.2.2", |
||||
|
"depth": 1, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.test-framework": "1.0.16", |
||||
|
"com.unity.settings-manager": "1.0.1" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.textmeshpro": { |
||||
|
"version": "3.0.6", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.ugui": "1.0.0" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.timeline": { |
||||
|
"version": "1.6.4", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.director": "1.0.0", |
||||
|
"com.unity.modules.animation": "1.0.0", |
||||
|
"com.unity.modules.audio": "1.0.0", |
||||
|
"com.unity.modules.particlesystem": "1.0.0" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.ugui": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.ui": "1.0.0", |
||||
|
"com.unity.modules.imgui": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.visualscripting": { |
||||
|
"version": "1.7.8", |
||||
|
"depth": 0, |
||||
|
"source": "registry", |
||||
|
"dependencies": { |
||||
|
"com.unity.ugui": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||
|
}, |
||||
|
"url": "https://packages.unity.com" |
||||
|
}, |
||||
|
"com.unity.modules.ai": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.androidjni": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.animation": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.assetbundle": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.audio": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.cloth": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.physics": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.director": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.audio": "1.0.0", |
||||
|
"com.unity.modules.animation": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.imageconversion": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.imgui": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.jsonserialize": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.particlesystem": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.physics": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.physics2d": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.screencapture": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.subsystems": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 1, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.terrain": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.terrainphysics": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.physics": "1.0.0", |
||||
|
"com.unity.modules.terrain": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.tilemap": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.physics2d": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.ui": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.uielements": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.ui": "1.0.0", |
||||
|
"com.unity.modules.imgui": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||
|
"com.unity.modules.uielementsnative": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.uielementsnative": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 1, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.ui": "1.0.0", |
||||
|
"com.unity.modules.imgui": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.umbra": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.unityanalytics": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.unitywebrequest": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.unitywebrequestassetbundle": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.unitywebrequestaudio": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.modules.audio": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.unitywebrequesttexture": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.unitywebrequestwww": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequestassetbundle": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequestaudio": "1.0.0", |
||||
|
"com.unity.modules.audio": "1.0.0", |
||||
|
"com.unity.modules.assetbundle": "1.0.0", |
||||
|
"com.unity.modules.imageconversion": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.vehicles": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.physics": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.video": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.audio": "1.0.0", |
||||
|
"com.unity.modules.ui": "1.0.0", |
||||
|
"com.unity.modules.unitywebrequest": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.vr": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||
|
"com.unity.modules.physics": "1.0.0", |
||||
|
"com.unity.modules.xr": "1.0.0" |
||||
|
} |
||||
|
}, |
||||
|
"com.unity.modules.wind": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": {} |
||||
|
}, |
||||
|
"com.unity.modules.xr": { |
||||
|
"version": "1.0.0", |
||||
|
"depth": 0, |
||||
|
"source": "builtin", |
||||
|
"dependencies": { |
||||
|
"com.unity.modules.physics": "1.0.0", |
||||
|
"com.unity.modules.jsonserialize": "1.0.0", |
||||
|
"com.unity.modules.subsystems": "1.0.0" |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!11 &1 |
||||
|
AudioManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_Volume: 1 |
||||
|
Rolloff Scale: 1 |
||||
|
Doppler Factor: 1 |
||||
|
Default Speaker Mode: 2 |
||||
|
m_SampleRate: 0 |
||||
|
m_DSPBufferSize: 1024 |
||||
|
m_VirtualVoiceCount: 512 |
||||
|
m_RealVoiceCount: 32 |
||||
|
m_SpatializerPlugin: |
||||
|
m_AmbisonicDecoderPlugin: |
||||
|
m_DisableAudio: 0 |
||||
|
m_VirtualizeEffects: 1 |
||||
|
m_RequestedDSPBufferSize: 1024 |
||||
@ -0,0 +1,6 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!236 &1 |
||||
|
ClusterInputManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_Inputs: [] |
||||
@ -0,0 +1,34 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!55 &1 |
||||
|
PhysicsManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 11 |
||||
|
m_Gravity: {x: 0, y: -9.81, z: 0} |
||||
|
m_DefaultMaterial: {fileID: 0} |
||||
|
m_BounceThreshold: 2 |
||||
|
m_SleepThreshold: 0.005 |
||||
|
m_DefaultContactOffset: 0.01 |
||||
|
m_DefaultSolverIterations: 6 |
||||
|
m_DefaultSolverVelocityIterations: 1 |
||||
|
m_QueriesHitBackfaces: 0 |
||||
|
m_QueriesHitTriggers: 1 |
||||
|
m_EnableAdaptiveForce: 0 |
||||
|
m_ClothInterCollisionDistance: 0 |
||||
|
m_ClothInterCollisionStiffness: 0 |
||||
|
m_ContactsGeneration: 1 |
||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
||||
|
m_AutoSimulation: 1 |
||||
|
m_AutoSyncTransforms: 0 |
||||
|
m_ReuseCollisionCallbacks: 1 |
||||
|
m_ClothInterCollisionSettingsToggle: 0 |
||||
|
m_ContactPairsMode: 0 |
||||
|
m_BroadphaseType: 0 |
||||
|
m_WorldBounds: |
||||
|
m_Center: {x: 0, y: 0, z: 0} |
||||
|
m_Extent: {x: 250, y: 250, z: 250} |
||||
|
m_WorldSubdivisions: 8 |
||||
|
m_FrictionType: 0 |
||||
|
m_EnableEnhancedDeterminism: 0 |
||||
|
m_EnableUnifiedHeightmaps: 1 |
||||
|
m_DefaultMaxAngluarSpeed: 7 |
||||
@ -0,0 +1,8 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!1045 &1 |
||||
|
EditorBuildSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_Scenes: [] |
||||
|
m_configObjects: {} |
||||
@ -0,0 +1,30 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!159 &1 |
||||
|
EditorSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 11 |
||||
|
m_ExternalVersionControlSupport: Visible Meta Files |
||||
|
m_SerializationMode: 2 |
||||
|
m_LineEndingsForNewScripts: 0 |
||||
|
m_DefaultBehaviorMode: 0 |
||||
|
m_PrefabRegularEnvironment: {fileID: 0} |
||||
|
m_PrefabUIEnvironment: {fileID: 0} |
||||
|
m_SpritePackerMode: 0 |
||||
|
m_SpritePackerPaddingPower: 1 |
||||
|
m_EtcTextureCompressorBehavior: 1 |
||||
|
m_EtcTextureFastCompressor: 1 |
||||
|
m_EtcTextureNormalCompressor: 2 |
||||
|
m_EtcTextureBestCompressor: 4 |
||||
|
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref |
||||
|
m_ProjectGenerationRootNamespace: |
||||
|
m_CollabEditorSettings: |
||||
|
inProgressEnabled: 1 |
||||
|
m_EnableTextureStreamingInEditMode: 1 |
||||
|
m_EnableTextureStreamingInPlayMode: 1 |
||||
|
m_AsyncShaderCompilation: 1 |
||||
|
m_EnterPlayModeOptionsEnabled: 0 |
||||
|
m_EnterPlayModeOptions: 3 |
||||
|
m_ShowLightmapResolutionOverlay: 1 |
||||
|
m_UseLegacyProbeSampleCount: 0 |
||||
|
m_SerializeInlineMappingsOnOneLine: 1 |
||||
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"buildSubtarget": 0, |
||||
|
"deploymentMethod": 0, |
||||
|
"deploymentDrive": 0, |
||||
|
"scid": "00000000-0000-0000-0000-000000000000", |
||||
|
"packageEncryption": 0, |
||||
|
"localizationPathOverride": "", |
||||
|
"resourcePriPathOverride": "", |
||||
|
"xboxSeriesSResolutionWidth": 2560, |
||||
|
"xboxSeriesSResolutionHeight": 1440, |
||||
|
"xboxSeriesXResolutionWidth": 3840, |
||||
|
"xboxSeriesXResolutionHeight": 2160 |
||||
|
} |
||||
@ -0,0 +1,16 @@ |
|||||
|
{ |
||||
|
"buildSubtarget": 0, |
||||
|
"deploymentMethod": 0, |
||||
|
"deploymentDrive": 0, |
||||
|
"scid": "00000000-0000-0000-0000-000000000000", |
||||
|
"packageEncryption": 0, |
||||
|
"localizationPathOverride": "", |
||||
|
"resourcePriPathOverride": "", |
||||
|
"xboxOneResolutionWidth": 1920, |
||||
|
"xboxOneResolutionHeight": 1080, |
||||
|
"xboxOneSResolutionWidth": 1920, |
||||
|
"xboxOneSResolutionHeight": 1080, |
||||
|
"xboxOneXResolutionWidth": 3840, |
||||
|
"xboxOneXResolutionHeight": 2160, |
||||
|
"esramDisabled": false |
||||
|
} |
||||
@ -0,0 +1,63 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!30 &1 |
||||
|
GraphicsSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 13 |
||||
|
m_Deferred: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_DeferredReflections: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_ScreenSpaceShadows: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_LegacyDeferred: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_DepthNormals: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_MotionVectors: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_LightHalo: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_LensFlare: |
||||
|
m_Mode: 1 |
||||
|
m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_AlwaysIncludedShaders: |
||||
|
- {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
- {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
- {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
- {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
- {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
- {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} |
||||
|
m_PreloadedShaders: [] |
||||
|
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, |
||||
|
type: 0} |
||||
|
m_CustomRenderPipeline: {fileID: 0} |
||||
|
m_TransparencySortMode: 0 |
||||
|
m_TransparencySortAxis: {x: 0, y: 0, z: 1} |
||||
|
m_DefaultRenderingPath: 1 |
||||
|
m_DefaultMobileRenderingPath: 1 |
||||
|
m_TierSettings: [] |
||||
|
m_LightmapStripping: 0 |
||||
|
m_FogStripping: 0 |
||||
|
m_InstancingStripping: 0 |
||||
|
m_LightmapKeepPlain: 1 |
||||
|
m_LightmapKeepDirCombined: 1 |
||||
|
m_LightmapKeepDynamicPlain: 1 |
||||
|
m_LightmapKeepDynamicDirCombined: 1 |
||||
|
m_LightmapKeepShadowMask: 1 |
||||
|
m_LightmapKeepSubtractive: 1 |
||||
|
m_FogKeepLinear: 1 |
||||
|
m_FogKeepExp: 1 |
||||
|
m_FogKeepExp2: 1 |
||||
|
m_AlbedoSwatchInfos: [] |
||||
|
m_LightsUseLinearIntensity: 0 |
||||
|
m_LightsUseColorTemperature: 0 |
||||
|
m_LogWhenShaderIsCompiled: 0 |
||||
|
m_AllowEnlightenSupportForUpgradedProject: 0 |
||||
@ -0,0 +1,295 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!13 &1 |
||||
|
InputManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_Axes: |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Horizontal |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: left |
||||
|
positiveButton: right |
||||
|
altNegativeButton: a |
||||
|
altPositiveButton: d |
||||
|
gravity: 3 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 3 |
||||
|
snap: 1 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Vertical |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: down |
||||
|
positiveButton: up |
||||
|
altNegativeButton: s |
||||
|
altPositiveButton: w |
||||
|
gravity: 3 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 3 |
||||
|
snap: 1 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire1 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: left ctrl |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: mouse 0 |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire2 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: left alt |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: mouse 1 |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire3 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: left shift |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: mouse 2 |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Jump |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: space |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Mouse X |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 0 |
||||
|
dead: 0 |
||||
|
sensitivity: 0.1 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 1 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Mouse Y |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 0 |
||||
|
dead: 0 |
||||
|
sensitivity: 0.1 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 1 |
||||
|
axis: 1 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Mouse ScrollWheel |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 0 |
||||
|
dead: 0 |
||||
|
sensitivity: 0.1 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 1 |
||||
|
axis: 2 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Horizontal |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 0 |
||||
|
dead: 0.19 |
||||
|
sensitivity: 1 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 2 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Vertical |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 0 |
||||
|
dead: 0.19 |
||||
|
sensitivity: 1 |
||||
|
snap: 0 |
||||
|
invert: 1 |
||||
|
type: 2 |
||||
|
axis: 1 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire1 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: joystick button 0 |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire2 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: joystick button 1 |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Fire3 |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: joystick button 2 |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Jump |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: joystick button 3 |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Submit |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: return |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: joystick button 0 |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Submit |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: enter |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: space |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
|
- serializedVersion: 3 |
||||
|
m_Name: Cancel |
||||
|
descriptiveName: |
||||
|
descriptiveNegativeName: |
||||
|
negativeButton: |
||||
|
positiveButton: escape |
||||
|
altNegativeButton: |
||||
|
altPositiveButton: joystick button 1 |
||||
|
gravity: 1000 |
||||
|
dead: 0.001 |
||||
|
sensitivity: 1000 |
||||
|
snap: 0 |
||||
|
invert: 0 |
||||
|
type: 0 |
||||
|
axis: 0 |
||||
|
joyNum: 0 |
||||
@ -0,0 +1,35 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!387306366 &1 |
||||
|
MemorySettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_EditorMemorySettings: |
||||
|
m_MainAllocatorBlockSize: -1 |
||||
|
m_ThreadAllocatorBlockSize: -1 |
||||
|
m_MainGfxBlockSize: -1 |
||||
|
m_ThreadGfxBlockSize: -1 |
||||
|
m_CacheBlockSize: -1 |
||||
|
m_TypetreeBlockSize: -1 |
||||
|
m_ProfilerBlockSize: -1 |
||||
|
m_ProfilerEditorBlockSize: -1 |
||||
|
m_BucketAllocatorGranularity: -1 |
||||
|
m_BucketAllocatorBucketsCount: -1 |
||||
|
m_BucketAllocatorBlockSize: -1 |
||||
|
m_BucketAllocatorBlockCount: -1 |
||||
|
m_ProfilerBucketAllocatorGranularity: -1 |
||||
|
m_ProfilerBucketAllocatorBucketsCount: -1 |
||||
|
m_ProfilerBucketAllocatorBlockSize: -1 |
||||
|
m_ProfilerBucketAllocatorBlockCount: -1 |
||||
|
m_TempAllocatorSizeMain: -1 |
||||
|
m_JobTempAllocatorBlockSize: -1 |
||||
|
m_BackgroundJobTempAllocatorBlockSize: -1 |
||||
|
m_JobTempAllocatorReducedBlockSize: -1 |
||||
|
m_TempAllocatorSizeGIBakingWorker: -1 |
||||
|
m_TempAllocatorSizeNavMeshWorker: -1 |
||||
|
m_TempAllocatorSizeAudioWorker: -1 |
||||
|
m_TempAllocatorSizeCloudWorker: -1 |
||||
|
m_TempAllocatorSizeGfx: -1 |
||||
|
m_TempAllocatorSizeJobWorker: -1 |
||||
|
m_TempAllocatorSizeBackgroundWorker: -1 |
||||
|
m_TempAllocatorSizePreloadManager: -1 |
||||
|
m_PlatformMemorySettings: {} |
||||
@ -0,0 +1,91 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!126 &1 |
||||
|
NavMeshProjectSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
areas: |
||||
|
- name: Walkable |
||||
|
cost: 1 |
||||
|
- name: Not Walkable |
||||
|
cost: 1 |
||||
|
- name: Jump |
||||
|
cost: 2 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
- name: |
||||
|
cost: 1 |
||||
|
m_LastAgentTypeID: -887442657 |
||||
|
m_Settings: |
||||
|
- serializedVersion: 2 |
||||
|
agentTypeID: 0 |
||||
|
agentRadius: 0.5 |
||||
|
agentHeight: 2 |
||||
|
agentSlope: 45 |
||||
|
agentClimb: 0.75 |
||||
|
ledgeDropHeight: 0 |
||||
|
maxJumpAcrossDistance: 0 |
||||
|
minRegionArea: 2 |
||||
|
manualCellSize: 0 |
||||
|
cellSize: 0.16666667 |
||||
|
manualTileSize: 0 |
||||
|
tileSize: 256 |
||||
|
accuratePlacement: 0 |
||||
|
debug: |
||||
|
m_Flags: 0 |
||||
|
m_SettingNames: |
||||
|
- Humanoid |
||||
@ -0,0 +1,48 @@ |
|||||
|
{ |
||||
|
"MonoBehaviour": { |
||||
|
"m_Enabled": true, |
||||
|
"m_EditorHideFlags": 0, |
||||
|
"m_Name": "", |
||||
|
"m_EditorClassIdentifier": "UnityEditor.PS5.Extensions:UnityEditor.PS5:PS5Settings", |
||||
|
"npConfigZipPath": "", |
||||
|
"monoEnv": "", |
||||
|
"scriptOptimizationLevel": 2, |
||||
|
"enableApplicationExit": false, |
||||
|
"resetTempFolder": true, |
||||
|
"disableAutoHideSplash": false, |
||||
|
"playerPrefsSupport": false, |
||||
|
"appType": 0, |
||||
|
"restrictedAudioUsageRights": false, |
||||
|
"backgroundImagePath": "", |
||||
|
"startupBackgroundImagePath": "", |
||||
|
"startupForegroundImagePath": "", |
||||
|
"startupImagesFolder": "", |
||||
|
"iconImagesFolder": "", |
||||
|
"bgmPath": "", |
||||
|
"playerPrefsMaxSize": 32768, |
||||
|
"videoOutInitialWidth": 1920, |
||||
|
"useResolutionFallback": false, |
||||
|
"videoOutPixelFormat": 0, |
||||
|
"videoOutOutputMode": 1, |
||||
|
"paramFilePath": "", |
||||
|
"passcode": "43Qhdb1LKPSQtajdtkZiXMrQn2mgGHrU", |
||||
|
"updateReferencePackage": "", |
||||
|
"includedModules": [], |
||||
|
"sharedBinaryContentLabels": [], |
||||
|
"sharedBinarySystemFolders": [], |
||||
|
"workspaceName": "workspace0", |
||||
|
"buildCompressionType": 0, |
||||
|
"buildCompressionLevel": 0, |
||||
|
"keepPackageFiles": false, |
||||
|
"buildSubtarget": 0, |
||||
|
"sdkOverride": "", |
||||
|
"saveDataImagePath": "", |
||||
|
"configFileParsed": false, |
||||
|
"operatingSystemCanDisableSplashScreen": false, |
||||
|
"supportsVR": false, |
||||
|
"requiresVR": false, |
||||
|
"vrrSupport": 0, |
||||
|
"psvr2PlayAreaSupport": 0, |
||||
|
"psvr2DetailedGazeTrackingStatusEnabled": false |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,35 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!114 &1 |
||||
|
MonoBehaviour: |
||||
|
m_ObjectHideFlags: 61 |
||||
|
m_CorrespondingSourceObject: {fileID: 0} |
||||
|
m_PrefabInstance: {fileID: 0} |
||||
|
m_PrefabAsset: {fileID: 0} |
||||
|
m_GameObject: {fileID: 0} |
||||
|
m_Enabled: 1 |
||||
|
m_EditorHideFlags: 0 |
||||
|
m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} |
||||
|
m_Name: |
||||
|
m_EditorClassIdentifier: |
||||
|
m_EnablePreReleasePackages: 0 |
||||
|
m_EnablePackageDependencies: 0 |
||||
|
m_AdvancedSettingsExpanded: 1 |
||||
|
m_ScopedRegistriesSettingsExpanded: 1 |
||||
|
m_SeeAllPackageVersions: 0 |
||||
|
oneTimeWarningShown: 0 |
||||
|
m_Registries: |
||||
|
- m_Id: main |
||||
|
m_Name: |
||||
|
m_Url: https://packages.unity.com |
||||
|
m_Scopes: [] |
||||
|
m_IsDefault: 1 |
||||
|
m_Capabilities: 7 |
||||
|
m_UserSelectedRegistryName: |
||||
|
m_UserAddingNewScopedRegistry: 0 |
||||
|
m_RegistryInfoDraft: |
||||
|
m_Modified: 0 |
||||
|
m_ErrorMessage: |
||||
|
m_UserModificationsInstanceId: -830 |
||||
|
m_OriginalInstanceId: -832 |
||||
|
m_LoadAssets: 0 |
||||
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"m_Name": "Settings", |
||||
|
"m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json", |
||||
|
"m_Dictionary": { |
||||
|
"m_DictionaryValues": [] |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,56 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!19 &1 |
||||
|
Physics2DSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 4 |
||||
|
m_Gravity: {x: 0, y: -9.81} |
||||
|
m_DefaultMaterial: {fileID: 0} |
||||
|
m_VelocityIterations: 8 |
||||
|
m_PositionIterations: 3 |
||||
|
m_VelocityThreshold: 1 |
||||
|
m_MaxLinearCorrection: 0.2 |
||||
|
m_MaxAngularCorrection: 8 |
||||
|
m_MaxTranslationSpeed: 100 |
||||
|
m_MaxRotationSpeed: 360 |
||||
|
m_BaumgarteScale: 0.2 |
||||
|
m_BaumgarteTimeOfImpactScale: 0.75 |
||||
|
m_TimeToSleep: 0.5 |
||||
|
m_LinearSleepTolerance: 0.01 |
||||
|
m_AngularSleepTolerance: 2 |
||||
|
m_DefaultContactOffset: 0.01 |
||||
|
m_JobOptions: |
||||
|
serializedVersion: 2 |
||||
|
useMultithreading: 0 |
||||
|
useConsistencySorting: 0 |
||||
|
m_InterpolationPosesPerJob: 100 |
||||
|
m_NewContactsPerJob: 30 |
||||
|
m_CollideContactsPerJob: 100 |
||||
|
m_ClearFlagsPerJob: 200 |
||||
|
m_ClearBodyForcesPerJob: 200 |
||||
|
m_SyncDiscreteFixturesPerJob: 50 |
||||
|
m_SyncContinuousFixturesPerJob: 50 |
||||
|
m_FindNearestContactsPerJob: 100 |
||||
|
m_UpdateTriggerContactsPerJob: 100 |
||||
|
m_IslandSolverCostThreshold: 100 |
||||
|
m_IslandSolverBodyCostScale: 1 |
||||
|
m_IslandSolverContactCostScale: 10 |
||||
|
m_IslandSolverJointCostScale: 10 |
||||
|
m_IslandSolverBodiesPerJob: 50 |
||||
|
m_IslandSolverContactsPerJob: 50 |
||||
|
m_AutoSimulation: 1 |
||||
|
m_QueriesHitTriggers: 1 |
||||
|
m_QueriesStartInColliders: 1 |
||||
|
m_CallbacksOnDisable: 1 |
||||
|
m_ReuseCollisionCallbacks: 1 |
||||
|
m_AutoSyncTransforms: 0 |
||||
|
m_AlwaysShowColliders: 0 |
||||
|
m_ShowColliderSleep: 1 |
||||
|
m_ShowColliderContacts: 0 |
||||
|
m_ShowColliderAABB: 0 |
||||
|
m_ContactArrowScale: 0.2 |
||||
|
m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} |
||||
|
m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} |
||||
|
m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} |
||||
|
m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} |
||||
|
m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
||||
@ -0,0 +1,7 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!1386491679 &1 |
||||
|
PresetManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 2 |
||||
|
m_DefaultPresets: {} |
||||
@ -0,0 +1,719 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!129 &1 |
||||
|
PlayerSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 23 |
||||
|
productGUID: c761d4da6d67eda46b3111988a48b64b |
||||
|
AndroidProfiler: 0 |
||||
|
AndroidFilterTouchesWhenObscured: 0 |
||||
|
AndroidEnableSustainedPerformanceMode: 0 |
||||
|
defaultScreenOrientation: 4 |
||||
|
targetDevice: 2 |
||||
|
useOnDemandResources: 0 |
||||
|
accelerometerFrequency: 60 |
||||
|
companyName: DefaultCompany |
||||
|
productName: FSRTestBuiltin |
||||
|
defaultCursor: {fileID: 0} |
||||
|
cursorHotspot: {x: 0, y: 0} |
||||
|
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} |
||||
|
m_ShowUnitySplashScreen: 1 |
||||
|
m_ShowUnitySplashLogo: 1 |
||||
|
m_SplashScreenOverlayOpacity: 1 |
||||
|
m_SplashScreenAnimation: 1 |
||||
|
m_SplashScreenLogoStyle: 1 |
||||
|
m_SplashScreenDrawMode: 0 |
||||
|
m_SplashScreenBackgroundAnimationZoom: 1 |
||||
|
m_SplashScreenLogoAnimationZoom: 1 |
||||
|
m_SplashScreenBackgroundLandscapeAspect: 1 |
||||
|
m_SplashScreenBackgroundPortraitAspect: 1 |
||||
|
m_SplashScreenBackgroundLandscapeUvs: |
||||
|
serializedVersion: 2 |
||||
|
x: 0 |
||||
|
y: 0 |
||||
|
width: 1 |
||||
|
height: 1 |
||||
|
m_SplashScreenBackgroundPortraitUvs: |
||||
|
serializedVersion: 2 |
||||
|
x: 0 |
||||
|
y: 0 |
||||
|
width: 1 |
||||
|
height: 1 |
||||
|
m_SplashScreenLogos: [] |
||||
|
m_VirtualRealitySplashScreen: {fileID: 0} |
||||
|
m_HolographicTrackingLossScreen: {fileID: 0} |
||||
|
defaultScreenWidth: 1920 |
||||
|
defaultScreenHeight: 1080 |
||||
|
defaultScreenWidthWeb: 960 |
||||
|
defaultScreenHeightWeb: 600 |
||||
|
m_StereoRenderingPath: 0 |
||||
|
m_ActiveColorSpace: 1 |
||||
|
m_MTRendering: 1 |
||||
|
mipStripping: 0 |
||||
|
numberOfMipsStripped: 0 |
||||
|
m_StackTraceTypes: 010000000100000001000000010000000100000001000000 |
||||
|
iosShowActivityIndicatorOnLoading: -1 |
||||
|
androidShowActivityIndicatorOnLoading: -1 |
||||
|
iosUseCustomAppBackgroundBehavior: 0 |
||||
|
iosAllowHTTPDownload: 1 |
||||
|
allowedAutorotateToPortrait: 1 |
||||
|
allowedAutorotateToPortraitUpsideDown: 1 |
||||
|
allowedAutorotateToLandscapeRight: 1 |
||||
|
allowedAutorotateToLandscapeLeft: 1 |
||||
|
useOSAutorotation: 1 |
||||
|
use32BitDisplayBuffer: 1 |
||||
|
preserveFramebufferAlpha: 0 |
||||
|
disableDepthAndStencilBuffers: 0 |
||||
|
androidStartInFullscreen: 1 |
||||
|
androidRenderOutsideSafeArea: 1 |
||||
|
androidUseSwappy: 1 |
||||
|
androidBlitType: 0 |
||||
|
androidResizableWindow: 0 |
||||
|
androidDefaultWindowWidth: 1920 |
||||
|
androidDefaultWindowHeight: 1080 |
||||
|
androidMinimumWindowWidth: 400 |
||||
|
androidMinimumWindowHeight: 300 |
||||
|
androidFullscreenMode: 1 |
||||
|
defaultIsNativeResolution: 1 |
||||
|
macRetinaSupport: 1 |
||||
|
runInBackground: 1 |
||||
|
captureSingleScreen: 0 |
||||
|
muteOtherAudioSources: 0 |
||||
|
Prepare IOS For Recording: 0 |
||||
|
Force IOS Speakers When Recording: 0 |
||||
|
deferSystemGesturesMode: 0 |
||||
|
hideHomeButton: 0 |
||||
|
submitAnalytics: 1 |
||||
|
usePlayerLog: 1 |
||||
|
bakeCollisionMeshes: 0 |
||||
|
forceSingleInstance: 0 |
||||
|
useFlipModelSwapchain: 1 |
||||
|
resizableWindow: 0 |
||||
|
useMacAppStoreValidation: 0 |
||||
|
macAppStoreCategory: public.app-category.games |
||||
|
gpuSkinning: 1 |
||||
|
xboxPIXTextureCapture: 0 |
||||
|
xboxEnableAvatar: 0 |
||||
|
xboxEnableKinect: 0 |
||||
|
xboxEnableKinectAutoTracking: 0 |
||||
|
xboxEnableFitness: 0 |
||||
|
visibleInBackground: 1 |
||||
|
allowFullscreenSwitch: 1 |
||||
|
fullscreenMode: 1 |
||||
|
xboxSpeechDB: 0 |
||||
|
xboxEnableHeadOrientation: 0 |
||||
|
xboxEnableGuest: 0 |
||||
|
xboxEnablePIXSampling: 0 |
||||
|
metalFramebufferOnly: 0 |
||||
|
xboxOneResolution: 0 |
||||
|
xboxOneSResolution: 0 |
||||
|
xboxOneXResolution: 3 |
||||
|
xboxOneMonoLoggingLevel: 0 |
||||
|
xboxOneLoggingLevel: 1 |
||||
|
xboxOneDisableEsram: 0 |
||||
|
xboxOneEnableTypeOptimization: 0 |
||||
|
xboxOnePresentImmediateThreshold: 0 |
||||
|
switchQueueCommandMemory: 0 |
||||
|
switchQueueControlMemory: 16384 |
||||
|
switchQueueComputeMemory: 262144 |
||||
|
switchNVNShaderPoolsGranularity: 33554432 |
||||
|
switchNVNDefaultPoolsGranularity: 16777216 |
||||
|
switchNVNOtherPoolsGranularity: 16777216 |
||||
|
switchNVNMaxPublicTextureIDCount: 0 |
||||
|
switchNVNMaxPublicSamplerIDCount: 0 |
||||
|
stadiaPresentMode: 0 |
||||
|
stadiaTargetFramerate: 0 |
||||
|
vulkanNumSwapchainBuffers: 3 |
||||
|
vulkanEnableSetSRGBWrite: 0 |
||||
|
vulkanEnablePreTransform: 1 |
||||
|
vulkanEnableLateAcquireNextImage: 0 |
||||
|
vulkanEnableCommandBufferRecycling: 1 |
||||
|
m_SupportedAspectRatios: |
||||
|
4:3: 1 |
||||
|
5:4: 1 |
||||
|
16:10: 1 |
||||
|
16:9: 1 |
||||
|
Others: 1 |
||||
|
bundleVersion: 0.1 |
||||
|
preloadedAssets: [] |
||||
|
metroInputSource: 0 |
||||
|
wsaTransparentSwapchain: 0 |
||||
|
m_HolographicPauseOnTrackingLoss: 1 |
||||
|
xboxOneDisableKinectGpuReservation: 1 |
||||
|
xboxOneEnable7thCore: 1 |
||||
|
vrSettings: |
||||
|
enable360StereoCapture: 0 |
||||
|
isWsaHolographicRemotingEnabled: 0 |
||||
|
enableFrameTimingStats: 0 |
||||
|
enableOpenGLProfilerGPURecorders: 1 |
||||
|
useHDRDisplay: 0 |
||||
|
D3DHDRBitDepth: 0 |
||||
|
m_ColorGamuts: 00000000 |
||||
|
targetPixelDensity: 30 |
||||
|
resolutionScalingMode: 0 |
||||
|
resetResolutionOnWindowResize: 0 |
||||
|
androidSupportedAspectRatio: 1 |
||||
|
androidMaxAspectRatio: 2.1 |
||||
|
applicationIdentifier: |
||||
|
Standalone: com.DefaultCompany.FSRTestBuiltin |
||||
|
buildNumber: |
||||
|
Standalone: 0 |
||||
|
iPhone: 0 |
||||
|
tvOS: 0 |
||||
|
overrideDefaultApplicationIdentifier: 0 |
||||
|
AndroidBundleVersionCode: 1 |
||||
|
AndroidMinSdkVersion: 22 |
||||
|
AndroidTargetSdkVersion: 0 |
||||
|
AndroidPreferredInstallLocation: 1 |
||||
|
aotOptions: |
||||
|
stripEngineCode: 1 |
||||
|
iPhoneStrippingLevel: 0 |
||||
|
iPhoneScriptCallOptimization: 0 |
||||
|
ForceInternetPermission: 0 |
||||
|
ForceSDCardPermission: 0 |
||||
|
CreateWallpaper: 0 |
||||
|
APKExpansionFiles: 0 |
||||
|
keepLoadedShadersAlive: 0 |
||||
|
StripUnusedMeshComponents: 1 |
||||
|
VertexChannelCompressionMask: 4054 |
||||
|
iPhoneSdkVersion: 988 |
||||
|
iOSTargetOSVersionString: 11.0 |
||||
|
tvOSSdkVersion: 0 |
||||
|
tvOSRequireExtendedGameController: 0 |
||||
|
tvOSTargetOSVersionString: 11.0 |
||||
|
uIPrerenderedIcon: 0 |
||||
|
uIRequiresPersistentWiFi: 0 |
||||
|
uIRequiresFullScreen: 1 |
||||
|
uIStatusBarHidden: 1 |
||||
|
uIExitOnSuspend: 0 |
||||
|
uIStatusBarStyle: 0 |
||||
|
appleTVSplashScreen: {fileID: 0} |
||||
|
appleTVSplashScreen2x: {fileID: 0} |
||||
|
tvOSSmallIconLayers: [] |
||||
|
tvOSSmallIconLayers2x: [] |
||||
|
tvOSLargeIconLayers: [] |
||||
|
tvOSLargeIconLayers2x: [] |
||||
|
tvOSTopShelfImageLayers: [] |
||||
|
tvOSTopShelfImageLayers2x: [] |
||||
|
tvOSTopShelfImageWideLayers: [] |
||||
|
tvOSTopShelfImageWideLayers2x: [] |
||||
|
iOSLaunchScreenType: 0 |
||||
|
iOSLaunchScreenPortrait: {fileID: 0} |
||||
|
iOSLaunchScreenLandscape: {fileID: 0} |
||||
|
iOSLaunchScreenBackgroundColor: |
||||
|
serializedVersion: 2 |
||||
|
rgba: 0 |
||||
|
iOSLaunchScreenFillPct: 100 |
||||
|
iOSLaunchScreenSize: 100 |
||||
|
iOSLaunchScreenCustomXibPath: |
||||
|
iOSLaunchScreeniPadType: 0 |
||||
|
iOSLaunchScreeniPadImage: {fileID: 0} |
||||
|
iOSLaunchScreeniPadBackgroundColor: |
||||
|
serializedVersion: 2 |
||||
|
rgba: 0 |
||||
|
iOSLaunchScreeniPadFillPct: 100 |
||||
|
iOSLaunchScreeniPadSize: 100 |
||||
|
iOSLaunchScreeniPadCustomXibPath: |
||||
|
iOSLaunchScreenCustomStoryboardPath: |
||||
|
iOSLaunchScreeniPadCustomStoryboardPath: |
||||
|
iOSDeviceRequirements: [] |
||||
|
iOSURLSchemes: [] |
||||
|
macOSURLSchemes: [] |
||||
|
iOSBackgroundModes: 0 |
||||
|
iOSMetalForceHardShadows: 0 |
||||
|
metalEditorSupport: 1 |
||||
|
metalAPIValidation: 1 |
||||
|
iOSRenderExtraFrameOnPause: 0 |
||||
|
iosCopyPluginsCodeInsteadOfSymlink: 0 |
||||
|
appleDeveloperTeamID: |
||||
|
iOSManualSigningProvisioningProfileID: |
||||
|
tvOSManualSigningProvisioningProfileID: |
||||
|
iOSManualSigningProvisioningProfileType: 0 |
||||
|
tvOSManualSigningProvisioningProfileType: 0 |
||||
|
appleEnableAutomaticSigning: 0 |
||||
|
iOSRequireARKit: 0 |
||||
|
iOSAutomaticallyDetectAndAddCapabilities: 1 |
||||
|
appleEnableProMotion: 0 |
||||
|
shaderPrecisionModel: 0 |
||||
|
clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea |
||||
|
templatePackageId: com.unity.template.3d@8.1.3 |
||||
|
templateDefaultScene: Assets/Scenes/SampleScene.unity |
||||
|
useCustomMainManifest: 0 |
||||
|
useCustomLauncherManifest: 0 |
||||
|
useCustomMainGradleTemplate: 0 |
||||
|
useCustomLauncherGradleManifest: 0 |
||||
|
useCustomBaseGradleTemplate: 0 |
||||
|
useCustomGradlePropertiesTemplate: 0 |
||||
|
useCustomProguardFile: 0 |
||||
|
AndroidTargetArchitectures: 1 |
||||
|
AndroidTargetDevices: 0 |
||||
|
AndroidSplashScreenScale: 0 |
||||
|
androidSplashScreen: {fileID: 0} |
||||
|
AndroidKeystoreName: |
||||
|
AndroidKeyaliasName: |
||||
|
AndroidBuildApkPerCpuArchitecture: 0 |
||||
|
AndroidTVCompatibility: 0 |
||||
|
AndroidIsGame: 1 |
||||
|
AndroidEnableTango: 0 |
||||
|
androidEnableBanner: 1 |
||||
|
androidUseLowAccuracyLocation: 0 |
||||
|
androidUseCustomKeystore: 0 |
||||
|
m_AndroidBanners: |
||||
|
- width: 320 |
||||
|
height: 180 |
||||
|
banner: {fileID: 0} |
||||
|
androidGamepadSupportLevel: 0 |
||||
|
chromeosInputEmulation: 1 |
||||
|
AndroidMinifyWithR8: 0 |
||||
|
AndroidMinifyRelease: 0 |
||||
|
AndroidMinifyDebug: 0 |
||||
|
AndroidValidateAppBundleSize: 1 |
||||
|
AndroidAppBundleSizeToValidate: 150 |
||||
|
m_BuildTargetIcons: [] |
||||
|
m_BuildTargetPlatformIcons: [] |
||||
|
m_BuildTargetBatching: |
||||
|
- m_BuildTarget: Standalone |
||||
|
m_StaticBatching: 1 |
||||
|
m_DynamicBatching: 0 |
||||
|
- m_BuildTarget: tvOS |
||||
|
m_StaticBatching: 1 |
||||
|
m_DynamicBatching: 0 |
||||
|
- m_BuildTarget: Android |
||||
|
m_StaticBatching: 1 |
||||
|
m_DynamicBatching: 0 |
||||
|
- m_BuildTarget: iPhone |
||||
|
m_StaticBatching: 1 |
||||
|
m_DynamicBatching: 0 |
||||
|
- m_BuildTarget: WebGL |
||||
|
m_StaticBatching: 0 |
||||
|
m_DynamicBatching: 0 |
||||
|
m_BuildTargetShaderSettings: [] |
||||
|
m_BuildTargetGraphicsJobs: |
||||
|
- m_BuildTarget: MacStandaloneSupport |
||||
|
m_GraphicsJobs: 0 |
||||
|
- m_BuildTarget: Switch |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: MetroSupport |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: AppleTVSupport |
||||
|
m_GraphicsJobs: 0 |
||||
|
- m_BuildTarget: BJMSupport |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: LinuxStandaloneSupport |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: PS4Player |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: iOSSupport |
||||
|
m_GraphicsJobs: 0 |
||||
|
- m_BuildTarget: WindowsStandaloneSupport |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: XboxOnePlayer |
||||
|
m_GraphicsJobs: 1 |
||||
|
- m_BuildTarget: LuminSupport |
||||
|
m_GraphicsJobs: 0 |
||||
|
- m_BuildTarget: AndroidPlayer |
||||
|
m_GraphicsJobs: 0 |
||||
|
- m_BuildTarget: WebGLSupport |
||||
|
m_GraphicsJobs: 0 |
||||
|
m_BuildTargetGraphicsJobMode: |
||||
|
- m_BuildTarget: PS4Player |
||||
|
m_GraphicsJobMode: 0 |
||||
|
- m_BuildTarget: XboxOnePlayer |
||||
|
m_GraphicsJobMode: 0 |
||||
|
m_BuildTargetGraphicsAPIs: |
||||
|
- m_BuildTarget: AndroidPlayer |
||||
|
m_APIs: 150000000b000000 |
||||
|
m_Automatic: 1 |
||||
|
- m_BuildTarget: iOSSupport |
||||
|
m_APIs: 10000000 |
||||
|
m_Automatic: 1 |
||||
|
- m_BuildTarget: AppleTVSupport |
||||
|
m_APIs: 10000000 |
||||
|
m_Automatic: 1 |
||||
|
- m_BuildTarget: WebGLSupport |
||||
|
m_APIs: 0b000000 |
||||
|
m_Automatic: 1 |
||||
|
m_BuildTargetVRSettings: |
||||
|
- m_BuildTarget: Standalone |
||||
|
m_Enabled: 0 |
||||
|
m_Devices: |
||||
|
- Oculus |
||||
|
- OpenVR |
||||
|
m_DefaultShaderChunkSizeInMB: 16 |
||||
|
m_DefaultShaderChunkCount: 0 |
||||
|
openGLRequireES31: 0 |
||||
|
openGLRequireES31AEP: 0 |
||||
|
openGLRequireES32: 0 |
||||
|
m_TemplateCustomTags: {} |
||||
|
mobileMTRendering: |
||||
|
Android: 1 |
||||
|
iPhone: 1 |
||||
|
tvOS: 1 |
||||
|
m_BuildTargetGroupLightmapEncodingQuality: |
||||
|
- m_BuildTarget: Android |
||||
|
m_EncodingQuality: 1 |
||||
|
- m_BuildTarget: iPhone |
||||
|
m_EncodingQuality: 1 |
||||
|
- m_BuildTarget: tvOS |
||||
|
m_EncodingQuality: 1 |
||||
|
m_BuildTargetGroupLightmapSettings: [] |
||||
|
m_BuildTargetNormalMapEncoding: |
||||
|
- m_BuildTarget: Android |
||||
|
m_Encoding: 1 |
||||
|
- m_BuildTarget: iPhone |
||||
|
m_Encoding: 1 |
||||
|
- m_BuildTarget: tvOS |
||||
|
m_Encoding: 1 |
||||
|
m_BuildTargetDefaultTextureCompressionFormat: |
||||
|
- m_BuildTarget: Android |
||||
|
m_Format: 3 |
||||
|
playModeTestRunnerEnabled: 0 |
||||
|
runPlayModeTestAsEditModeTest: 0 |
||||
|
actionOnDotNetUnhandledException: 1 |
||||
|
enableInternalProfiler: 0 |
||||
|
logObjCUncaughtExceptions: 1 |
||||
|
enableCrashReportAPI: 0 |
||||
|
cameraUsageDescription: |
||||
|
locationUsageDescription: |
||||
|
microphoneUsageDescription: |
||||
|
bluetoothUsageDescription: |
||||
|
switchNMETAOverride: |
||||
|
switchNetLibKey: |
||||
|
switchSocketMemoryPoolSize: 6144 |
||||
|
switchSocketAllocatorPoolSize: 128 |
||||
|
switchSocketConcurrencyLimit: 14 |
||||
|
switchScreenResolutionBehavior: 2 |
||||
|
switchUseCPUProfiler: 0 |
||||
|
switchUseGOLDLinker: 0 |
||||
|
switchLTOSetting: 0 |
||||
|
switchApplicationID: 0x01004b9000490000 |
||||
|
switchNSODependencies: |
||||
|
switchTitleNames_0: |
||||
|
switchTitleNames_1: |
||||
|
switchTitleNames_2: |
||||
|
switchTitleNames_3: |
||||
|
switchTitleNames_4: |
||||
|
switchTitleNames_5: |
||||
|
switchTitleNames_6: |
||||
|
switchTitleNames_7: |
||||
|
switchTitleNames_8: |
||||
|
switchTitleNames_9: |
||||
|
switchTitleNames_10: |
||||
|
switchTitleNames_11: |
||||
|
switchTitleNames_12: |
||||
|
switchTitleNames_13: |
||||
|
switchTitleNames_14: |
||||
|
switchTitleNames_15: |
||||
|
switchPublisherNames_0: |
||||
|
switchPublisherNames_1: |
||||
|
switchPublisherNames_2: |
||||
|
switchPublisherNames_3: |
||||
|
switchPublisherNames_4: |
||||
|
switchPublisherNames_5: |
||||
|
switchPublisherNames_6: |
||||
|
switchPublisherNames_7: |
||||
|
switchPublisherNames_8: |
||||
|
switchPublisherNames_9: |
||||
|
switchPublisherNames_10: |
||||
|
switchPublisherNames_11: |
||||
|
switchPublisherNames_12: |
||||
|
switchPublisherNames_13: |
||||
|
switchPublisherNames_14: |
||||
|
switchPublisherNames_15: |
||||
|
switchIcons_0: {fileID: 0} |
||||
|
switchIcons_1: {fileID: 0} |
||||
|
switchIcons_2: {fileID: 0} |
||||
|
switchIcons_3: {fileID: 0} |
||||
|
switchIcons_4: {fileID: 0} |
||||
|
switchIcons_5: {fileID: 0} |
||||
|
switchIcons_6: {fileID: 0} |
||||
|
switchIcons_7: {fileID: 0} |
||||
|
switchIcons_8: {fileID: 0} |
||||
|
switchIcons_9: {fileID: 0} |
||||
|
switchIcons_10: {fileID: 0} |
||||
|
switchIcons_11: {fileID: 0} |
||||
|
switchIcons_12: {fileID: 0} |
||||
|
switchIcons_13: {fileID: 0} |
||||
|
switchIcons_14: {fileID: 0} |
||||
|
switchIcons_15: {fileID: 0} |
||||
|
switchSmallIcons_0: {fileID: 0} |
||||
|
switchSmallIcons_1: {fileID: 0} |
||||
|
switchSmallIcons_2: {fileID: 0} |
||||
|
switchSmallIcons_3: {fileID: 0} |
||||
|
switchSmallIcons_4: {fileID: 0} |
||||
|
switchSmallIcons_5: {fileID: 0} |
||||
|
switchSmallIcons_6: {fileID: 0} |
||||
|
switchSmallIcons_7: {fileID: 0} |
||||
|
switchSmallIcons_8: {fileID: 0} |
||||
|
switchSmallIcons_9: {fileID: 0} |
||||
|
switchSmallIcons_10: {fileID: 0} |
||||
|
switchSmallIcons_11: {fileID: 0} |
||||
|
switchSmallIcons_12: {fileID: 0} |
||||
|
switchSmallIcons_13: {fileID: 0} |
||||
|
switchSmallIcons_14: {fileID: 0} |
||||
|
switchSmallIcons_15: {fileID: 0} |
||||
|
switchManualHTML: |
||||
|
switchAccessibleURLs: |
||||
|
switchLegalInformation: |
||||
|
switchMainThreadStackSize: 1048576 |
||||
|
switchPresenceGroupId: |
||||
|
switchLogoHandling: 0 |
||||
|
switchReleaseVersion: 0 |
||||
|
switchDisplayVersion: 1.0.0 |
||||
|
switchStartupUserAccount: 0 |
||||
|
switchTouchScreenUsage: 0 |
||||
|
switchSupportedLanguagesMask: 0 |
||||
|
switchLogoType: 0 |
||||
|
switchApplicationErrorCodeCategory: |
||||
|
switchUserAccountSaveDataSize: 0 |
||||
|
switchUserAccountSaveDataJournalSize: 0 |
||||
|
switchApplicationAttribute: 0 |
||||
|
switchCardSpecSize: -1 |
||||
|
switchCardSpecClock: -1 |
||||
|
switchRatingsMask: 0 |
||||
|
switchRatingsInt_0: 0 |
||||
|
switchRatingsInt_1: 0 |
||||
|
switchRatingsInt_2: 0 |
||||
|
switchRatingsInt_3: 0 |
||||
|
switchRatingsInt_4: 0 |
||||
|
switchRatingsInt_5: 0 |
||||
|
switchRatingsInt_6: 0 |
||||
|
switchRatingsInt_7: 0 |
||||
|
switchRatingsInt_8: 0 |
||||
|
switchRatingsInt_9: 0 |
||||
|
switchRatingsInt_10: 0 |
||||
|
switchRatingsInt_11: 0 |
||||
|
switchRatingsInt_12: 0 |
||||
|
switchLocalCommunicationIds_0: |
||||
|
switchLocalCommunicationIds_1: |
||||
|
switchLocalCommunicationIds_2: |
||||
|
switchLocalCommunicationIds_3: |
||||
|
switchLocalCommunicationIds_4: |
||||
|
switchLocalCommunicationIds_5: |
||||
|
switchLocalCommunicationIds_6: |
||||
|
switchLocalCommunicationIds_7: |
||||
|
switchParentalControl: 0 |
||||
|
switchAllowsScreenshot: 1 |
||||
|
switchAllowsVideoCapturing: 1 |
||||
|
switchAllowsRuntimeAddOnContentInstall: 0 |
||||
|
switchDataLossConfirmation: 0 |
||||
|
switchUserAccountLockEnabled: 0 |
||||
|
switchSystemResourceMemory: 16777216 |
||||
|
switchSupportedNpadStyles: 22 |
||||
|
switchNativeFsCacheSize: 32 |
||||
|
switchIsHoldTypeHorizontal: 0 |
||||
|
switchSupportedNpadCount: 8 |
||||
|
switchSocketConfigEnabled: 0 |
||||
|
switchTcpInitialSendBufferSize: 32 |
||||
|
switchTcpInitialReceiveBufferSize: 64 |
||||
|
switchTcpAutoSendBufferSizeMax: 256 |
||||
|
switchTcpAutoReceiveBufferSizeMax: 256 |
||||
|
switchUdpSendBufferSize: 9 |
||||
|
switchUdpReceiveBufferSize: 42 |
||||
|
switchSocketBufferEfficiency: 4 |
||||
|
switchSocketInitializeEnabled: 1 |
||||
|
switchNetworkInterfaceManagerInitializeEnabled: 1 |
||||
|
switchPlayerConnectionEnabled: 1 |
||||
|
switchUseNewStyleFilepaths: 0 |
||||
|
switchUseLegacyFmodPriorities: 1 |
||||
|
switchUseMicroSleepForYield: 1 |
||||
|
switchEnableRamDiskSupport: 0 |
||||
|
switchMicroSleepForYieldTime: 25 |
||||
|
switchRamDiskSpaceSize: 12 |
||||
|
ps4NPAgeRating: 12 |
||||
|
ps4NPTitleSecret: |
||||
|
ps4NPTrophyPackPath: |
||||
|
ps4ParentalLevel: 11 |
||||
|
ps4ContentID: ED1633-NPXX51362_00-0000000000000000 |
||||
|
ps4Category: 0 |
||||
|
ps4MasterVersion: 01.00 |
||||
|
ps4AppVersion: 01.00 |
||||
|
ps4AppType: 0 |
||||
|
ps4ParamSfxPath: |
||||
|
ps4VideoOutPixelFormat: 0 |
||||
|
ps4VideoOutInitialWidth: 1920 |
||||
|
ps4VideoOutBaseModeInitialWidth: 1920 |
||||
|
ps4VideoOutReprojectionRate: 60 |
||||
|
ps4PronunciationXMLPath: |
||||
|
ps4PronunciationSIGPath: |
||||
|
ps4BackgroundImagePath: |
||||
|
ps4StartupImagePath: |
||||
|
ps4StartupImagesFolder: |
||||
|
ps4IconImagesFolder: |
||||
|
ps4SaveDataImagePath: |
||||
|
ps4SdkOverride: |
||||
|
ps4BGMPath: |
||||
|
ps4ShareFilePath: |
||||
|
ps4ShareOverlayImagePath: |
||||
|
ps4PrivacyGuardImagePath: |
||||
|
ps4ExtraSceSysFile: |
||||
|
ps4NPtitleDatPath: |
||||
|
ps4RemotePlayKeyAssignment: -1 |
||||
|
ps4RemotePlayKeyMappingDir: |
||||
|
ps4PlayTogetherPlayerCount: 0 |
||||
|
ps4EnterButtonAssignment: 1 |
||||
|
ps4ApplicationParam1: 0 |
||||
|
ps4ApplicationParam2: 0 |
||||
|
ps4ApplicationParam3: 0 |
||||
|
ps4ApplicationParam4: 0 |
||||
|
ps4DownloadDataSize: 0 |
||||
|
ps4GarlicHeapSize: 2048 |
||||
|
ps4ProGarlicHeapSize: 2560 |
||||
|
playerPrefsMaxSize: 32768 |
||||
|
ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ |
||||
|
ps4pnSessions: 1 |
||||
|
ps4pnPresence: 1 |
||||
|
ps4pnFriends: 1 |
||||
|
ps4pnGameCustomData: 1 |
||||
|
playerPrefsSupport: 0 |
||||
|
enableApplicationExit: 0 |
||||
|
resetTempFolder: 1 |
||||
|
restrictedAudioUsageRights: 0 |
||||
|
ps4UseResolutionFallback: 0 |
||||
|
ps4ReprojectionSupport: 0 |
||||
|
ps4UseAudio3dBackend: 0 |
||||
|
ps4UseLowGarlicFragmentationMode: 1 |
||||
|
ps4SocialScreenEnabled: 0 |
||||
|
ps4ScriptOptimizationLevel: 0 |
||||
|
ps4Audio3dVirtualSpeakerCount: 14 |
||||
|
ps4attribCpuUsage: 0 |
||||
|
ps4PatchPkgPath: |
||||
|
ps4PatchLatestPkgPath: |
||||
|
ps4PatchChangeinfoPath: |
||||
|
ps4PatchDayOne: 0 |
||||
|
ps4attribUserManagement: 0 |
||||
|
ps4attribMoveSupport: 0 |
||||
|
ps4attrib3DSupport: 0 |
||||
|
ps4attribShareSupport: 0 |
||||
|
ps4attribExclusiveVR: 0 |
||||
|
ps4disableAutoHideSplash: 0 |
||||
|
ps4videoRecordingFeaturesUsed: 0 |
||||
|
ps4contentSearchFeaturesUsed: 0 |
||||
|
ps4CompatibilityPS5: 0 |
||||
|
ps4AllowPS5Detection: 0 |
||||
|
ps4GPU800MHz: 1 |
||||
|
ps4attribEyeToEyeDistanceSettingVR: 0 |
||||
|
ps4IncludedModules: [] |
||||
|
ps4attribVROutputEnabled: 0 |
||||
|
monoEnv: |
||||
|
splashScreenBackgroundSourceLandscape: {fileID: 0} |
||||
|
splashScreenBackgroundSourcePortrait: {fileID: 0} |
||||
|
blurSplashScreenBackground: 1 |
||||
|
spritePackerPolicy: |
||||
|
webGLMemorySize: 16 |
||||
|
webGLExceptionSupport: 1 |
||||
|
webGLNameFilesAsHashes: 0 |
||||
|
webGLDataCaching: 1 |
||||
|
webGLDebugSymbols: 0 |
||||
|
webGLEmscriptenArgs: |
||||
|
webGLModulesDirectory: |
||||
|
webGLTemplate: APPLICATION:Default |
||||
|
webGLAnalyzeBuildSize: 0 |
||||
|
webGLUseEmbeddedResources: 0 |
||||
|
webGLCompressionFormat: 1 |
||||
|
webGLWasmArithmeticExceptions: 0 |
||||
|
webGLLinkerTarget: 1 |
||||
|
webGLThreadsSupport: 0 |
||||
|
webGLDecompressionFallback: 0 |
||||
|
webGLPowerPreference: 2 |
||||
|
scriptingDefineSymbols: {} |
||||
|
additionalCompilerArguments: {} |
||||
|
platformArchitecture: {} |
||||
|
scriptingBackend: {} |
||||
|
il2cppCompilerConfiguration: {} |
||||
|
managedStrippingLevel: {} |
||||
|
incrementalIl2cppBuild: {} |
||||
|
suppressCommonWarnings: 1 |
||||
|
allowUnsafeCode: 0 |
||||
|
useDeterministicCompilation: 1 |
||||
|
enableRoslynAnalyzers: 1 |
||||
|
selectedPlatform: 0 |
||||
|
additionalIl2CppArgs: |
||||
|
scriptingRuntimeVersion: 1 |
||||
|
gcIncremental: 1 |
||||
|
assemblyVersionValidation: 1 |
||||
|
gcWBarrierValidation: 0 |
||||
|
apiCompatibilityLevelPerPlatform: {} |
||||
|
m_RenderingPath: 1 |
||||
|
m_MobileRenderingPath: 1 |
||||
|
metroPackageName: Template_3D |
||||
|
metroPackageVersion: |
||||
|
metroCertificatePath: |
||||
|
metroCertificatePassword: |
||||
|
metroCertificateSubject: |
||||
|
metroCertificateIssuer: |
||||
|
metroCertificateNotAfter: 0000000000000000 |
||||
|
metroApplicationDescription: Template_3D |
||||
|
wsaImages: {} |
||||
|
metroTileShortName: |
||||
|
metroTileShowName: 0 |
||||
|
metroMediumTileShowName: 0 |
||||
|
metroLargeTileShowName: 0 |
||||
|
metroWideTileShowName: 0 |
||||
|
metroSupportStreamingInstall: 0 |
||||
|
metroLastRequiredScene: 0 |
||||
|
metroDefaultTileSize: 1 |
||||
|
metroTileForegroundText: 2 |
||||
|
metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} |
||||
|
metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} |
||||
|
metroSplashScreenUseBackgroundColor: 0 |
||||
|
platformCapabilities: {} |
||||
|
metroTargetDeviceFamilies: {} |
||||
|
metroFTAName: |
||||
|
metroFTAFileTypes: [] |
||||
|
metroProtocolName: |
||||
|
vcxProjDefaultLanguage: |
||||
|
XboxOneProductId: |
||||
|
XboxOneUpdateKey: |
||||
|
XboxOneSandboxId: |
||||
|
XboxOneContentId: |
||||
|
XboxOneTitleId: |
||||
|
XboxOneSCId: |
||||
|
XboxOneGameOsOverridePath: |
||||
|
XboxOnePackagingOverridePath: |
||||
|
XboxOneAppManifestOverridePath: |
||||
|
XboxOneVersion: 1.0.0.0 |
||||
|
XboxOnePackageEncryption: 0 |
||||
|
XboxOnePackageUpdateGranularity: 2 |
||||
|
XboxOneDescription: |
||||
|
XboxOneLanguage: |
||||
|
- enus |
||||
|
XboxOneCapability: [] |
||||
|
XboxOneGameRating: {} |
||||
|
XboxOneIsContentPackage: 0 |
||||
|
XboxOneEnhancedXboxCompatibilityMode: 0 |
||||
|
XboxOneEnableGPUVariability: 1 |
||||
|
XboxOneSockets: {} |
||||
|
XboxOneSplashScreen: {fileID: 0} |
||||
|
XboxOneAllowedProductIds: [] |
||||
|
XboxOnePersistentLocalStorageSize: 0 |
||||
|
XboxOneXTitleMemory: 8 |
||||
|
XboxOneOverrideIdentityName: |
||||
|
XboxOneOverrideIdentityPublisher: |
||||
|
vrEditorSettings: {} |
||||
|
cloudServicesEnabled: |
||||
|
UNet: 1 |
||||
|
luminIcon: |
||||
|
m_Name: |
||||
|
m_ModelFolderPath: |
||||
|
m_PortalFolderPath: |
||||
|
luminCert: |
||||
|
m_CertPath: |
||||
|
m_SignPackage: 1 |
||||
|
luminIsChannelApp: 0 |
||||
|
luminVersion: |
||||
|
m_VersionCode: 1 |
||||
|
m_VersionName: |
||||
|
apiCompatibilityLevel: 6 |
||||
|
activeInputHandler: 0 |
||||
|
windowsGamepadBackendHint: 0 |
||||
|
cloudProjectId: |
||||
|
framebufferDepthMemorylessMode: 0 |
||||
|
qualitySettingsNames: [] |
||||
|
projectName: |
||||
|
organizationId: |
||||
|
cloudEnabled: 0 |
||||
|
legacyClampBlendShapeWeights: 0 |
||||
|
playerDataPath: |
||||
|
forceSRGBBlit: 1 |
||||
|
virtualTexturingSupportEnabled: 0 |
||||
@ -0,0 +1,2 @@ |
|||||
|
m_EditorVersion: 2021.3.16f1 |
||||
|
m_EditorVersionWithRevision: 2021.3.16f1 (4016570cf34f) |
||||
@ -0,0 +1,241 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!47 &1 |
||||
|
QualitySettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 5 |
||||
|
m_CurrentQuality: 5 |
||||
|
m_QualitySettings: |
||||
|
- serializedVersion: 2 |
||||
|
name: Very Low |
||||
|
pixelLightCount: 0 |
||||
|
shadows: 0 |
||||
|
shadowResolution: 0 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 1 |
||||
|
shadowDistance: 15 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 0 |
||||
|
skinWeights: 1 |
||||
|
textureQuality: 1 |
||||
|
anisotropicTextures: 0 |
||||
|
antiAliasing: 0 |
||||
|
softParticles: 0 |
||||
|
softVegetation: 0 |
||||
|
realtimeReflectionProbes: 0 |
||||
|
billboardsFaceCameraPosition: 0 |
||||
|
vSyncCount: 0 |
||||
|
lodBias: 0.3 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 4 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
- serializedVersion: 2 |
||||
|
name: Low |
||||
|
pixelLightCount: 0 |
||||
|
shadows: 0 |
||||
|
shadowResolution: 0 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 1 |
||||
|
shadowDistance: 20 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 0 |
||||
|
skinWeights: 2 |
||||
|
textureQuality: 0 |
||||
|
anisotropicTextures: 0 |
||||
|
antiAliasing: 0 |
||||
|
softParticles: 0 |
||||
|
softVegetation: 0 |
||||
|
realtimeReflectionProbes: 0 |
||||
|
billboardsFaceCameraPosition: 0 |
||||
|
vSyncCount: 0 |
||||
|
lodBias: 0.4 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 16 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
- serializedVersion: 2 |
||||
|
name: Medium |
||||
|
pixelLightCount: 1 |
||||
|
shadows: 1 |
||||
|
shadowResolution: 0 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 1 |
||||
|
shadowDistance: 20 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 0 |
||||
|
skinWeights: 2 |
||||
|
textureQuality: 0 |
||||
|
anisotropicTextures: 1 |
||||
|
antiAliasing: 0 |
||||
|
softParticles: 0 |
||||
|
softVegetation: 0 |
||||
|
realtimeReflectionProbes: 0 |
||||
|
billboardsFaceCameraPosition: 0 |
||||
|
vSyncCount: 1 |
||||
|
lodBias: 0.7 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 64 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
- serializedVersion: 2 |
||||
|
name: High |
||||
|
pixelLightCount: 2 |
||||
|
shadows: 2 |
||||
|
shadowResolution: 1 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 2 |
||||
|
shadowDistance: 40 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 1 |
||||
|
skinWeights: 2 |
||||
|
textureQuality: 0 |
||||
|
anisotropicTextures: 1 |
||||
|
antiAliasing: 0 |
||||
|
softParticles: 0 |
||||
|
softVegetation: 1 |
||||
|
realtimeReflectionProbes: 1 |
||||
|
billboardsFaceCameraPosition: 1 |
||||
|
vSyncCount: 1 |
||||
|
lodBias: 1 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 256 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
- serializedVersion: 2 |
||||
|
name: Very High |
||||
|
pixelLightCount: 3 |
||||
|
shadows: 2 |
||||
|
shadowResolution: 2 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 2 |
||||
|
shadowDistance: 70 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 1 |
||||
|
skinWeights: 4 |
||||
|
textureQuality: 0 |
||||
|
anisotropicTextures: 2 |
||||
|
antiAliasing: 2 |
||||
|
softParticles: 1 |
||||
|
softVegetation: 1 |
||||
|
realtimeReflectionProbes: 1 |
||||
|
billboardsFaceCameraPosition: 1 |
||||
|
vSyncCount: 1 |
||||
|
lodBias: 1.5 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 1024 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
- serializedVersion: 2 |
||||
|
name: Ultra |
||||
|
pixelLightCount: 4 |
||||
|
shadows: 2 |
||||
|
shadowResolution: 2 |
||||
|
shadowProjection: 1 |
||||
|
shadowCascades: 4 |
||||
|
shadowDistance: 150 |
||||
|
shadowNearPlaneOffset: 3 |
||||
|
shadowCascade2Split: 0.33333334 |
||||
|
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} |
||||
|
shadowmaskMode: 1 |
||||
|
skinWeights: 4 |
||||
|
textureQuality: 0 |
||||
|
anisotropicTextures: 2 |
||||
|
antiAliasing: 2 |
||||
|
softParticles: 1 |
||||
|
softVegetation: 1 |
||||
|
realtimeReflectionProbes: 1 |
||||
|
billboardsFaceCameraPosition: 1 |
||||
|
vSyncCount: 1 |
||||
|
lodBias: 2 |
||||
|
maximumLODLevel: 0 |
||||
|
streamingMipmapsActive: 0 |
||||
|
streamingMipmapsAddAllCameras: 1 |
||||
|
streamingMipmapsMemoryBudget: 512 |
||||
|
streamingMipmapsRenderersPerFrame: 512 |
||||
|
streamingMipmapsMaxLevelReduction: 2 |
||||
|
streamingMipmapsMaxFileIORequests: 1024 |
||||
|
particleRaycastBudget: 4096 |
||||
|
asyncUploadTimeSlice: 2 |
||||
|
asyncUploadBufferSize: 16 |
||||
|
asyncUploadPersistentBuffer: 1 |
||||
|
resolutionScalingFixedDPIFactor: 1 |
||||
|
customRenderPipeline: {fileID: 0} |
||||
|
excludedTargetPlatforms: [] |
||||
|
m_PerPlatformDefaultQuality: |
||||
|
Android: 2 |
||||
|
GameCoreScarlett: 5 |
||||
|
GameCoreXboxOne: 5 |
||||
|
Lumin: 5 |
||||
|
Nintendo 3DS: 5 |
||||
|
Nintendo Switch: 5 |
||||
|
PS4: 5 |
||||
|
PS5: 5 |
||||
|
Server: 0 |
||||
|
Stadia: 5 |
||||
|
Standalone: 5 |
||||
|
WebGL: 3 |
||||
|
Windows Store Apps: 5 |
||||
|
XboxOne: 5 |
||||
|
iPhone: 2 |
||||
|
tvOS: 2 |
||||
@ -0,0 +1,6 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Game xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" configVersion="0"> |
||||
|
<Identity Name="FSRTestBuiltin" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.0.0.0" /> |
||||
|
<ShellVisuals DefaultDisplayName="Default Display Name" PublisherDisplayName="DefaultCompany" StoreLogo="StoreLogo.png" Square150x150Logo="Logo.png" Square44x44Logo="SmallLogo.png" Description="Default Description" BackgroundColor="#000000" SplashScreenImage="SplashScreen.png" /> |
||||
|
<VirtualMachine /> |
||||
|
</Game> |
||||
@ -0,0 +1,167 @@ |
|||||
|
{ |
||||
|
"templatePinStates": [], |
||||
|
"dependencyTypeInfos": [ |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.AnimationClip", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEditor.Animations.AnimatorController", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.AnimatorOverrideController", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEditor.Audio.AudioMixerController", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.ComputeShader", |
||||
|
"ignore": true, |
||||
|
"defaultInstantiationMode": 1, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Cubemap", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.GameObject", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEditor.LightingDataAsset", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": false |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.LightingSettings", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Material", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEditor.MonoScript", |
||||
|
"ignore": true, |
||||
|
"defaultInstantiationMode": 1, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.PhysicMaterial", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.PhysicsMaterial2D", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Rendering.VolumeProfile", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEditor.SceneAsset", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": false |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Shader", |
||||
|
"ignore": true, |
||||
|
"defaultInstantiationMode": 1, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.ShaderVariantCollection", |
||||
|
"ignore": true, |
||||
|
"defaultInstantiationMode": 1, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Texture", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Texture2D", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
{ |
||||
|
"userAdded": false, |
||||
|
"type": "UnityEngine.Timeline.TimelineAsset", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 0, |
||||
|
"supportsModification": true |
||||
|
} |
||||
|
], |
||||
|
"defaultDependencyTypeInfo": { |
||||
|
"userAdded": false, |
||||
|
"type": "<default_scene_template_dependencies>", |
||||
|
"ignore": false, |
||||
|
"defaultInstantiationMode": 1, |
||||
|
"supportsModification": true |
||||
|
}, |
||||
|
"newSceneOverride": 0 |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!78 &1 |
||||
|
TagManager: |
||||
|
serializedVersion: 2 |
||||
|
tags: [] |
||||
|
layers: |
||||
|
- Default |
||||
|
- TransparentFX |
||||
|
- Ignore Raycast |
||||
|
- |
||||
|
- Water |
||||
|
- UI |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
- |
||||
|
m_SortingLayers: |
||||
|
- name: Default |
||||
|
uniqueID: 0 |
||||
|
locked: 0 |
||||
@ -0,0 +1,9 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!5 &1 |
||||
|
TimeManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
Fixed Timestep: 0.02 |
||||
|
Maximum Allowed Timestep: 0.33333334 |
||||
|
m_TimeScale: 1 |
||||
|
Maximum Particle Timestep: 0.03 |
||||
@ -0,0 +1,36 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!310 &1 |
||||
|
UnityConnectSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
serializedVersion: 1 |
||||
|
m_Enabled: 0 |
||||
|
m_TestMode: 0 |
||||
|
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events |
||||
|
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events |
||||
|
m_ConfigUrl: https://config.uca.cloud.unity3d.com |
||||
|
m_DashboardUrl: https://dashboard.unity3d.com |
||||
|
m_TestInitMode: 0 |
||||
|
CrashReportingSettings: |
||||
|
m_EventUrl: https://perf-events.cloud.unity3d.com |
||||
|
m_Enabled: 0 |
||||
|
m_LogBufferSize: 10 |
||||
|
m_CaptureEditorExceptions: 1 |
||||
|
UnityPurchasingSettings: |
||||
|
m_Enabled: 0 |
||||
|
m_TestMode: 0 |
||||
|
UnityAnalyticsSettings: |
||||
|
m_Enabled: 0 |
||||
|
m_TestMode: 0 |
||||
|
m_InitializeOnStartup: 1 |
||||
|
m_PackageRequiringCoreStatsPresent: 0 |
||||
|
UnityAdsSettings: |
||||
|
m_Enabled: 0 |
||||
|
m_InitializeOnStartup: 1 |
||||
|
m_TestMode: 0 |
||||
|
m_IosGameId: |
||||
|
m_AndroidGameId: |
||||
|
m_GameIds: {} |
||||
|
m_GameId: |
||||
|
PerformanceReportingSettings: |
||||
|
m_Enabled: 0 |
||||
@ -0,0 +1,12 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!937362698 &1 |
||||
|
VFXManager: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_IndirectShader: {fileID: 0} |
||||
|
m_CopyBufferShader: {fileID: 0} |
||||
|
m_SortShader: {fileID: 0} |
||||
|
m_StripUpdateShader: {fileID: 0} |
||||
|
m_RenderPipeSettingsPath: |
||||
|
m_FixedTimeStep: 0.016666668 |
||||
|
m_MaxDeltaTime: 0.05 |
||||
@ -0,0 +1,8 @@ |
|||||
|
%YAML 1.1 |
||||
|
%TAG !u! tag:unity3d.com,2011: |
||||
|
--- !u!890905787 &1 |
||||
|
VersionControlSettings: |
||||
|
m_ObjectHideFlags: 0 |
||||
|
m_Mode: Visible Meta Files |
||||
|
m_CollabEditorSettings: |
||||
|
inProgressEnabled: 1 |
||||
@ -0,0 +1,10 @@ |
|||||
|
{ |
||||
|
"m_SettingKeys": [ |
||||
|
"VR Device Disabled", |
||||
|
"VR Device User Alert" |
||||
|
], |
||||
|
"m_SettingValues": [ |
||||
|
"False", |
||||
|
"False" |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,6 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<Game xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" configVersion="0"> |
||||
|
<Identity Name="FSRTestBuiltin" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.0.0.0" /> |
||||
|
<ShellVisuals DefaultDisplayName="Default Display Name" PublisherDisplayName="DefaultCompany" StoreLogo="StoreLogo.png" Square150x150Logo="Logo.png" Square44x44Logo="SmallLogo.png" Description="Default Description" BackgroundColor="#000000" SplashScreenImage="SplashScreen.png" /> |
||||
|
<VirtualMachine /> |
||||
|
</Game> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue