浏览代码
Merge remote-tracking branch 'refs/remotes/origin/master' into shadows
Merge remote-tracking branch 'refs/remotes/origin/master' into shadows
# Conflicts: # Assets/TestScenes/HDTest/GraphicTest/SSS/head.OBJ.meta/main
sebastienlagarde
8 年前
当前提交
0ded8f98
共有 183 个文件被更改,包括 11135 次插入 和 341 次删除
-
6Assets/ScriptableRenderPipeline/HDRenderPipeline/HDRenderPipeline.cs
-
5Assets/ScriptableRenderPipeline/HDRenderPipeline/Lighting/TileLightLoopProducer.cs
-
9Assets/ScriptableRenderPipeline/HDRenderPipeline/Lighting/TilePass/TilePass.cs
-
39Assets/ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.hlsl
-
10Assets/ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/SubsurfaceScatteringProfile.cs
-
7Assets/ScriptableRenderPipeline/HDRenderPipeline/SceneSettings/SceneSettings.cs
-
1Assets/ScriptableRenderPipeline/HDRenderPipeline/Sky/ProceduralSky/ProceduralSkyRenderer.cs
-
2Assets/ScriptableRenderPipeline/HDRenderPipeline/Sky/ProceduralSky/ProceduralSkySettings.cs
-
13Assets/ScriptableRenderPipeline/HDRenderPipeline/Sky/ProceduralSky/Resources/SkyProcedural.shader
-
12Assets/ScriptableRenderPipeline/HDRenderPipeline/Sky/SkyManager.cs
-
5Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Editor/LowendMobilePipelineMaterialEditor.cs
-
18Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Editor/LowendPipelineAssetInspector.cs
-
18Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Editor/LowendUpgraders.cs
-
35Assets/ScriptableRenderPipeline/LowEndMobilePipeline/LowEndMobilePipeline.cs
-
16Assets/ScriptableRenderPipeline/LowEndMobilePipeline/LowEndMobilePipelineAsset.cs
-
151Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Shaders/LowEndMobilePipeline.shader
-
106Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Shaders/LowEndMobilePipelineCore.cginc
-
140Assets/ScriptableRenderPipeline/ShaderLibrary/AreaLighting.hlsl
-
3Assets/ScriptableRenderPipeline/ShaderLibrary/CommonLighting.hlsl
-
5Assets/ScriptableRenderPipeline/common/CubeToSpherical.shader
-
21Assets/ScriptableRenderPipeline/common/TextureCache.cs
-
2ProjectSettings/ProjectVersion.txt
-
9Assets/GraphicsTests.meta
-
69Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Shaders/LowEndMobilePipelineShadows.cginc
-
9Assets/ScriptableRenderPipeline/LowEndMobilePipeline/Shaders/LowEndMobilePipelineShadows.cginc.meta
-
9Assets/TestScenes/HDTest/GraphicTest/SSS/Materials.meta
-
9Assets/GraphicsTests/Editor.meta
-
9Assets/GraphicsTests/Scenes.meta
-
12Assets/GraphicsTests/SetupSceneForRenderPipelineTest.cs.meta
-
26Assets/GraphicsTests/SetupSceneForRenderPipelineTest.cs
-
9Assets/GraphicsTests/Assets.meta
-
9Assets/GraphicsTests/Assets/LDPipe_Camera.meta
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets.meta
-
9Assets/GraphicsTests/Assets/LDPipe_Shader.meta
-
75Assets/GraphicsTests/Assets/LDPipe_Camera/Cam_TargetMat.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Camera/Cam_TargetMat.mat.meta
-
9Assets/GraphicsTests/Assets/LDPipe_Camera/Cam_TargetTex.renderTexture.meta
-
29Assets/GraphicsTests/Assets/LDPipe_Camera/Cam_TargetTex.renderTexture
-
55Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Cornell Box.fbx
-
88Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Cornell Box.fbx.meta
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials.meta
-
89Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box.mat
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box_green.mat
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box_green.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box_red.mat
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/Cornell Box_red.mat.meta
-
88Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/LDpipe_targetTex.mat
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Materials/LDpipe_targetTex.mat.meta
-
9Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures.meta
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Albedo.png.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Height.png
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Height.png.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Normal.png
-
74Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Normal.png.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Occlusion.png
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Occlusion.png.meta
-
751Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Spec.png
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/RockWall_Spec.png.meta
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Albedo.png.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Height.png
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Height.png.meta
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Normal.png.meta
-
943Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Occlusion.png
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Occlusion.png.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Spec.tif
-
82Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/ScifiFloor_Spec.tif.meta
-
528Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/cube_RGBA_32bit.jpg
-
83Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/cube_RGBA_32bit.jpg.meta
-
1001Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/uvGrid.jpg
-
74Assets/GraphicsTests/Assets/LDPipe_CommonAssets/Textures/uvGrid.jpg.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_01_BaseWhite.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_01_BaseWhite.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_02_BaseColor.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_02_BaseColor.mat.meta
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_03_Specular.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_04_Normal.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_04_Normal.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_05_Emission.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_05_Emission.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_06_All.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_06_All.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Cube.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Cube.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Non.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Non.mat.meta
-
89Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Probe.mat
-
9Assets/GraphicsTests/Assets/LDPipe_Shader/LDPipe_LitMat_Reflection_Probe.mat.meta
|
|||
m_EditorVersion: 2017.1.0b2 |
|||
m_EditorVersion: 2017.1.0b3 |
|
|||
fileFormatVersion: 2 |
|||
guid: fabcb6233c120475db6fc066c4ff60f4 |
|||
folderAsset: yes |
|||
timeCreated: 1493132725 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
#define MAX_SHADOW_CASCADES 4 |
|||
|
|||
sampler2D_float _ShadowMap; |
|||
float _PCFKernel[8]; |
|||
float4x4 _WorldToShadow[MAX_SHADOW_CASCADES]; |
|||
float4 _DirShadowSplitSpheres[MAX_SHADOW_CASCADES]; |
|||
|
|||
inline half ShadowAttenuation(float3 shadowCoord) |
|||
{ |
|||
if (shadowCoord.x <= 0 || shadowCoord.x >= 1 || shadowCoord.y <= 0 || shadowCoord.y >= 1) |
|||
return 1; |
|||
|
|||
float depth = tex2D(_ShadowMap, shadowCoord).r; |
|||
#if defined(UNITY_REVERSED_Z) |
|||
return step(depth, shadowCoord.z); |
|||
#else |
|||
return step(shadowCoord.z, depth); |
|||
#endif |
|||
} |
|||
|
|||
inline half ComputeShadowAttenuation(v2f i, float3 offset) |
|||
{ |
|||
float3 posWorldOffsetNormal = i.posWS + offset; |
|||
int cascadeIndex = 0; |
|||
|
|||
#ifdef _SHADOW_CASCADES |
|||
cascadeIndex = ComputeCascadeIndex(i.posWS); |
|||
if (cascadeIndex >= MAX_SHADOW_CASCADES) |
|||
return 1.0; |
|||
#endif |
|||
float4 shadowCoord = mul(_WorldToShadow[cascadeIndex], float4(posWorldOffsetNormal, 1.0)); |
|||
shadowCoord.xyz /= shadowCoord.w; |
|||
shadowCoord.z = saturate(shadowCoord.z); |
|||
|
|||
#if defined(_SOFT_SHADOWS) || defined(_SOFT_SHADOWS_CASCADES) |
|||
return ShadowPCF(shadowCoord.xyz); |
|||
#else |
|||
return ShadowAttenuation(shadowCoord.xyz); |
|||
#endif |
|||
} |
|||
|
|||
inline half ComputeCascadeIndex(float3 wpos) |
|||
{ |
|||
float3 fromCenter0 = wpos.xyz - _DirShadowSplitSpheres[0].xyz; |
|||
float3 fromCenter1 = wpos.xyz - _DirShadowSplitSpheres[1].xyz; |
|||
float3 fromCenter2 = wpos.xyz - _DirShadowSplitSpheres[2].xyz; |
|||
float3 fromCenter3 = wpos.xyz - _DirShadowSplitSpheres[3].xyz; |
|||
float4 distances2 = float4(dot(fromCenter0, fromCenter0), dot(fromCenter1, fromCenter1), dot(fromCenter2, fromCenter2), dot(fromCenter3, fromCenter3)); |
|||
|
|||
float4 vDirShadowSplitSphereSqRadii; |
|||
vDirShadowSplitSphereSqRadii.x = _DirShadowSplitSpheres[0].w; |
|||
vDirShadowSplitSphereSqRadii.y = _DirShadowSplitSpheres[1].w; |
|||
vDirShadowSplitSphereSqRadii.z = _DirShadowSplitSpheres[2].w; |
|||
vDirShadowSplitSphereSqRadii.w = _DirShadowSplitSpheres[3].w; |
|||
fixed4 weights = fixed4(distances2 < vDirShadowSplitSphereSqRadii); |
|||
weights.yzw = saturate(weights.yzw - weights.xyz); |
|||
return 4 - dot(weights, fixed4(4, 3, 2, 1)); |
|||
} |
|||
|
|||
inline half ShadowPCF(half3 shadowCoord) |
|||
{ |
|||
// TODO: simulate textureGatherOffset not available, simulate it |
|||
half2 offset = half2(0, 0); |
|||
half attenuation = ShadowAttenuation(half3(shadowCoord.xy + half2(_PCFKernel[0], _PCFKernel[1]) + offset, shadowCoord.z)) + |
|||
ShadowAttenuation(half3(shadowCoord.xy + half2(_PCFKernel[2], _PCFKernel[3]) + offset, shadowCoord.z)) + |
|||
ShadowAttenuation(half3(shadowCoord.xy + half2(_PCFKernel[4], _PCFKernel[5]) + offset, shadowCoord.z)) + |
|||
ShadowAttenuation(half3(shadowCoord.xy + half2(_PCFKernel[6], _PCFKernel[7]) + offset, shadowCoord.z)); |
|||
return attenuation * 0.25; |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 5cb845b7decdb4db6a7fcc676b127b6d |
|||
timeCreated: 1488965025 |
|||
licenseType: Pro |
|||
ShaderImporter: |
|||
defaultTextures: [] |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: cba3481d3ac78b047b7b6bbb8f7fa396 |
|||
folderAsset: yes |
|||
timeCreated: 1493400805 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: ac919a67e7c764f70a75900c12043d9b |
|||
folderAsset: yes |
|||
timeCreated: 1493134265 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 22b5af213d3fd4ff4bc9e34ab9e8cc99 |
|||
folderAsset: yes |
|||
timeCreated: 1493133658 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: c20dfc007a9a74ad8a2bfd0d59abe398 |
|||
timeCreated: 1493134169 |
|||
licenseType: Pro |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using UnityEngine.Rendering; |
|||
|
|||
namespace UnityEngine.Experimental.Rendering |
|||
{ |
|||
public class SetupSceneForRenderPipelineTest : MonoBehaviour |
|||
{ |
|||
private RenderPipelineAsset m_OriginalAsset; |
|||
public RenderPipelineAsset renderPipeline; |
|||
public Camera cameraToUse; |
|||
public bool hdr = false; |
|||
|
|||
public int width = 1280; |
|||
public int height = 720; |
|||
|
|||
public void Setup() |
|||
{ |
|||
m_OriginalAsset = GraphicsSettings.renderPipelineAsset; |
|||
GraphicsSettings.renderPipelineAsset = renderPipeline; |
|||
} |
|||
|
|||
public void TearDown() |
|||
{ |
|||
GraphicsSettings.renderPipelineAsset = m_OriginalAsset; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 7b347afec288f49c1a5ba73224553348 |
|||
folderAsset: yes |
|||
timeCreated: 1493306660 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 6b4a8875c6abe4e30ab42c924c1bb23c |
|||
folderAsset: yes |
|||
timeCreated: 1493311314 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 9c1980e5ff53f4728909c7f523faaedd |
|||
folderAsset: yes |
|||
timeCreated: 1493307120 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 499cfb3ef56ba4d3bb13b7e51c242840 |
|||
folderAsset: yes |
|||
timeCreated: 1493306688 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
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: Cam_TargetMat |
|||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_ShaderKeywords: |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 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: 22eba646cd5fb4a43b1935f30ea3bbb2 |
|||
timeCreated: 1493311581 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 4e087ed77662f412284c8aaa82cccb06 |
|||
timeCreated: 1493311327 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
mainObjectFileID: 8400000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!84 &8400000 |
|||
RenderTexture: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: Cam_TargetTex |
|||
m_ImageContentsHash: |
|||
serializedVersion: 2 |
|||
Hash: 00000000000000000000000000000000 |
|||
m_Width: 512 |
|||
m_Height: 256 |
|||
m_AntiAliasing: 1 |
|||
m_DepthFormat: 2 |
|||
m_ColorFormat: 0 |
|||
m_MipMap: 0 |
|||
m_GenerateMips: 1 |
|||
m_SRGB: 0 |
|||
m_TextureSettings: |
|||
serializedVersion: 2 |
|||
m_FilterMode: 1 |
|||
m_Aniso: 0 |
|||
m_MipBias: 0 |
|||
m_WrapU: 1 |
|||
m_WrapV: 1 |
|||
m_WrapW: 1 |
|||
m_Dimension: 2 |
|||
m_VolumeDepth: 1 |
|
|||
Kaydara FBX Binary � d FBXHeaderExtension\ FBXHeaderVersionI� x |
|||
FBXVersionI� � EncryptionTypeI � CreationTimeStamp� VersionI� � YearI� � MonthI DayI ' HourI ? MinuteI W SecondI! t MillisecondI � ' |