diff --git a/Assets/DepthOnlyShader.shader b/Assets/DepthOnlyShader.shader index b97c235..c2c7016 100644 --- a/Assets/DepthOnlyShader.shader +++ b/Assets/DepthOnlyShader.shader @@ -14,20 +14,33 @@ Shader "Custom/DepthOnly" { float4 pos : SV_POSITION; float depth : TEXCOORD0; + float4 pos2 : TEXCOORD2; }; v2f vert(appdata_base v) { v2f o; o.pos = UnityObjectToClipPos(v.vertex); - o.depth = o.pos.z / o.pos.w; + // o.depth = (o.pos.z + 1.) / 2. / o.pos.w; + // o.depth = (o.pos.z + 1.) / 2.; + o.depth = o.pos.z; + // o.depth = o.pos.z/ o.pos.w ; + //o.depth = mul(UNITY_MATRIX_M, v.vertex).x; + // o.pos2 = o.pos; return o; } fixed4 frag(v2f i) : SV_Target { + // ****We had to change Unity's color space to Gamma such that it doesn't add its own gamma correction, + // for this to work ******* + return fixed4(i.depth, i.depth, i.depth, 1.0); // Output depth as grayscale - return fixed4((i.depth / 2), (i.depth / 2), (i.depth / 2), 1.0); + // return fixed4((i.depth), (i.depth), (i.depth), 1.0); + // return fixed4( + // (i.pos2.x) * .5 + .5, + // (i.pos2.x) * .5 + .5, + // (i.pos2.x) * .5 + .5, 1.0); } ENDCG } diff --git a/Assets/RT3script.cs b/Assets/RT3script.cs index 39d4d88..53e694f 100644 --- a/Assets/RT3script.cs +++ b/Assets/RT3script.cs @@ -38,6 +38,10 @@ public class RT3script : MonoBehaviour depthImages = new RenderTexture[cameraList.Length]; depthCameraList = new Camera[cameraList.Length]; + // Matrix4x4 ort = Matrix4x4.Ortho(-2, 2, -2, 2, 0, 10); + // UnityEngine.Debug.Log(ort.ToString()); + + Matrix4x4 testTranslate = Matrix4x4.Translate(new Vector3(0, 0, 2)); // UnityEngine.Debug.Log(testTranslate.ToString()); @@ -110,6 +114,10 @@ public class RT3script : MonoBehaviour rowOffset = encodeMatrix(cameraList[i].cameraToWorldMatrix, i, rowOffset); rowOffset = encodeMatrix(cameraList[i].projectionMatrix, i, rowOffset); + // if (i == 0) { + // UnityEngine.Debug.Log(cameraList[0].projectionMatrix.ToString()); + + // } // encodeData(rowOffset, i, rowOffset); //encode into pixels transform matrix for this camera diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 732b4ff..72eb3a4 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -213,14 +213,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 91574286} - m_LocalRotation: {x: -0.028943438, y: -0.7065142, z: 0.7065142, w: -0.028943438} - m_LocalPosition: {x: -0.0031539078, y: 0, z: 0.076987565} - m_LocalScale: {x: 2.2267053, y: 2.2267056, z: 2.226706} + m_LocalRotation: {x: 0, y: -0.38268343, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 3, y: 3, z: 3} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1871562477} - m_RootOrder: 12 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0} --- !u!1 &103678967 GameObject: m_ObjectHideFlags: 0 @@ -620,11 +620,11 @@ PrefabInstance: m_Modifications: - target: {fileID: 3277633862007588681, guid: d59516398c7be0643b8b0658abc4c8c6, type: 3} propertyPath: m_RootOrder - value: 9 + value: 10 objectReference: {fileID: 0} - target: {fileID: 3277633862007588681, guid: d59516398c7be0643b8b0658abc4c8c6, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 0.02 objectReference: {fileID: 0} - target: {fileID: 3277633862007588681, guid: d59516398c7be0643b8b0658abc4c8c6, type: 3} propertyPath: m_LocalPosition.y @@ -632,7 +632,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 3277633862007588681, guid: d59516398c7be0643b8b0658abc4c8c6, type: 3} propertyPath: m_LocalPosition.z - value: 0 + value: 0.245 objectReference: {fileID: 0} - target: {fileID: 3277633862007588681, guid: d59516398c7be0643b8b0658abc4c8c6, type: 3} propertyPath: m_LocalRotation.w @@ -845,10 +845,10 @@ Camera: width: 1 height: 1 near clip plane: 0 - far clip plane: 1 + far clip plane: 2 field of view: 60 orthographic: 1 - orthographic size: 2 + orthographic size: 1 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -872,7 +872,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 963194225} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -891,6 +891,104 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a42175a861c72054982b102c884dd2a6, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1272761324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1272761325} + - component: {fileID: 1272761328} + - component: {fileID: 1272761327} + - component: {fileID: 1272761326} + m_Layer: 0 + m_Name: Quad (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1272761325 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1272761324} + m_LocalRotation: {x: -0.028943438, y: -0.7065142, z: 0.7065142, w: -0.028943438} + m_LocalPosition: {x: -0.0031539074, y: 0, z: 0.07698757} + m_LocalScale: {x: 2.2267053, y: 2.2267058, z: 2.2267063} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1871562477} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!64 &1272761326 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1272761324} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1272761327 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1272761324} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8786b1b5c83353f47bd31d02c0fef4e8, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + 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 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1272761328 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1272761324} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &1332006756 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Website~/index.html b/Assets/Website~/index.html index a863cf8..dd36d65 100644 --- a/Assets/Website~/index.html +++ b/Assets/Website~/index.html @@ -237,7 +237,7 @@ } materialList[i].uniforms.c2wm.value.fromArray(c2wm_array); materialList[i].uniforms.prjm.value.fromArray(prjm_array); - + if (i==0) document.prjm0 = prjm_array; //these two lines make the projection array visible in console, for debugging if (i==1) document.prjm1 = prjm_array; if (i==0) document.c2wm0 = c2wm_array; diff --git a/Assets/Website~/projection.vert.glsl b/Assets/Website~/projection.vert.glsl index 1d22d1f..66ad9da 100644 --- a/Assets/Website~/projection.vert.glsl +++ b/Assets/Website~/projection.vert.glsl @@ -20,7 +20,7 @@ varying float paintfordiscard; mat4 unity_to_opengl(mat4 U) { return mat4( - 1., 0., 0., 0., + 1., 0., 0., 0., 0., 1., 0., 0., 0., 0.,-1., 0., 0., 0., 0., 1. diff --git a/Assets/screen material.mat b/Assets/screen material.mat index 323dda6..971d9d5 100644 --- a/Assets/screen material.mat +++ b/Assets/screen material.mat @@ -8,15 +8,17 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: screen material - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: [] + m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_ValidKeywords: + - _EMISSION m_InvalidKeywords: [] - m_LightmapFlags: 4 + m_LightmapFlags: 0 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} - disabledShaderPasses: [] + disabledShaderPasses: + - GRABPASS m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -58,23 +60,42 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _BlendOp: 0 - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 2 - _Cutoff: 0.5 - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 - _DstBlend: 0 + - _EmissionEnabled: 1 + - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 + - _LightingEnabled: 0 - _Metallic: 0 - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 - _UVSec: 0 - _ZWrite: 1 m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorAddSubDiff: {r: 1, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 2789cc8..327fc67 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -47,7 +47,7 @@ PlayerSettings: defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 m_StereoRenderingPath: 0 - m_ActiveColorSpace: 1 + m_ActiveColorSpace: 0 m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0