Filip Iliescu
8 年前
当前提交
811e0b22
共有 21 个文件被更改,包括 1391 次插入 和 1006 次删除
-
14Assets/ScriptableRenderPipeline/MobileRenderPipeline/ClassicDeferred/ShaderBase.h.meta
-
383Assets/TestScenes/MobileDeferredTest/2DirLightTest/2DirLightTest.unity
-
10Assets/TestScenes/MobileDeferredTest/2DirLightTest/sphereDirMat.mat
-
4Assets/TestScenes/MobileDeferredTest/ClassicDeferredPipeline.asset
-
53Assets/TestScenes/MobileDeferredTest/ClassicDeferredTest/ClassicDeferredTest.unity
-
2Assets/TestScenes/MobileDeferredTest/LightAccumulationTest/opaque.mat
-
29Assets/TestScenes/MobileDeferredTest/LightAccumulationTest/trLightAccum.unity
-
2Assets/TestScenes/MobileDeferredTest/LightAccumulationTest/trans.mat
-
22Assets/TestScenes/MobileDeferredTest/SpotCookie/trSpotCookie.unity
-
10Assets/TestScenes/MobileDeferredTest/PointAttenTest.meta
-
864Assets/TestScenes/MobileDeferredTest/PointAttenTest/PointAttenTest.unity
-
9Assets/TestScenes/MobileDeferredTest/PointAttenTest/PointAttenTest.unity.meta
-
76Assets/TestScenes/MobileDeferredTest/PointAttenTest/opPointAtten.mat
-
10Assets/TestScenes/MobileDeferredTest/PointAttenTest/opPointAtten.mat.meta
-
76Assets/TestScenes/MobileDeferredTest/PointAttenTest/spherePointAttenMat.mat
-
10Assets/TestScenes/MobileDeferredTest/PointAttenTest/spherePointAttenMat.mat.meta
-
77Assets/TestScenes/MobileDeferredTest/PointAttenTest/transPointAtten.mat
-
10Assets/TestScenes/MobileDeferredTest/PointAttenTest/transPointAtten.mat.meta
-
9Assets/ScriptableRenderPipeline/MobileRenderPipeline/ClassicDeferred/HLSLSupport.cginc.meta
-
727Assets/ScriptableRenderPipeline/MobileRenderPipeline/ClassicDeferred/HLSLSupport.cginc
|
|||
fileFormatVersion: 2 |
|||
guid: ad8db0bd38ed142649515c1fa8d705df |
|||
folderAsset: yes |
|||
timeCreated: 1498076263 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%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: 8 |
|||
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: 0} |
|||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 1 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_TemporalCoherenceThreshold: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 1 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 9 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_TextureWidth: 1024 |
|||
m_TextureHeight: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 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: 0 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 500 |
|||
m_PVRBounces: 2 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVRFilteringMode: 1 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !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 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &109645694 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 109645698} |
|||
- component: {fileID: 109645697} |
|||
- component: {fileID: 109645696} |
|||
- component: {fileID: 109645695} |
|||
m_Layer: 0 |
|||
m_Name: Quad (1) |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!23 &109645695 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 109645694} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 0d31b599b5e974b11a2698c009534be4, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 1 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!64 &109645696 |
|||
MeshCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 109645694} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Convex: 0 |
|||
m_InflateMesh: 0 |
|||
m_SkinWidth: 0.01 |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!33 &109645697 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 109645694} |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &109645698 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 109645694} |
|||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} |
|||
m_LocalPosition: {x: 0.5, y: 0, z: -0.5} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 3 |
|||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} |
|||
--- !u!1 &192393715 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 192393720} |
|||
- component: {fileID: 192393719} |
|||
- component: {fileID: 192393718} |
|||
- component: {fileID: 192393717} |
|||
- component: {fileID: 192393716} |
|||
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 &192393716 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 192393715} |
|||
m_Enabled: 1 |
|||
m_ExtensionPropertyValues: [] |
|||
--- !u!124 &192393717 |
|||
Behaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 192393715} |
|||
m_Enabled: 1 |
|||
--- !u!92 &192393718 |
|||
Behaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 192393715} |
|||
m_Enabled: 1 |
|||
--- !u!20 &192393719 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 192393715} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 1 |
|||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
|||
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: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
m_StereoMirrorMode: 0 |
|||
--- !u!4 &192393720 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 192393715} |
|||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} |
|||
m_LocalPosition: {x: 0, y: 2.52, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} |
|||
--- !u!1 &219550927 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 219550930} |
|||
- component: {fileID: 219550929} |
|||
- component: {fileID: 219550928} |
|||
m_Layer: 0 |
|||
m_Name: Point light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &219550928 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 219550927} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
shadowResolution: 512 |
|||
m_innerSpotPercent: 0 |
|||
shadowDimmer: 1 |
|||
lightDimmer: 1 |
|||
fadeDistance: 10000 |
|||
shadowFadeDistance: 10000 |
|||
affectDiffuse: 1 |
|||
affectSpecular: 1 |
|||
archetype: 0 |
|||
lightLength: 0 |
|||
lightWidth: 0 |
|||
shadowCascadeCount: 4 |
|||
shadowCascadeRatios: |
|||
- 0.05 |
|||
- 0.2 |
|||
- 0.3 |
|||
shadowAlgorithm: 0 |
|||
shadowVariant: 1 |
|||
shadowPrecision: 0 |
|||
shadowData: |
|||
format: 1 |
|||
data: 0bd7a33b0000803f |
|||
shadowDatas: |
|||
- format: 1 |
|||
data: 0bd7a33b0000803f |
|||
--- !u!108 &219550929 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 219550927} |
|||
m_Enabled: 1 |
|||
serializedVersion: 8 |
|||
m_Type: 2 |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_Intensity: 2 |
|||
m_Range: 1 |
|||
m_SpotAngle: 30 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 0 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_Lightmapping: 4 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_FalloffTable: |
|||
m_Table[0]: 0 |
|||
m_Table[1]: 0 |
|||
m_Table[2]: 0 |
|||
m_Table[3]: 0 |
|||
m_Table[4]: 0 |
|||
m_Table[5]: 0 |
|||
m_Table[6]: 0 |
|||
m_Table[7]: 0 |
|||
m_Table[8]: 0 |
|||
m_Table[9]: 0 |
|||
m_Table[10]: 0 |
|||
m_Table[11]: 0 |
|||
m_Table[12]: 0 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &219550930 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 219550927} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0.53, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 7 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1029190795 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 1029190799} |
|||
- component: {fileID: 1029190798} |
|||
- component: {fileID: 1029190797} |
|||
- component: {fileID: 1029190796} |
|||
m_Layer: 0 |
|||
m_Name: Sphere |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!23 &1029190796 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1029190795} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: f8b425f39d1d0431baed848077148b9e, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 1 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!135 &1029190797 |
|||
SphereCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1029190795} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Radius: 0.5 |
|||
m_Center: {x: 0, y: 0, z: 0} |
|||
--- !u!33 &1029190798 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1029190795} |
|||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &1029190799 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1029190795} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0.2, z: 0} |
|||
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 6 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1 &1369026077 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 1369026079} |
|||
- component: {fileID: 1369026078} |
|||
- component: {fileID: 1369026080} |
|||
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 &1369026078 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1369026077} |
|||
m_Enabled: 1 |
|||
serializedVersion: 8 |
|||
m_Type: 1 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
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_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_Lightmapping: 4 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_FalloffTable: |
|||
m_Table[0]: 0 |
|||
m_Table[1]: 0 |
|||
m_Table[2]: 0 |
|||
m_Table[3]: 0 |
|||
m_Table[4]: 0 |
|||
m_Table[5]: 0 |
|||
m_Table[6]: 0 |
|||
m_Table[7]: 0 |
|||
m_Table[8]: 0 |
|||
m_Table[9]: 0 |
|||
m_Table[10]: 0 |
|||
m_Table[11]: 0 |
|||
m_Table[12]: 0 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &1369026079 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1369026077} |
|||
m_LocalRotation: {x: 0.22440842, y: -0.38768718, z: 0.78269696, w: -0.43211687} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 24.390001, y: 48.902, z: 249.03} |
|||
--- !u!114 &1369026080 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1369026077} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
shadowResolution: 512 |
|||
m_innerSpotPercent: 0 |
|||
shadowDimmer: 1 |
|||
lightDimmer: 1 |
|||
fadeDistance: 10000 |
|||
shadowFadeDistance: 10000 |
|||
affectDiffuse: 1 |
|||
affectSpecular: 1 |
|||
archetype: 0 |
|||
lightLength: 0 |
|||
lightWidth: 0 |
|||
shadowCascadeCount: 4 |
|||
shadowCascadeRatios: |
|||
- 0.05 |
|||
- 0.2 |
|||
- 0.3 |
|||
shadowAlgorithm: 0 |
|||
shadowVariant: 1 |
|||
shadowPrecision: 0 |
|||
shadowData: |
|||
format: 1 |
|||
data: 0bd7a33b0000803f |
|||
shadowDatas: |
|||
- format: 1 |
|||
data: 0bd7a33b0000803f |
|||
--- !u!1 &1400179528 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 1400179532} |
|||
- component: {fileID: 1400179531} |
|||
- component: {fileID: 1400179530} |
|||
- component: {fileID: 1400179529} |
|||
m_Layer: 0 |
|||
m_Name: Quad (2) |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!23 &1400179529 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1400179528} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 650684f50001a4f64b9f4dcbfbbc8b11, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 1 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!64 &1400179530 |
|||
MeshCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1400179528} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Convex: 0 |
|||
m_InflateMesh: 0 |
|||
m_SkinWidth: 0.01 |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!33 &1400179531 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1400179528} |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &1400179532 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1400179528} |
|||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} |
|||
m_LocalPosition: {x: -0.5, y: 0, z: 0.5} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 4 |
|||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} |
|||
--- !u!1 &1518055134 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 1518055138} |
|||
- component: {fileID: 1518055137} |
|||
- component: {fileID: 1518055136} |
|||
- component: {fileID: 1518055135} |
|||
m_Layer: 0 |
|||
m_Name: Quad |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!23 &1518055135 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1518055134} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 650684f50001a4f64b9f4dcbfbbc8b11, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 1 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!64 &1518055136 |
|||
MeshCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1518055134} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Convex: 0 |
|||
m_InflateMesh: 0 |
|||
m_SkinWidth: 0.01 |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!33 &1518055137 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1518055134} |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &1518055138 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 1518055134} |
|||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} |
|||
m_LocalPosition: {x: -0.5, y: 0, z: -0.5} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} |
|||
--- !u!1 &2129938271 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 2129938275} |
|||
- component: {fileID: 2129938274} |
|||
- component: {fileID: 2129938273} |
|||
- component: {fileID: 2129938272} |
|||
m_Layer: 0 |
|||
m_Name: Quad (3) |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!23 &2129938272 |
|||
MeshRenderer: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 2129938271} |
|||
m_Enabled: 1 |
|||
m_CastShadows: 1 |
|||
m_ReceiveShadows: 1 |
|||
m_DynamicOccludee: 1 |
|||
m_MotionVectors: 1 |
|||
m_LightProbeUsage: 1 |
|||
m_ReflectionProbeUsage: 1 |
|||
m_Materials: |
|||
- {fileID: 2100000, guid: 0d31b599b5e974b11a2698c009534be4, type: 2} |
|||
m_StaticBatchInfo: |
|||
firstSubMesh: 0 |
|||
subMeshCount: 0 |
|||
m_StaticBatchRoot: {fileID: 0} |
|||
m_ProbeAnchor: {fileID: 0} |
|||
m_LightProbeVolumeOverride: {fileID: 0} |
|||
m_ScaleInLightmap: 1 |
|||
m_PreserveUVs: 1 |
|||
m_IgnoreNormalsForChartDetection: 0 |
|||
m_ImportantGI: 0 |
|||
m_StitchSeams: 0 |
|||
m_SelectedEditorRenderState: 3 |
|||
m_MinimumChartSize: 4 |
|||
m_AutoUVMaxDistance: 0.5 |
|||
m_AutoUVMaxAngle: 89 |
|||
m_LightmapParameters: {fileID: 0} |
|||
m_SortingLayerID: 0 |
|||
m_SortingLayer: 0 |
|||
m_SortingOrder: 0 |
|||
--- !u!64 &2129938273 |
|||
MeshCollider: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 2129938271} |
|||
m_Material: {fileID: 0} |
|||
m_IsTrigger: 0 |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_Convex: 0 |
|||
m_InflateMesh: 0 |
|||
m_SkinWidth: 0.01 |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!33 &2129938274 |
|||
MeshFilter: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 2129938271} |
|||
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} |
|||
--- !u!4 &2129938275 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 2129938271} |
|||
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} |
|||
m_LocalPosition: {x: 0.5, y: 0, z: 0.5} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 5 |
|||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} |
|
|||
fileFormatVersion: 2 |
|||
guid: ec0c325019b504e19bf97296eeecd7d1 |
|||
timeCreated: 1498000015 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: opPointAtten |
|||
m_Shader: {fileID: 4800000, guid: b262af00aeb504b0a8eba68d77150908, type: 3} |
|||
m_ShaderKeywords: |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 0 |
|||
m_DoubleSidedGI: 0 |
|||
m_CustomRenderQueue: -1 |
|||
stringTagMap: {} |
|||
disabledShaderPasses: [] |
|||
m_SavedProperties: |
|||
serializedVersion: 3 |
|||
m_TexEnvs: |
|||
- _BumpMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailAlbedoMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailMask: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailNormalMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _EmissionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MainTex: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MetallicGlossMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _OcclusionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _ParallaxMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
m_Floats: |
|||
- _BumpScale: 1 |
|||
- _Cutoff: 0.5 |
|||
- _DetailNormalMapScale: 1 |
|||
- _DstBlend: 0 |
|||
- _GlossMapScale: 1 |
|||
- _Glossiness: 0.5 |
|||
- _GlossyReflections: 1 |
|||
- _Metallic: 0 |
|||
- _Mode: 0 |
|||
- _OcclusionStrength: 1 |
|||
- _Parallax: 0.02 |
|||
- _SmoothnessTextureChannel: 0 |
|||
- _SpecularHighlights: 1 |
|||
- _SrcBlend: 1 |
|||
- _UVSec: 0 |
|||
- _ZWrite: 1 |
|||
m_Colors: |
|||
- _Color: {r: 1, g: 1, b: 1, a: 1} |
|||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} |
|
|||
fileFormatVersion: 2 |
|||
guid: e9e2dd6847cec4f339b6b5f659cf7dc3 |
|||
timeCreated: 1498000061 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: spherePointAttenMat |
|||
m_Shader: {fileID: 4800000, guid: b262af00aeb504b0a8eba68d77150908, type: 3} |
|||
m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 0 |
|||
m_DoubleSidedGI: 0 |
|||
m_CustomRenderQueue: -1 |
|||
stringTagMap: {} |
|||
disabledShaderPasses: [] |
|||
m_SavedProperties: |
|||
serializedVersion: 3 |
|||
m_TexEnvs: |
|||
- _BumpMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailAlbedoMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailMask: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailNormalMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _EmissionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MainTex: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MetallicGlossMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _OcclusionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _ParallaxMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
m_Floats: |
|||
- _BumpScale: 1 |
|||
- _Cutoff: 0.5 |
|||
- _DetailNormalMapScale: 1 |
|||
- _DstBlend: 0 |
|||
- _GlossMapScale: 0.078 |
|||
- _Glossiness: 0.513 |
|||
- _GlossyReflections: 1 |
|||
- _Metallic: 0.526 |
|||
- _Mode: 0 |
|||
- _OcclusionStrength: 1 |
|||
- _Parallax: 0.02 |
|||
- _SmoothnessTextureChannel: 1 |
|||
- _SpecularHighlights: 1 |
|||
- _SrcBlend: 1 |
|||
- _UVSec: 0 |
|||
- _ZWrite: 1 |
|||
m_Colors: |
|||
- _Color: {r: 1, g: 0, b: 0, a: 0.716} |
|||
- _EmissionColor: {r: 0.73771554, g: 0.875, b: 0.109375, a: 1} |
|
|||
fileFormatVersion: 2 |
|||
guid: a686a8cc326d64a22a597808f1f2a912 |
|||
timeCreated: 1498000611 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: transPointAtten |
|||
m_Shader: {fileID: 4800000, guid: b262af00aeb504b0a8eba68d77150908, type: 3} |
|||
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 0 |
|||
m_DoubleSidedGI: 0 |
|||
m_CustomRenderQueue: 3000 |
|||
stringTagMap: |
|||
RenderType: Transparent |
|||
disabledShaderPasses: [] |
|||
m_SavedProperties: |
|||
serializedVersion: 3 |
|||
m_TexEnvs: |
|||
- _BumpMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailAlbedoMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailMask: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _DetailNormalMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _EmissionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MainTex: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _MetallicGlossMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _OcclusionMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- _ParallaxMap: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
m_Floats: |
|||
- _BumpScale: 1 |
|||
- _Cutoff: 0.5 |
|||
- _DetailNormalMapScale: 1 |
|||
- _DstBlend: 10 |
|||
- _GlossMapScale: 1 |
|||
- _Glossiness: 0.5 |
|||
- _GlossyReflections: 1 |
|||
- _Metallic: 0 |
|||
- _Mode: 3 |
|||
- _OcclusionStrength: 1 |
|||
- _Parallax: 0.02 |
|||
- _SmoothnessTextureChannel: 0 |
|||
- _SpecularHighlights: 1 |
|||
- _SrcBlend: 1 |
|||
- _UVSec: 0 |
|||
- _ZWrite: 0 |
|||
m_Colors: |
|||
- _Color: {r: 1, g: 1, b: 1, a: 1} |
|||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} |
|
|||
fileFormatVersion: 2 |
|||
guid: eaa567da7946a46a0a0fbd3326040953 |
|||
timeCreated: 1498000061 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 5cccb757ee7ed4a63aac84c8c8954a3f |
|||
timeCreated: 1490056564 |
|||
licenseType: Pro |
|||
ShaderImporter: |
|||
defaultTextures: [] |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
#ifndef HLSL_SUPPORT_INCLUDED |
|||
#define HLSL_SUPPORT_INCLUDED |
|||
|
|||
// Define the underlying compiler being used. Skips this step if the compiler is already specified, |
|||
// which may happen during development of new shader compiler for certain platform |
|||
#if !defined(UNITY_COMPILER_CG) && !defined(UNITY_COMPILER_HLSL) && !defined(UNITY_COMPILER_HLSL2GLSL) && !defined(UNITY_COMPILER_HLSLCC) |
|||
#if defined(SHADER_TARGET_SURFACE_ANALYSIS) |
|||
// Cg is used for surface shader analysis step |
|||
#define UNITY_COMPILER_CG |
|||
#elif defined(SHADER_API_GLCORE) || defined(SHADER_API_GLES3) || defined(SHADER_API_VULKAN) |
|||
// N.B. For Metal, the correct flags are set during internal shader compiler setup |
|||
#define UNITY_COMPILER_HLSL |
|||
#define UNITY_COMPILER_HLSLCC |
|||
#elif defined(SHADER_API_D3D11) || defined(SHADER_API_D3D11_9X) || defined(SHADER_API_D3D9) || defined(SHADER_API_XBOXONE) |
|||
#define UNITY_COMPILER_HLSL |
|||
#elif defined(SHADER_TARGET_GLSL) || defined(SHADER_API_WIIU) |
|||
#define UNITY_COMPILER_HLSL2GLSL |
|||
#else |
|||
#define UNITY_COMPILER_CG |
|||
#endif |
|||
#endif |
|||
|
|||
#if defined(STEREO_MULTIVIEW_ON) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)) |
|||
#define UNITY_SUPPORT_MULTIVIEW |
|||
#endif |
|||
|
|||
#if defined(UNITY_FRAMEBUFFER_FETCH_AVAILABLE) && defined(UNITY_FRAMEBUFFER_FETCH_ENABLED) && defined(UNITY_COMPILER_HLSLCC) |
|||
// In the fragment shader, setting inout <type> var : SV_Target would result to |
|||
// compiler error, unless SV_Target is defined to COLOR semantic for compatibility |
|||
// reasons. Unfortunately, we still need to have a clear distinction between |
|||
// vertex shader COLOR output and SV_Target, so the following workaround abuses |
|||
// the fact that semantic names are case insensitive and preprocessor macros |
|||
// are not. The resulting HLSL bytecode has semantics in case preserving form, |
|||
// helps code generator to do extra work required for framebuffer fetch |
|||
|
|||
// You should always declare color inouts against SV_Target |
|||
#define SV_Target CoLoR |
|||
#define SV_Target0 CoLoR0 |
|||
#define SV_Target1 CoLoR1 |
|||
#define SV_Target2 CoLoR2 |
|||
#define SV_Target3 CoLoR3 |
|||
#define SV_Target4 CoLoR4 |
|||
#define SV_Target5 CoLoR5 |
|||
#define SV_Target6 CoLoR6 |
|||
#define SV_Target7 CoLoR7 |
|||
|
|||
#define COLOR VCOLOR |
|||
#define COLOR0 VCOLOR0 |
|||
#define COLOR1 VCOLOR1 |
|||
#define COLOR2 VCOLOR2 |
|||
#define COLOR3 VCOLOR3 |
|||
#define COLOR4 VCOLOR4 |
|||
#define COLOR5 VCOLOR5 |
|||
#define COLOR6 VCOLOR6 |
|||
#define COLOR7 VCOLOR7 |
|||
|
|||
#endif |
|||
|
|||
// SV_Target[n] / SV_Depth defines, if not defined by compiler already |
|||
#if !defined(SV_Target) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Target COLOR |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target0) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Target0 COLOR0 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target1) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Target1 COLOR1 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target2) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Target2 COLOR2 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target3) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Target3 COLOR3 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target4) |
|||
# if defined(SHADER_API_PSSL) |
|||
# define SV_Target4 S_TARGET_OUTPUT4 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target5) |
|||
# if defined(SHADER_API_PSSL) |
|||
# define SV_Target5 S_TARGET_OUTPUT5 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target6) |
|||
# if defined(SHADER_API_PSSL) |
|||
# define SV_Target6 S_TARGET_OUTPUT6 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Target7) |
|||
# if defined(SHADER_API_PSSL) |
|||
# define SV_Target7 S_TARGET_OUTPUT7 |
|||
# endif |
|||
#endif |
|||
#if !defined(SV_Depth) |
|||
# if !defined(SHADER_API_XBOXONE) |
|||
# define SV_Depth DEPTH |
|||
# endif |
|||
#endif |
|||
|
|||
#if (defined(SHADER_API_GLES3) && !defined(SHADER_API_DESKTOP)) || defined(SHADER_API_D3D9) || defined(SHADER_API_GLES) || defined(SHADER_API_D3D11_9X) || defined(SHADER_API_PSP2) || defined(SHADER_API_N3DS) |
|||
#define UNITY_ALLOWED_MRT_COUNT 4 |
|||
#else |
|||
#define UNITY_ALLOWED_MRT_COUNT 8 |
|||
#endif |
|||
|
|||
#if (SHADER_TARGET < 30) || defined(SHADER_API_GLES3) || defined(SHADER_API_D3D9) || defined(SHADER_API_GLES) || defined(SHADER_API_D3D11_9X) || defined(SHADER_API_PSP2) || defined(SHADER_API_N3DS) |
|||
//no fast coherent dynamic branching on these hardware |
|||
#else |
|||
#define UNITY_FAST_COHERENT_DYNAMIC_BRANCHING 1 |
|||
#endif |
|||
|
|||
// Disable warnings we aren't interested in |
|||
#if defined(UNITY_COMPILER_HLSL) |
|||
#pragma warning (disable : 3205) // conversion of larger type to smaller |
|||
#pragma warning (disable : 3568) // unknown pragma ignored |
|||
#pragma warning (disable : 3571) // "pow(f,e) will not work for negative f"; however in majority of our calls to pow we know f is not negative |
|||
#pragma warning (disable : 3206) // implicit truncation of vector type |
|||
#endif |
|||
|
|||
|
|||
// Define "fixed" precision to be half on non-GLSL platforms, |
|||
// and sampler*_prec to be just simple samplers. |
|||
#if !defined(SHADER_TARGET_GLSL) && !defined(SHADER_API_PSSL) && !defined(SHADER_API_GLES3) && !defined(SHADER_API_VULKAN) && !(defined(SHADER_API_METAL) && defined(UNITY_COMPILER_HLSLCC)) |
|||
#define fixed half |
|||
#define fixed2 half2 |
|||
#define fixed3 half3 |
|||
#define fixed4 half4 |
|||
#define fixed4x4 half4x4 |
|||
#define fixed3x3 half3x3 |
|||
#define fixed2x2 half2x2 |
|||
#define sampler2D_half sampler2D |
|||
#define sampler2D_float sampler2D |
|||
#define samplerCUBE_half samplerCUBE |
|||
#define samplerCUBE_float samplerCUBE |
|||
#define sampler3D_float sampler3D |
|||
#define sampler3D_half sampler3D |
|||
#define Texture2D_half Texture2D |
|||
#define Texture2D_float Texture2D |
|||
#define TextureCUBE_half TextureCUBE |
|||
#define TextureCUBE_float TextureCUBE |
|||
#define Texture3D_float Texture3D |
|||
#define Texture3D_half Texture3D |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_GLES3) || defined(SHADER_API_VULKAN) || (defined(SHADER_API_METAL) && defined(UNITY_COMPILER_HLSLCC)) |
|||
// GLES3 and later via HLSLcc, use DX11.1 partial precision for translation |
|||
// we specifically define fixed to be float16 (same as half) as all new GPUs seems to agree on float16 being minimal precision float |
|||
#define fixed min16float |
|||
#define fixed2 min16float2 |
|||
#define fixed3 min16float3 |
|||
#define fixed4 min16float4 |
|||
#define fixed4x4 min16float4x4 |
|||
#define fixed3x3 min16float3x3 |
|||
#define fixed2x2 min16float2x2 |
|||
#define half min16float |
|||
#define half2 min16float2 |
|||
#define half3 min16float3 |
|||
#define half4 min16float4 |
|||
#define half2x2 min16float2x2 |
|||
#define half3x3 min16float3x3 |
|||
#define half4x4 min16float4x4 |
|||
#endif // defined(SHADER_API_GLES3) || defined(SHADER_API_VULKAN) |
|||
|
|||
|
|||
// Define min16float/min10float to be half/fixed on non-D3D11 platforms. |
|||
// This allows people to use min16float and friends in their shader code if they |
|||
// really want to (making that will make shaders not load before DX11.1, e.g. on Win7, |
|||
// but if they target WSA/WP exclusively that's fine). |
|||
#if !defined(SHADER_API_D3D11) && !defined(SHADER_API_D3D11_9X) && !defined(SHADER_API_GLES3) && !defined(SHADER_API_VULKAN) && !(defined(SHADER_API_METAL) && defined(UNITY_COMPILER_HLSLCC)) |
|||
#define min16float half |
|||
#define min16float2 half2 |
|||
#define min16float3 half3 |
|||
#define min16float4 half4 |
|||
#define min10float fixed |
|||
#define min10float2 fixed2 |
|||
#define min10float3 fixed3 |
|||
#define min10float4 fixed4 |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_PSP2) |
|||
// The PSP2 cg compiler does not define uint<N> |
|||
#define uint2 unsigned int2 |
|||
#define uint3 unsigned int3 |
|||
#define uint4 unsigned int4 |
|||
#endif |
|||
|
|||
// specifically for samplers that are provided as arguments to entry functions |
|||
#if defined(SHADER_API_PSSL) |
|||
#define SAMPLER_UNIFORM uniform |
|||
#define SHADER_UNIFORM |
|||
#else |
|||
#define SAMPLER_UNIFORM |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_PSSL) |
|||
#define CBUFFER_START(name) ConstantBuffer name { |
|||
#define CBUFFER_END }; |
|||
#elif defined(SHADER_API_D3D11) || defined(SHADER_API_D3D11_9X) |
|||
#define CBUFFER_START(name) cbuffer name { |
|||
#define CBUFFER_END }; |
|||
#elif defined(UNITY_SUPPORT_MULTIVIEW) || (defined(UNITY_SINGLE_PASS_STEREO) && defined(SHADER_API_GLCORE)) |
|||
#define CBUFFER_START(name) cbuffer name { |
|||
#define CBUFFER_END }; |
|||
#else |
|||
// On specific platforms, like OpenGL and GLES3, constant buffers may still be used for instancing |
|||
#define CBUFFER_START(name) |
|||
#define CBUFFER_END |
|||
#endif |
|||
|
|||
#if defined(UNITY_SUPPORT_MULTIVIEW) |
|||
// OVR_multiview |
|||
// In order to convey this info over the DX compiler, we wrap it into a cbuffer. |
|||
#define UNITY_DECLARE_MULTIVIEW(number_of_views) CBUFFER_START(OVR_multiview) uint gl_ViewID; uint numViews_##number_of_views; CBUFFER_END |
|||
#define UNITY_VIEWID gl_ViewID |
|||
#endif |
|||
|
|||
// Special declaration macro for requiring the extended blend functionality |
|||
#if defined(SHADER_API_GLES3) |
|||
// Declare the need for the KHR_blend_equation_advanced extension plus the specific blend mode (see the extension spec for list or "all_equations" for all) |
|||
#define UNITY_REQUIRE_ADVANCED_BLEND(mode) uint hlslcc_blend_support_##mode |
|||
#else |
|||
#define UNITY_REQUIRE_ADVANCED_BLEND(mode) |
|||
#endif |
|||
|
|||
|
|||
#if defined(SHADER_API_PSP2) |
|||
// For tex2Dproj the PSP2 cg compiler doesn't like casting half3/4 to |
|||
// float3/4 with swizzle (optimizer generates invalid assembly), so declare |
|||
// explicit versions for half3/4 |
|||
half4 tex2Dproj(sampler2D s, in half3 t) { return tex2D(s, t.xy / t.z); } |
|||
half4 tex2Dproj(sampler2D s, in half4 t) { return tex2D(s, t.xy / t.w); } |
|||
|
|||
// As above but for sampling from single component textures, e.g. depth textures. |
|||
// NOTE that hardware PCF does not work with these versions, currently we have to ensure |
|||
// that tex coords for shadow sampling use float, not half; and for some reason casting half |
|||
// to float and using tex2Dproj also does not work. |
|||
half4 tex2DprojShadow(sampler2D s, in half3 t) { return tex2D<float>(s, t.xy / t.z); } |
|||
half4 tex2DprojShadow(sampler2D s, in half4 t) { return tex2D<float>(s, t.xy / t.w); } |
|||
|
|||
// ...and versions of tex2DprojShadow for float uv. |
|||
half4 tex2DprojShadow(sampler2D s, in float3 t) { return tex2Dproj<float>(s, t); } |
|||
half4 tex2DprojShadow(sampler2D s, in float4 t) { return tex2Dproj<float>(s, t); } |
|||
#endif |
|||
|
|||
|
|||
#if defined(SHADER_API_PSP2) |
|||
#define UNITY_BUGGY_TEX2DPROJ4 |
|||
#define UNITY_PROJ_COORD(a) (a).xyw |
|||
#else |
|||
#define UNITY_PROJ_COORD(a) a |
|||
#endif |
|||
|
|||
|
|||
// Depth texture sampling helpers. |
|||
// On most platforms you can just sample them, but some (e.g. PSP2) need special handling. |
|||
// |
|||
// SAMPLE_DEPTH_TEXTURE(sampler,uv): returns scalar depth |
|||
// SAMPLE_DEPTH_TEXTURE_PROJ(sampler,uv): projected sample |
|||
// SAMPLE_DEPTH_TEXTURE_LOD(sampler,uv): sample with LOD level |
|||
|
|||
#if defined(SHADER_API_PSP2) && !defined(SHADER_API_PSM) |
|||
# define SAMPLE_DEPTH_TEXTURE(sampler, uv) (tex2D<float>(sampler, uv)) |
|||
# define SAMPLE_DEPTH_TEXTURE_PROJ(sampler, uv) (tex2DprojShadow(sampler, uv)) |
|||
# define SAMPLE_DEPTH_TEXTURE_LOD(sampler, uv) (tex2Dlod<float>(sampler, uv)) |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE(sampler, uv) SAMPLE_DEPTH_TEXTURE(sampler, uv) |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE_PROJ(sampler, uv) SAMPLE_DEPTH_TEXTURE_PROJ(sampler, uv) |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE_LOD(sampler, uv) SAMPLE_DEPTH_TEXTURE_LOD(sampler, uv) |
|||
#else |
|||
// Sample depth, just the red component. |
|||
# define SAMPLE_DEPTH_TEXTURE(sampler, uv) (tex2D(sampler, uv).r) |
|||
# define SAMPLE_DEPTH_TEXTURE_PROJ(sampler, uv) (tex2Dproj(sampler, uv).r) |
|||
# define SAMPLE_DEPTH_TEXTURE_LOD(sampler, uv) (tex2Dlod(sampler, uv).r) |
|||
// Sample depth, all components. |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE(sampler, uv) (tex2D(sampler, uv)) |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE_PROJ(sampler, uv) (tex2Dproj(sampler, uv)) |
|||
# define SAMPLE_RAW_DEPTH_TEXTURE_LOD(sampler, uv) (tex2Dlod(sampler, uv)) |
|||
#endif |
|||
|
|||
// Deprecated; use SAMPLE_DEPTH_TEXTURE & SAMPLE_DEPTH_TEXTURE_PROJ instead |
|||
#if defined(SHADER_API_PSP2) |
|||
# define UNITY_SAMPLE_DEPTH(value) (value).r |
|||
#else |
|||
# define UNITY_SAMPLE_DEPTH(value) (value).r |
|||
#endif |
|||
|
|||
|
|||
// Macros to declare and sample shadow maps. |
|||
// |
|||
// UNITY_DECLARE_SHADOWMAP declares a shadowmap. |
|||
// UNITY_SAMPLE_SHADOW samples with a float3 coordinate (UV in xy, Z in z) and returns 0..1 scalar result. |
|||
// UNITY_SAMPLE_SHADOW_PROJ samples with a projected coordinate (UV and Z divided by w). |
|||
|
|||
|
|||
#if !defined(SHADER_API_GLES) |
|||
// all platforms except GLES2.0 have built-in shadow comparison samplers |
|||
#define SHADOWS_NATIVE |
|||
#elif defined(SHADER_API_GLES) && defined(UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS) |
|||
// GLES2.0 also has built-in shadow comparison samplers, but only on platforms where we pass UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS from the editor |
|||
#define SHADOWS_NATIVE |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_D3D11_9X) || defined(UNITY_COMPILER_HLSLCC) |
|||
// DX11 & hlslcc platforms: built-in PCF |
|||
#if defined(SHADER_API_D3D11_9X) |
|||
// FL9.x has some bug where the runtime really wants resource & sampler to be bound to the same slot, |
|||
// otherwise it is skipping draw calls that use shadowmap sampling. Let's bind to #15 |
|||
// and hope all works out. |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) Texture2D tex : register(t15); SamplerComparisonState sampler##tex : register(s15) |
|||
#else |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) Texture2D tex; SamplerComparisonState sampler##tex |
|||
#endif |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) tex.SampleCmpLevelZero (sampler##tex,(coord).xy,(coord).z) |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) tex.SampleCmpLevelZero (sampler##tex,(coord).xy/(coord).w,(coord).z/(coord).w) |
|||
#elif defined(UNITY_COMPILER_HLSL2GLSL) && defined(SHADOWS_NATIVE) |
|||
// OpenGL-like hlsl2glsl platforms: most of them always have built-in PCF |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) sampler2DShadow tex |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) shadow2D (tex,(coord).xyz) |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) shadow2Dproj (tex,coord) |
|||
#elif defined(SHADER_API_D3D9) |
|||
// D3D9: Native shadow maps FOURCC "driver hack", looks just like a regular |
|||
// texture sample. Have to always do a projected sample |
|||
// so that HLSL compiler doesn't try to be too smart and mess up swizzles |
|||
// (thinking that Z is unused). |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) sampler2D tex |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) tex2Dproj (tex,float4((coord).xyz,1)).r |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) tex2Dproj (tex,coord).r |
|||
#elif defined(SHADER_API_PSSL) |
|||
// PS4: built-in PCF |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) Texture2D tex; SamplerComparisonState sampler##tex |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) tex.SampleCmpLOD0(sampler##tex,(coord).xy,(coord).z) |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) tex.SampleCmpLOD0(sampler##tex,(coord).xy/(coord).w,(coord).z/(coord).w) |
|||
#elif defined(SHADER_API_PSP2) |
|||
// Vita |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) sampler2D tex |
|||
// tex2d shadow comparison on Vita returns 0 instead of 1 when shadowCoord.z >= 1 causing artefacts in some tests. |
|||
// Clamping Z to the range 0.0 <= Z < 1.0 solves this. |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) tex2D<float>(tex, float3((coord).xy, clamp((coord).z, 0.0, 0.999999))) |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) tex2DprojShadow(tex, coord) |
|||
#else |
|||
// Fallback / No built-in shadowmap comparison sampling: regular texture sample and do manual depth comparison |
|||
#define UNITY_DECLARE_SHADOWMAP(tex) sampler2D_float tex |
|||
#define UNITY_SAMPLE_SHADOW(tex,coord) ((SAMPLE_DEPTH_TEXTURE(tex,(coord).xy) < (coord).z) ? 0.0 : 1.0) |
|||
#define UNITY_SAMPLE_SHADOW_PROJ(tex,coord) ((SAMPLE_DEPTH_TEXTURE_PROJ(tex,UNITY_PROJ_COORD(coord)) < ((coord).z/(coord).w)) ? 0.0 : 1.0) |
|||
#endif |
|||
|
|||
|
|||
// Macros to declare textures and samplers, possibly separately. For platforms |
|||
// that have separate samplers & textures (like DX11), and we'd want to conserve |
|||
// the samplers. |
|||
// - UNITY_DECLARE_TEX*_NOSAMPLER declares a texture, without a sampler. |
|||
// - UNITY_SAMPLE_TEX*_SAMPLER samples a texture, using sampler from another texture. |
|||
// That another texture must also be actually used in the current shader, otherwise |
|||
// the correct sampler will not be set. |
|||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) |
|||
// DX11 style HLSL syntax; separate textures and samplers |
|||
// NB for HLSLcc we have special unity-specific syntax to pass sampler precision information |
|||
|
|||
// 2D textures |
|||
#define UNITY_DECLARE_TEX2D(tex) Texture2D tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER(tex) Texture2D tex |
|||
#define UNITY_SAMPLE_TEX2D(tex,coord) tex.Sample (sampler##tex,coord) |
|||
#define UNITY_SAMPLE_TEX2D_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,coord) |
|||
|
|||
#if defined(UNITY_COMPILER_HLSLCC) && !defined(SHADER_API_GLCORE) // GL Core doesn't have the _half mangling, the rest of them do. |
|||
#define UNITY_DECLARE_TEX2D_HALF(tex) Texture2D_half tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2D_FLOAT(tex) Texture2D_float tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_HALF(tex) Texture2D_half tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_FLOAT(tex) Texture2D_float tex |
|||
#else |
|||
#define UNITY_DECLARE_TEX2D_HALF(tex) Texture2D tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2D_FLOAT(tex) Texture2D tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_HALF(tex) Texture2D tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_FLOAT(tex) Texture2D tex |
|||
#endif |
|||
|
|||
// Cubemaps |
|||
#define UNITY_DECLARE_TEXCUBE(tex) TextureCube tex; SamplerState sampler##tex |
|||
#define UNITY_ARGS_TEXCUBE(tex) TextureCube tex, SamplerState sampler##tex |
|||
#define UNITY_PASS_TEXCUBE(tex) tex, sampler##tex |
|||
#define UNITY_PASS_TEXCUBE_SAMPLER(tex,samplertex) tex, sampler##samplertex |
|||
#define UNITY_PASS_TEXCUBE_SAMPLER_LOD(tex, samplertex, lod) tex, sampler##samplertex, lod |
|||
#define UNITY_DECLARE_TEXCUBE_NOSAMPLER(tex) TextureCube tex |
|||
#define UNITY_SAMPLE_TEXCUBE(tex,coord) tex.Sample (sampler##tex,coord) |
|||
#define UNITY_SAMPLE_TEXCUBE_LOD(tex,coord,lod) tex.SampleLevel (sampler##tex,coord, lod) |
|||
#define UNITY_SAMPLE_TEXCUBE_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,coord) |
|||
#define UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(tex, samplertex, coord, lod) tex.SampleLevel (sampler##samplertex, coord, lod) |
|||
// 3D textures |
|||
#define UNITY_DECLARE_TEX3D(tex) Texture3D tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX3D_NOSAMPLER(tex) Texture3D tex |
|||
#define UNITY_SAMPLE_TEX3D(tex,coord) tex.Sample (sampler##tex,coord) |
|||
#define UNITY_SAMPLE_TEX3D_LOD(tex,coord,lod) tex.SampleLevel (sampler##tex,coord, lod) |
|||
#define UNITY_SAMPLE_TEX3D_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,coord) |
|||
#define UNITY_SAMPLE_TEX3D_SAMPLER_LOD(tex, samplertex, coord, lod) tex.SampleLevel(sampler##samplertex, coord, lod) |
|||
|
|||
#if defined(UNITY_COMPILER_HLSLCC) && !defined(SHADER_API_GLCORE) // GL Core doesn't have the _half mangling, the rest of them do. |
|||
#define UNITY_DECLARE_TEX3D_FLOAT(tex) Texture3D_float tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX3D_HALF(tex) Texture3D_half tex; SamplerState sampler##tex |
|||
#else |
|||
#define UNITY_DECLARE_TEX3D_FLOAT(tex) Texture3D tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX3D_HALF(tex) Texture3D tex; SamplerState sampler##tex |
|||
#endif |
|||
|
|||
// 2D arrays |
|||
#define UNITY_DECLARE_TEX2DARRAY(tex) Texture2DArray tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEX2DARRAY_NOSAMPLER(tex) Texture2DArray tex |
|||
#define UNITY_ARGS_TEX2DARRAY(tex) Texture2DArray tex, SamplerState sampler##tex |
|||
#define UNITY_PASS_TEX2DARRAY(tex) tex, sampler##tex |
|||
#define UNITY_SAMPLE_TEX2DARRAY(tex,coord) tex.Sample (sampler##tex,coord) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_LOD(tex,coord,lod) tex.SampleLevel (sampler##tex,coord, lod) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,coord) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_SAMPLER_LOD(tex,samplertex,coord,lod) tex.SampleLevel (sampler##samplertex,coord,lod) |
|||
|
|||
// Cube arrays |
|||
#define UNITY_DECLARE_TEXCUBEARRAY(tex) TextureCubeArray tex; SamplerState sampler##tex |
|||
#define UNITY_DECLARE_TEXCUBEARRAY_NOSAMPLER(tex) TextureCubeArray tex |
|||
#define UNITY_ARGS_TEXCUBEARRAY(tex) TextureCubeArray tex, SamplerState sampler##tex |
|||
#define UNITY_PASS_TEXCUBEARRAY(tex) tex, sampler##tex |
|||
#if defined(SHADER_API_PSSL) |
|||
// round the layer index to get DX11-like behaviour (otherwise fractional indices result in mixed up cubemap faces) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY(tex,coord) tex.Sample (sampler##tex,float4((coord).xyz, round((coord).w))) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_LOD(tex,coord,lod) tex.SampleLevel (sampler##tex,float4((coord).xyz, round((coord).w)), lod) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,float4((coord).xyz, round((coord).w))) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_SAMPLER_LOD(tex,samplertex,coord,lod) tex.SampleLevel (sampler##samplertex,float4((coord).xyz, round((coord).w)), lod) |
|||
#else |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY(tex,coord) tex.Sample (sampler##tex,coord) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_LOD(tex,coord,lod) tex.SampleLevel (sampler##tex,coord, lod) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_SAMPLER(tex,samplertex,coord) tex.Sample (sampler##samplertex,coord) |
|||
#define UNITY_SAMPLE_TEXCUBEARRAY_SAMPLER_LOD(tex,samplertex,coord,lod) tex.SampleLevel (sampler##samplertex,coord,lod) |
|||
#endif |
|||
|
|||
|
|||
#else |
|||
// DX9 style HLSL syntax; same object for texture+sampler |
|||
// 2D textures |
|||
#define UNITY_DECLARE_TEX2D(tex) sampler2D tex |
|||
#define UNITY_DECLARE_TEX2D_HALF(tex) sampler2D_half tex |
|||
#define UNITY_DECLARE_TEX2D_FLOAT(tex) sampler2D_float tex |
|||
|
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER(tex) sampler2D tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_HALF(tex) sampler2D_half tex |
|||
#define UNITY_DECLARE_TEX2D_NOSAMPLER_FLOAT(tex) sampler2D_float tex |
|||
|
|||
#define UNITY_SAMPLE_TEX2D(tex,coord) tex2D (tex,coord) |
|||
#define UNITY_SAMPLE_TEX2D_SAMPLER(tex,samplertex,coord) tex2D (tex,coord) |
|||
// Cubemaps |
|||
#define UNITY_DECLARE_TEXCUBE(tex) samplerCUBE tex |
|||
#define UNITY_ARGS_TEXCUBE(tex) samplerCUBE tex |
|||
#define UNITY_PASS_TEXCUBE(tex) tex |
|||
#define UNITY_PASS_TEXCUBE_SAMPLER(tex,samplertex) tex |
|||
#define UNITY_DECLARE_TEXCUBE_NOSAMPLER(tex) samplerCUBE tex |
|||
#define UNITY_SAMPLE_TEXCUBE(tex,coord) texCUBE (tex,coord) |
|||
|
|||
// DX9 with SM2.0, and DX11 FL 9.x do not have texture LOD sampling. |
|||
// We will approximate that with mip bias (very poor approximation, but not much we can do) |
|||
#if ((SHADER_TARGET < 25) && defined(SHADER_API_D3D9)) || defined(SHADER_API_D3D11_9X) |
|||
# define UNITY_SAMPLE_TEXCUBE_LOD(tex,coord,lod) texCUBEbias(tex, half4(coord, lod)) |
|||
# define UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(tex,samplertex,coord,lod) UNITY_SAMPLE_TEXCUBE_LOD(tex,coord,lod) |
|||
#else |
|||
# define UNITY_SAMPLE_TEXCUBE_LOD(tex,coord,lod) texCUBElod (tex, half4(coord, lod)) |
|||
# define UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(tex,samplertex,coord,lod) UNITY_SAMPLE_TEXCUBE_LOD(tex,coord,lod) |
|||
#endif |
|||
#define UNITY_SAMPLE_TEXCUBE_SAMPLER(tex,samplertex,coord) texCUBE (tex,coord) |
|||
|
|||
// 3D textures |
|||
#define UNITY_DECLARE_TEX3D(tex) sampler3D tex |
|||
#define UNITY_DECLARE_TEX3D_NOSAMPLER(tex) sampler3D tex |
|||
#define UNITY_DECLARE_TEX3D_FLOAT(tex) sampler3D_float tex |
|||
#define UNITY_DECLARE_TEX3D_HALF(tex) sampler3D_float tex |
|||
#define UNITY_SAMPLE_TEX3D(tex,coord) tex3D (tex,coord) |
|||
#define UNITY_SAMPLE_TEX3D_LOD(tex,coord,lod) tex3D (tex,float4(coord,lod)) |
|||
#define UNITY_SAMPLE_TEX3D_SAMPLER(tex,samplertex,coord) tex3D (tex,coord) |
|||
#define UNITY_SAMPLE_TEX3D_SAMPLER_LOD(tex,samplertex,coord,lod) tex3D (tex,float4(coord,lod)) |
|||
|
|||
// 2D array syntax for hlsl2glsl and surface shader analysis |
|||
#if defined(UNITY_COMPILER_HLSL2GLSL) || defined(SHADER_TARGET_SURFACE_ANALYSIS) |
|||
#define UNITY_DECLARE_TEX2DARRAY(tex) sampler2DArray tex |
|||
#define UNITY_DECLARE_TEX2DARRAY_NOSAMPLER(tex) sampler2DArray tex |
|||
#define UNITY_ARGS_TEX2DARRAY(tex) sampler2DArray tex |
|||
#define UNITY_PASS_TEX2DARRAY(tex) tex |
|||
#define UNITY_SAMPLE_TEX2DARRAY(tex,coord) tex2DArray (tex,coord) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_LOD(tex,coord,lod) tex2DArraylod (tex, float4(coord,lod)) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_SAMPLER(tex,samplertex,coord) tex2DArray (tex,coord) |
|||
#define UNITY_SAMPLE_TEX2DARRAY_SAMPLER_LOD(tex,samplertex,coord,lod) tex2DArraylod (tex, float4(coord,lod)) |
|||
#endif |
|||
|
|||
// surface shader analysis; just pretend that 2D arrays are cubemaps |
|||
#if defined(SHADER_TARGET_SURFACE_ANALYSIS) |
|||
#define sampler2DArray samplerCUBE |
|||
#define tex2DArray texCUBE |
|||
#define tex2DArraylod texCUBElod |
|||
#endif |
|||
|
|||
#endif |
|||
|
|||
// For backwards compatibility, so we won't accidentally break shaders written by user |
|||
#define SampleCubeReflection(env, dir, lod) UNITY_SAMPLE_TEXCUBE_LOD(env, dir, lod) |
|||
|
|||
|
|||
#define samplerRECT sampler2D |
|||
#define texRECT tex2D |
|||
#define texRECTlod tex2Dlod |
|||
#define texRECTbias tex2Dbias |
|||
#define texRECTproj tex2Dproj |
|||
|
|||
#if defined(SHADER_API_PSSL) |
|||
#define VPOS S_POSITION |
|||
#elif defined(UNITY_COMPILER_CG) |
|||
// Cg seems to use WPOS instead of VPOS semantic? |
|||
#define VPOS WPOS |
|||
// Cg does not have tex2Dgrad and friends, but has tex2D overload that |
|||
// can take the derivatives |
|||
#define tex2Dgrad tex2D |
|||
#define texCUBEgrad texCUBE |
|||
#define tex3Dgrad tex3D |
|||
#endif |
|||
|
|||
|
|||
// Data type to be used for "screen space position" pixel shader input semantic; |
|||
// D3D9 needs it to be float2, unlike all other platforms. |
|||
#if defined(SHADER_API_D3D9) |
|||
#define UNITY_VPOS_TYPE float2 |
|||
#else |
|||
#define UNITY_VPOS_TYPE float4 |
|||
#endif |
|||
|
|||
|
|||
|
|||
#if defined(UNITY_COMPILER_HLSL) || defined (SHADER_TARGET_GLSL) |
|||
#define FOGC FOG |
|||
#endif |
|||
|
|||
// Use VFACE pixel shader input semantic in your shaders to get front-facing scalar value. |
|||
// Requires shader model 3.0 or higher. |
|||
#if defined(UNITY_COMPILER_CG) |
|||
#define VFACE FACE |
|||
#endif |
|||
#if defined(UNITY_COMPILER_HLSL2GLSL) |
|||
#define FACE VFACE |
|||
#endif |
|||
#if defined(SHADER_API_PSSL) |
|||
#define VFACE S_FRONT_FACE |
|||
#endif |
|||
// Is VFACE affected by flipped projection? |
|||
#if defined(SHADER_API_D3D9) || defined(SHADER_API_PSSL) |
|||
#define UNITY_VFACE_AFFECTED_BY_PROJECTION 1 |
|||
#endif |
|||
|
|||
|
|||
#if !defined(SHADER_API_D3D11) && !defined(SHADER_API_D3D11_9X) && !defined(UNITY_COMPILER_HLSLCC) && !defined(SHADER_API_PSSL) |
|||
#define SV_POSITION POSITION |
|||
#endif |
|||
|
|||
// Declare position that is also available for read in fragment shader |
|||
#if defined(SHADER_API_D3D9) && defined(SHADER_STAGE_FRAGMENT) && SHADER_TARGET >= 30 |
|||
#define UNITY_POSITION(pos) float4 pos : VPOS |
|||
#else |
|||
// On D3D reading screen space coordinates from fragment shader requires SM3.0 |
|||
#define UNITY_POSITION(pos) float4 pos : SV_POSITION |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_D3D9) || defined(SHADER_API_D3D11) || defined(SHADER_API_D3D11_9X) || defined(SHADER_API_PSP2) || defined(SHADER_API_PSSL) || defined(SHADER_API_METAL) |
|||
#define UNITY_ATTEN_CHANNEL r |
|||
#else |
|||
#define UNITY_ATTEN_CHANNEL a |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_D3D9) || defined(SHADER_API_D3D11) || defined(SHADER_API_D3D11_9X) || defined(SHADER_API_PSP2) || defined(SHADER_API_PSSL) || defined(SHADER_API_METAL) || defined(SHADER_API_WIIU) || defined(SHADER_API_VULKAN) |
|||
#define UNITY_UV_STARTS_AT_TOP 1 |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_PSSL) || defined(SHADER_API_XBOXONE) || defined(SHADER_API_METAL) || defined(SHADER_API_VULKAN) |
|||
#define UNITY_REVERSED_Z 1 |
|||
#endif |
|||
|
|||
#if defined(UNITY_REVERSED_Z) |
|||
#define UNITY_NEAR_CLIP_VALUE (1.0) |
|||
#elif defined(SHADER_API_D3D9) || defined(SHADER_API_WIIU) || defined(SHADER_API_D3D11_9X) |
|||
#define UNITY_NEAR_CLIP_VALUE (0.0) |
|||
#else |
|||
#define UNITY_NEAR_CLIP_VALUE (-1.0) |
|||
#endif |
|||
|
|||
// "platform caps" defines that were moved to editor, so they are set automatically when compiling shader |
|||
// UNITY_NO_DXT5nm - no DXT5NM support, so normal maps will encoded in rgb |
|||
// UNITY_NO_RGBM - no RGBM support, so doubleLDR |
|||
// UNITY_NO_SCREENSPACE_SHADOWS - no screenspace cascaded shadowmaps |
|||
// UNITY_FRAMEBUFFER_FETCH_AVAILABLE - framebuffer fetch |
|||
// UNITY_ENABLE_REFLECTION_BUFFERS - render reflection probes in deferred way, when using deferred shading |
|||
|
|||
|
|||
#if defined(SHADER_API_PSP2) |
|||
// To get acceptable precision from the SGX interpolators when decoding RGBM type |
|||
// textures we have to disable sRGB reads and then convert to gamma space in the shader |
|||
// explicitly. |
|||
#define UNITY_FORCE_LINEAR_READ_FOR_RGBM |
|||
#endif |
|||
|
|||
|
|||
// On most platforms, use floating point render targets to store depth of point |
|||
// light shadowmaps. However, on some others they either have issues, or aren't widely |
|||
// supported; in which case fallback to encoding depth into RGBA channels. |
|||
// Make sure this define matches GraphicsCaps.useRGBAForPointShadows. |
|||
#if defined(SHADER_API_GLES) || defined(SHADER_API_GLES3) || defined(SHADER_API_PSP2) |
|||
#define UNITY_USE_RGBA_FOR_POINT_SHADOWS |
|||
#endif |
|||
|
|||
|
|||
// Initialize arbitrary structure with zero values. |
|||
// Not supported on some backends (e.g. Cg-based particularly with nested structs). |
|||
// hlsl2glsl would almost support it, except with structs that have arrays -- so treat as not supported there either :( |
|||
#if defined(UNITY_COMPILER_HLSL) || defined(SHADER_API_PSSL) || defined(UNITY_COMPILER_HLSLCC) |
|||
#define UNITY_INITIALIZE_OUTPUT(type,name) name = (type)0; |
|||
#else |
|||
#define UNITY_INITIALIZE_OUTPUT(type,name) |
|||
#endif |
|||
|
|||
#if defined(SHADER_API_D3D11) || defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE) || defined(SHADER_API_VULKAN) || defined(SHADER_API_PSSL) |
|||
#define UNITY_CAN_COMPILE_TESSELLATION 1 |
|||
# define UNITY_domain domain |
|||
# define UNITY_partitioning partitioning |
|||
# define UNITY_outputtopology outputtopology |
|||
# define UNITY_patchconstantfunc patchconstantfunc |
|||
# define UNITY_outputcontrolpoints outputcontrolpoints |
|||
#endif |
|||
|
|||
// Not really needed anymore, but did ship in Unity 4.0; with D3D11_9X remapping them to .r channel. |
|||
// Now that's not used. |
|||
#define UNITY_SAMPLE_1CHANNEL(x,y) tex2D(x,y).a |
|||
#define UNITY_ALPHA_CHANNEL a |
|||
|
|||
|
|||
// HLSL attributes |
|||
#if defined(UNITY_COMPILER_HLSL) |
|||
#define UNITY_BRANCH [branch] |
|||
#define UNITY_FLATTEN [flatten] |
|||
#define UNITY_UNROLL [unroll] |
|||
#define UNITY_LOOP [loop] |
|||
#define UNITY_FASTOPT [fastopt] |
|||
#else |
|||
#define UNITY_BRANCH |
|||
#define UNITY_FLATTEN |
|||
#define UNITY_UNROLL |
|||
#define UNITY_LOOP |
|||
#define UNITY_FASTOPT |
|||
#endif |
|||
|
|||
|
|||
// Unity 4.x shaders used to mostly work if someone used WPOS semantic, |
|||
// which was accepted by Cg. The correct semantic to use is "VPOS", |
|||
// so define that so that old shaders keep on working. |
|||
#if !defined(UNITY_COMPILER_CG) |
|||
#define WPOS VPOS |
|||
#endif |
|||
|
|||
// define use to identify platform with modern feature like texture 3D with filtering, texture array etc... |
|||
#define UNITY_SM40_PLUS_PLATFORM (!((SHADER_TARGET < 30) || defined (SHADER_API_MOBILE) || defined(SHADER_API_D3D9) || defined(SHADER_API_D3D11_9X) || defined (SHADER_API_PSP2) || defined(SHADER_API_GLES))) |
|||
|
|||
// Ability to manually set descriptor set and binding numbers (Vulkan only) |
|||
#if defined(SHADER_API_VULKAN) |
|||
#define CBUFFER_START_WITH_BINDING(Name, Set, Binding) CBUFFER_START(Name##Xhlslcc_set_##Set##_bind_##Binding##X) |
|||
// Sampler / image declaration with set/binding decoration |
|||
#define DECL_WITH_BINDING(Type, Name, Set, Binding) Type Name##hlslcc_set_##Set##_bind_##Binding |
|||
#else |
|||
#define CBUFFER_START_WITH_BINDING(Name, Set, Binding) CBUFFER_START(Name) |
|||
#define DECL_WITH_BINDING(Type, Name, Set, Binding) Type Name |
|||
#endif |
|||
|
|||
// ---- Shader keyword backwards compatibility |
|||
// We used to have some built-in shader keywords, but they got removed at some point to save on shader keyword count. |
|||
// However some existing shader code might be checking for the old names, so define them as regular |
|||
// macros based on other criteria -- so that existing code keeps on working. |
|||
|
|||
// Unity 5.0 renamed HDR_LIGHT_PREPASS_ON to UNITY_HDR_ON |
|||
#if defined(UNITY_HDR_ON) |
|||
#define HDR_LIGHT_PREPASS_ON 1 |
|||
#endif |
|||
|
|||
// UNITY_NO_LINEAR_COLORSPACE was removed in 5.4 when UNITY_COLORSPACE_GAMMA was introduced as a platform keyword and runtime gamma fallback removed. |
|||
#if !defined(UNITY_NO_LINEAR_COLORSPACE) && defined(UNITY_COLORSPACE_GAMMA) |
|||
#define UNITY_NO_LINEAR_COLORSPACE 1 |
|||
#endif |
|||
|
|||
#if !defined(DIRLIGHTMAP_OFF) && !defined(DIRLIGHTMAP_COMBINED) |
|||
#define DIRLIGHTMAP_OFF 1 |
|||
#endif |
|||
|
|||
#if !defined(LIGHTMAP_OFF) && !defined(LIGHTMAP_ON) |
|||
#define LIGHTMAP_OFF 1 |
|||
#endif |
|||
|
|||
#if !defined(DYNAMICLIGHTMAP_OFF) && !defined(DYNAMICLIGHTMAP_ON) |
|||
#define DYNAMICLIGHTMAP_OFF 1 |
|||
#endif |
|||
|
|||
|
|||
#if defined (SHADER_API_D3D11) && defined(STEREO_INSTANCING_ON) |
|||
|
|||
#undef UNITY_DECLARE_DEPTH_TEXTURE |
|||
#define UNITY_DECLARE_DEPTH_TEXTURE(tex) Texture2DArray tex; SamplerState sampler##tex |
|||
|
|||
#undef SAMPLE_DEPTH_TEXTURE |
|||
#define SAMPLE_DEPTH_TEXTURE(tex, uv) UNITY_SAMPLE_TEX2DARRAY(tex, float3(uv.x, uv.y, (float)unity_StereoEyeIndex)).r |
|||
|
|||
#undef SAMPLE_DEPTH_TEXTURE_PROJ |
|||
#define SAMPLE_DEPTH_TEXTURE_PROJ(tex, uv) UNITY_SAMPLE_TEX2DARRAY(tex, float3(uv.x/uv.w, uv.y/uv.w, (float)unity_StereoEyeIndex)).r |
|||
|
|||
#define UNITY_DECLARE_SCREENSPACE_SHADOWMAP UNITY_DECLARE_TEX2DARRAY |
|||
#define UNITY_SAMPLE_SCREEN_SHADOW(tex, uv) UNITY_SAMPLE_TEX2DARRAY( tex, float3(uv.x/uv.w, uv.y/uv.w, (float)unity_StereoEyeIndex) ).r |
|||
|
|||
#else |
|||
#define UNITY_DECLARE_DEPTH_TEXTURE(tex) sampler2D_float tex |
|||
#define UNITY_DECLARE_SCREENSPACE_SHADOWMAP(tex) sampler2D tex |
|||
#define UNITY_SAMPLE_SCREEN_SHADOW(tex, uv) tex2Dproj( tex, UNITY_PROJ_COORD(uv) ).r |
|||
#endif |
|||
|
|||
#endif // HLSL_SUPPORT_INCLUDED |
撰写
预览
正在加载...
取消
保存
Reference in new issue