You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#lockdown Nick.Penwarden
#rb The Forces of Good and Evil, twixt the realms from which bugs doth come
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3026722 on 2016/06/24 by Chad.Taylor
IStereoLayers SteamVR initial implementation
Change 3027397 on 2016/06/24 by Chad.Taylor
SteamVR stereo layer texture updating rework. It now upadtes textures from the render thread and supports "continous update"
Change 3033004 on 2016/06/29 by Nick.Whiting
Integrating GoogleVR plugin from Google branch
Change 3033248 on 2016/06/29 by Sam.Zamani
Copying //Tasks/UE4/Dev-VR-Online to Dev-VR (//UE4/Dev-VR)
Merged up to cl #3029677 from //depot/Partners/Oculus/UE4-Research/4.12-dev/Engine/Source/Runtime/Online/...
Added PacketHandler module dependency to new OnlineSubsystemOculus module
Replaced std::move usage with UE equivalent MoveTemp
Trigger OnLoginStatusChanged delegate during login/logout processing of FOnlineIdentityOculus
Implemented Oculus unique net id creation from string and byte*
Added OnlineSubsystemOculus module as a dependency for QAGame testing
Make sure to always call completion delegates in FOnlineFriendsOculus
Trigger success OnMatchmakingComplete delegate in FOnlineSessionOculus::StartMatchmaking
Fixed shadowed variable PlayerId in FOnlineSessionOculus::OnRoomInviteAccepted
Split out 32/64bit dll dependencies of LibOVRPlatform
Replaced "unsigned long long" with UE equivalent "uint64"
Replaced "unsigned int" with UE equivalent "uint32"
Change 3033490 on 2016/06/29 by Jeff.Fisher
UE-32601
Changed from Flush to FlushImmediate when switching from rendering one eye buffer to the other on GoogleVR because we are trying to clear the immediate RHI command list.
Change 3034920 on 2016/06/30 by Chad.Taylor
PSVR ApplyMorpheusReprojection support for separate texture per stereo eye.
Change 3038640 on 2016/07/05 by Chad.Taylor
Fixing Morpheus "HasValidTrackingPosition" to actually return true when tracking is valid.
Change 3038940 on 2016/07/06 by Nick.Whiting
Haptics Refactor: Adding support for multiple types of haptics effect, defined by their data format (curves, buffer, sound waves)
Change 3040512 on 2016/07/06 by Chad.Taylor
Fix for CopyOverOtherViewportsIfNeeded that was selecting an incorrect FSceneView. This was picking the wrong hmd mesh for render and causing strange flickering.
Change 3041314 on 2016/07/07 by Nick.Whiting
Extending core hand types for motion tracking controllers to have external camera tracking available, as well as Special_1 - 9 for systems like STEM that have multiple special packs.
Change 3041353 on 2016/07/07 by Nick.Whiting
Modifying SteamVR HMD detection check to use a lighter weight function that doesn't launch the compositor
Change 3043516 on 2016/07/08 by Chad.Taylor
PSVR A3D Sound fix
Change 3043808 on 2016/07/08 by Nick.Whiting
Fixing issue with SteamVR plugin starting while trying to detect connected HMDs, fix for editor quitting when VR Compositor quits
Change 3043840 on 2016/07/09 by Nick.Whiting
OSVR Updated plugin, from Sensics
Change 3043958 on 2016/07/09 by Nick.Whiting
Oculus 1.5 Support Integration
Change 3045493 on 2016/07/11 by Ryan.Vance
Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
PS4 multi-view copy up
Change 3046896 on 2016/07/12 by Ryan.Vance
#jira UE-30842
We need to also late update ShadowViewMatrices, otherwise we compute an incorrect volume for translucent lighting which manifests as flickering.
Note: I'm not bothering to check the r.Shadow.FreezeCamera cvar here, as debugging shadowing *in vr* is probably not a case we need to support.
Change 3047272 on 2016/07/12 by Ryan.Vance
#jira UE-30278
We need to forward the eye index interpolator along.
Also removed a superfluous call to resolve view.
Change 3048060 on 2016/07/13 by Nick.Whiting
Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR
Upgrade Android and iOS GVR SDK to the latest.
Fix the flipped vignette issue when using Unreal's post processing distortion.
Change the Daydream & Cardboard mode to use scanline racing.
Deprecate the ability to turn off individual UI elements.
Change 3048151 on 2016/07/13 by Nick.Whiting
Integrating small controller initialization fix from AndroidVR-DevVR branch
Change 3048363 on 2016/07/13 by Ryan.Vance
Fix for crash with HMDs when the adapter description isn't found. Crashing case was having monitors plugged into one adapter, and an HMD plugged into another, which caused a gap in AdapterDescription array, which later crashed in FindAdapter.
Change 3048783 on 2016/07/13 by Chad.Taylor
Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution
#jira UE-30173
Change 3049101 on 2016/07/13 by Chad.Taylor
Part 2 of: Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution.
Had to defer setting of the viewport size to occur after we have a valid Window.
#jira UE-30173
Change 3050707 on 2016/07/14 by Nick.Whiting
Fix for motion controllers on remote clients responding to local motion controllers
Change 3051043 on 2016/07/14 by Nick.Whiting
Stub funcitonality to allow for rebasing based on other external trackers
Change 3051882 on 2016/07/15 by Nick.Whiting
Moving OnlineSubsystemOculus to a plugin, instead of a module
Change 3053772 on 2016/07/18 by Chad.Taylor
Code cleanup: Removing defunct IStereoRendering methods
Change 3054515 on 2016/07/18 by Chad.Taylor
Changing HMD resolution resizing to no longer occur in "Windowed" mode because its causing an issue in VR Preview
#jira UE-33341
Change 3056435 on 2016/07/19 by Jeff.Fisher
UES-2981
UEVR-13
Implemented VRHeadsetLost and VRHeadsetReconnected Delegates for Morpheus (Playstation VR).
https://udn.unrealengine.com/questions/301886/trying-to-use-vrheadsetlost-and-vrheadsetreconnect.html
#review-3056100 @nick.whiting
Change 3056491 on 2016/07/19 by Chad.Taylor
Audio thread assertion from HandlePause being called on the game thread. Submitting on behalf of Aaron McLeran
#jira UE-33360
[CL 3057155 by Nick Whiting in Main branch]
305 lines
6.1 KiB
Plaintext
305 lines
6.1 KiB
Plaintext
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
Definitions.usf: Defines undefined defines to 0 as Cg can't handle them.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#ifndef MATERIAL_TWOSIDED
|
|
#define MATERIAL_TWOSIDED 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_TANGENTSPACENORMAL
|
|
#define MATERIAL_TANGENTSPACENORMAL 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_TWOSIDED_SEPARATE_PASS
|
|
#define MATERIAL_TWOSIDED_SEPARATE_PASS 0
|
|
#endif
|
|
|
|
#ifndef MATERIALBLENDING_MASKED
|
|
#define MATERIALBLENDING_MASKED 0
|
|
#endif
|
|
|
|
#ifndef MATERIALBLENDING_TRANSLUCENT
|
|
#define MATERIALBLENDING_TRANSLUCENT 0
|
|
#endif
|
|
|
|
#ifndef MATERIALBLENDING_ADDITIVE
|
|
#define MATERIALBLENDING_ADDITIVE 0
|
|
#endif
|
|
|
|
#ifndef MATERIALBLENDING_MODULATE
|
|
#define MATERIALBLENDING_MODULATE 0
|
|
#endif
|
|
|
|
#ifndef MATERIALBLENDING_ALPHACOMPOSITE
|
|
#define MATERIALBLENDING_ALPHACOMPOSITE 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_SHADINGMODEL_DEFAULT_LIT
|
|
#define MATERIAL_SHADINGMODEL_DEFAULT_LIT 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_SHADINGMODEL_SUBSURFACE
|
|
#define MATERIAL_SHADINGMODEL_SUBSURFACE 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_SHADINGMODEL_PREINTEGRATED_SKIN
|
|
#define MATERIAL_SHADINGMODEL_PREINTEGRATED_SKIN 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_SHADINGMODEL_UNLIT
|
|
#define MATERIAL_SHADINGMODEL_UNLIT 0
|
|
#endif
|
|
|
|
#ifndef HAS_PRIMITIVE_UNIFORM_BUFFER
|
|
#define HAS_PRIMITIVE_UNIFORM_BUFFER 0
|
|
#endif
|
|
|
|
#ifndef OUTPUT_DEPTH_TO_ALPHA
|
|
#define OUTPUT_DEPTH_TO_ALPHA 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_HLSLCC
|
|
#define COMPILER_HLSLCC 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_HLSL
|
|
#define COMPILER_HLSL 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_GLSL
|
|
#define COMPILER_GLSL 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_GLSL_ES2
|
|
#define COMPILER_GLSL_ES2 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_GLSL_ES3_1
|
|
#define COMPILER_GLSL_ES3_1 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_METAL
|
|
#define COMPILER_METAL 0
|
|
#endif
|
|
|
|
#ifndef COMPILER_SUPPORTS_ATTRIBUTES
|
|
#define COMPILER_SUPPORTS_ATTRIBUTES 0
|
|
#endif
|
|
|
|
#ifndef SM5_PROFILE
|
|
#define SM5_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef SM4_PROFILE
|
|
#define SM4_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef ES2_PROFILE
|
|
#define ES2_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef ES3_1_PROFILE
|
|
#define ES3_1_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef METAL_PROFILE
|
|
#define METAL_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef METAL_MRT_PROFILE
|
|
#define METAL_MRT_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef METAL_SM4_PROFILE
|
|
#define METAL_SM4_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef METAL_SM5_PROFILE
|
|
#define METAL_SM5_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef VULKAN_PROFILE
|
|
#define VULKAN_PROFILE 0
|
|
#endif
|
|
|
|
#ifndef VULKAN_PROFILE_SM4
|
|
#define VULKAN_PROFILE_SM4 0
|
|
#endif
|
|
|
|
#ifndef VULKAN_PROFILE_SM5
|
|
#define VULKAN_PROFILE_SM5 0
|
|
#endif
|
|
|
|
#ifndef IOS
|
|
#define IOS 0
|
|
#endif
|
|
|
|
#ifndef MAC
|
|
#define MAC 0
|
|
#endif
|
|
|
|
#ifndef USING_TESSELLATION
|
|
#define USING_TESSELLATION 0
|
|
#endif
|
|
|
|
#ifndef OUTPUT_GBUFFER_VELOCITY
|
|
#define OUTPUT_GBUFFER_VELOCITY 0
|
|
#endif
|
|
|
|
#define PC_D3D SM5_PROFILE
|
|
|
|
#ifndef NEEDS_LIGHTMAP_COORDINATE
|
|
#define NEEDS_LIGHTMAP_COORDINATE 0
|
|
#endif
|
|
|
|
#ifndef TESSELLATION_TYPE_FLAT
|
|
#define TESSELLATION_TYPE_FLAT 0
|
|
#endif
|
|
|
|
#ifndef TESSELLATION_TYPE_PNTRIANGLES
|
|
#define TESSELLATION_TYPE_PNTRIANGLES 0
|
|
#endif
|
|
|
|
#ifndef USE_ADAPTIVE_TESSELLATION_FACTOR
|
|
#define USE_ADAPTIVE_TESSELLATION_FACTOR 1
|
|
#endif
|
|
|
|
#ifndef LANDSCAPE_XYOFFSET
|
|
#define LANDSCAPE_XYOFFSET 0
|
|
#endif
|
|
|
|
#ifndef MATERIAL_ATMOSPHERIC_FOG
|
|
#define MATERIAL_ATMOSPHERIC_FOG 0
|
|
#endif
|
|
|
|
#ifndef BASEPASS_ATMOSPHERIC_FOG
|
|
#define BASEPASS_ATMOSPHERIC_FOG 0
|
|
#endif
|
|
|
|
#ifndef NUM_VF_PACKED_INTERPOLANTS
|
|
#define NUM_VF_PACKED_INTERPOLANTS 0
|
|
#endif
|
|
|
|
#ifndef INVARIANT
|
|
#define INVARIANT
|
|
#endif
|
|
|
|
#ifndef REVERSEBITS
|
|
#define REVERSEBITS reversebits
|
|
#endif
|
|
|
|
#ifndef ENABLE_RE_Z
|
|
#define ENABLE_RE_Z
|
|
#endif
|
|
|
|
#ifndef INSTANCED_STEREO
|
|
#define INSTANCED_STEREO 0
|
|
#endif
|
|
|
|
#ifndef MULTI_VIEW
|
|
#define MULTI_VIEW 0
|
|
#endif
|
|
|
|
#ifndef CLEAR_COAT_BOTTOM_NORMAL
|
|
#define CLEAR_COAT_BOTTOM_NORMAL 0
|
|
#endif
|
|
|
|
#ifndef TEX_COORD_SCALE_ANALYSIS
|
|
#define TEX_COORD_SCALE_ANALYSIS 0
|
|
#endif
|
|
|
|
#if SM5_PROFILE || COMPILER_SUPPORTS_ATTRIBUTES
|
|
/** Avoids flow control constructs. */
|
|
#define UNROLL [unroll]
|
|
/** Gives preference to flow control constructs. */
|
|
#define LOOP [loop]
|
|
/** Performs branching by using control flow instructions like jmp and label. */
|
|
#define BRANCH [branch]
|
|
/** Performs branching by using the cnd instructions. */
|
|
#define FLATTEN [flatten]
|
|
/** Allows a compute shader loop termination condition to be based off of a UAV read. The loop must not contain synchronization intrinsics. */
|
|
#define ALLOW_UAV_CONDITION [allow_uav_condition]
|
|
#else
|
|
#ifndef UNROLL
|
|
#define UNROLL
|
|
#endif
|
|
#ifndef LOOP
|
|
#define LOOP
|
|
#endif
|
|
#ifndef BRANCH
|
|
#define BRANCH
|
|
#endif
|
|
#ifndef FLATTEN
|
|
#define FLATTEN
|
|
#endif
|
|
#ifndef ALLOW_UAV_CONDITION
|
|
#define ALLOW_UAV_CONDITION
|
|
#endif
|
|
#endif
|
|
|
|
#define ISOLATE
|
|
#define NOEXPRESSIONOPTIMIZATIONS
|
|
|
|
#if SM5_PROFILE
|
|
#define EARLYDEPTHSTENCIL [earlydepthstencil]
|
|
#else
|
|
#define EARLYDEPTHSTENCIL
|
|
#endif
|
|
|
|
#ifndef HAS_INVERTED_Z_BUFFER
|
|
#define HAS_INVERTED_Z_BUFFER 1
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_16_FLOAT
|
|
#define COMPRESSED_16_FLOAT
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_16_UNORM
|
|
#define COMPRESSED_16_UNORM
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_16_SNORM
|
|
#define COMPRESSED_16_SNORM
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_16_UINT
|
|
#define COMPRESSED_16_UINT
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_16_INT
|
|
#define COMPRESSED_16_INT
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_8_UNORM
|
|
#define COMPRESSED_8_UNORM
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_8_SNORM
|
|
#define COMPRESSED_8_SNORM
|
|
#endif
|
|
|
|
#ifndef COMPRESSED_8_UINT
|
|
#define COMPRESSED_8_UINT
|
|
#endif
|
|
|
|
/** When defined sets the layer index for volumetric rendering in the vertex shader, rather than using a geometry shader */
|
|
#ifndef USING_VERTEX_SHADER_LAYER
|
|
#define USING_VERTEX_SHADER_LAYER 0
|
|
#endif
|
|
|
|
// 'static' asserts
|
|
#if COMPILER_GLSL || COMPILER_GLSL_ES2 || COMPILER_GLSL_ES3_1 || VULKAN_PROFILE || METAL_PROFILE || METAL_MRT_PROFILE || METAL_SM4_PROFILE || METAL_SM5_PROFILE
|
|
#if !COMPILER_HLSLCC
|
|
#error "Missing COMPILER_HLSLCC define!"
|
|
#endif
|
|
#endif
|
|
|
|
// Hlslcc platforms ignore the uniform keyword as it can't properly optimize flow
|
|
#if COMPILER_HLSLCC
|
|
#define uniform
|
|
#endif
|