diff options
Diffstat (limited to '')
5 files changed, 178 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer.meta b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer.meta new file mode 100644 index 00000000..3575cb8f --- /dev/null +++ b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44674fef3fabd274b89a9aaac2e4f61f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader new file mode 100644 index 00000000..2721e6bc --- /dev/null +++ b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader @@ -0,0 +1,79 @@ +// Shader created with Shader Forge v1.37 +// Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/ +// Note: Manually altering this data may prevent you from opening it in Shader Forge +/*SF_DATA;ver:1.37;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,lico:1,lgpr:1,limd:0,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:False,rmgx:True,imps:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:0,bsrc:0,bdst:1,dpts:2,wrdp:True,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:False,aust:True,igpj:False,qofs:0,qpre:1,rntp:1,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.9918864,fgcg:0.9632353,fgcb:1,fgca:1,fgde:0.002,fgrn:0,fgrf:300,stcl:False,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:False,fnfb:False,fsmp:False;n:type:ShaderForge.SFN_Final,id:3138,x:33050,y:32223,varname:node_3138,prsc:2|emission-857-RGB;n:type:ShaderForge.SFN_ViewVector,id:9763,x:31317,y:32321,varname:node_9763,prsc:2;n:type:ShaderForge.SFN_Multiply,id:6020,x:31491,y:32321,varname:node_6020,prsc:2|A-9763-OUT,B-9888-OUT;n:type:ShaderForge.SFN_Vector1,id:9888,x:31317,y:32452,varname:node_9888,prsc:2,v1:-1;n:type:ShaderForge.SFN_Tex2d,id:857,x:32869,y:32321,ptovrint:False,ptlb:MainTex,ptin:_MainTex,varname:node_857,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-803-OUT;n:type:ShaderForge.SFN_Code,id:778,x:31696,y:32515,varname:node_778,prsc:2,code:ZgBsAG8AYQB0ADMAIABuAG8AcgBtAGEAbABpAHoAZQBkAEMAbwBvAHIAZABzACAAPQAgAG4AbwByAG0AYQBsAGkAegBlACgAYwBvAG8AcgBkAHMAKQA7AA0ACgBmAGwAbwBhAHQAIABsAGEAdABpAHQAdQBkAGUAIAA9ACAAYQBjAG8AcwAoAG4AbwByAG0AYQBsAGkAegBlAGQAQwBvAG8AcgBkAHMALgB5ACkAOwANAAoAZgBsAG8AYQB0ACAAbABvAG4AZwBpAHQAdQBkAGUAIAA9ACAAYQB0AGEAbgAyACgAbgBvAHIAbQBhAGwAaQB6AGUAZABDAG8AbwByAGQAcwAuAHoALAAgAG4AbwByAG0AYQBsAGkAegBlAGQAQwBvAG8AcgBkAHMALgB4ACkAOwANAAoAZgBsAG8AYQB0ADIAIABzAHAAaABlAHIAZQBDAG8AbwByAGQAcwAgAD0AIABmAGwAbwBhAHQAMgAoAGwAbwBuAGcAaQB0AHUAZABlACwAIABsAGEAdABpAHQAdQBkAGUAKQAgACoAIABmAGwAbwBhAHQAMgAoADAALgA1AC8AVQBOAEkAVABZAF8AUABJACwAIAAxAC4AMAAvAFUATgBJAFQAWQBfAFAASQApADsADQAKAHMAcABoAGUAcgBlAEMAbwBvAHIAZABzACAAPQAgAGYAbABvAGEAdAAyACgAMAAuADUALAAxAC4AMAApACAALQAgAHMAcABoAGUAcgBlAEMAbwBvAHIAZABzADsACgByAGUAdAB1AHIAbgAgACgAcwBwAGgAZQByAGUAQwBvAG8AcgBkAHMAIAArACAAZgBsAG8AYQB0ADQAKAAwACwAIAAxAC0AdQBuAGkAdAB5AF8AUwB0AGUAcgBlAG8ARQB5AGUASQBuAGQAZQB4ACwAMQAsADAALgA1ACkALgB4AHkAKQAgACoAIABmAGwAbwBhAHQANAAoADAALAAgADEALQB1AG4AaQB0AHkAXwBTAHQAZQByAGUAbwBFAHkAZQBJAG4AZABlAHgALAAxACwAMAAuADUAKQAuAHoAdwA7AA==,output:1,fname:StereoPanoProjection,width:891,height:132,input:2,input_1_label:coords|A-6020-OUT;n:type:ShaderForge.SFN_Code,id:7754,x:31695,y:32321,varname:node_7754,prsc:2,code:ZgBsAG8AYQB0ADMAIABuAG8AcgBtAGEAbABpAHoAZQBkAEMAbwBvAHIAZABzACAAPQAgAG4AbwByAG0AYQBsAGkAegBlACgAYwBvAG8AcgBkAHMAKQA7AA0ACgBmAGwAbwBhAHQAIABsAGEAdABpAHQAdQBkAGUAIAA9ACAAYQBjAG8AcwAoAG4AbwByAG0AYQBsAGkAegBlAGQAQwBvAG8AcgBkAHMALgB5ACkAOwANAAoAZgBsAG8AYQB0ACAAbABvAG4AZwBpAHQAdQBkAGUAIAA9ACAAYQB0AGEAbgAyACgAbgBvAHIAbQBhAGwAaQB6AGUAZABDAG8AbwByAGQAcwAuAHoALAAgAG4AbwByAG0AYQBsAGkAegBlAGQAQwBvAG8AcgBkAHMALgB4ACkAOwANAAoAZgBsAG8AYQB0ADIAIABzAHAAaABlAHIAZQBDAG8AbwByAGQAcwAgAD0AIABmAGwAbwBhAHQAMgAoAGwAbwBuAGcAaQB0AHUAZABlACwAIABsAGEAdABpAHQAdQBkAGUAKQAgACoAIABmAGwAbwBhAHQAMgAoADEALgAwAC8AVQBOAEkAVABZAF8AUABJACwAIAAxAC4AMAAvAFUATgBJAFQAWQBfAFAASQApADsADQAKAHMAcABoAGUAcgBlAEMAbwBvAHIAZABzACAAPQAgAGYAbABvAGEAdAAyACgAMQAuADAALAAxAC4AMAApACAALQAgAHMAcABoAGUAcgBlAEMAbwBvAHIAZABzADsACgByAGUAdAB1AHIAbgAgACgAcwBwAGgAZQByAGUAQwBvAG8AcgBkAHMAIAArACAAZgBsAG8AYQB0ADQAKAAwACwAIAAxAC0AdQBuAGkAdAB5AF8AUwB0AGUAcgBlAG8ARQB5AGUASQBuAGQAZQB4ACwAMQAsADEALgAwACkALgB4AHkAKQAgACoAIABmAGwAbwBhAHQANAAoADAALAAgADEALQB1AG4AaQB0AHkAXwBTAHQAZQByAGUAbwBFAHkAZQBJAG4AZABlAHgALAAxACwAMQAuADAAKQAuAHoAdwA7AA==,output:1,fname:MonoPanoProjection,width:892,height:132,input:2,input_1_label:coords|A-6020-OUT;n:type:ShaderForge.SFN_SwitchProperty,id:803,x:32667,y:32321,ptovrint:False,ptlb:Stereo Enabled,ptin:_StereoEnabled,varname:node_803,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,on:True|A-7754-OUT,B-778-OUT;proporder:857-803;pass:END;sub:END;*/ + +Shader "VRChat/Panosphere" { + Properties { + _MainTex ("MainTex", 2D) = "white" {} + [MaterialToggle] _StereoEnabled ("Stereo Enabled", Float ) = 0 + } + SubShader { + Tags { + "RenderType"="Opaque" + } + Pass { + Name "FORWARD" + Tags { + "LightMode"="ForwardBase" + } + + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #define UNITY_PASS_FORWARDBASE + #include "UnityCG.cginc" + #pragma multi_compile_fwdbase_fullshadows + #pragma only_renderers d3d9 d3d11 glcore gles n3ds wiiu + #pragma target 3.0 + uniform sampler2D _MainTex; uniform float4 _MainTex_ST; + float2 StereoPanoProjection( float3 coords ){ + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude, latitude) * float2(0.5/UNITY_PI, 1.0/UNITY_PI); + sphereCoords = float2(0.5,1.0) - sphereCoords; + return (sphereCoords + float4(0, 1-unity_StereoEyeIndex,1,0.5).xy) * float4(0, 1-unity_StereoEyeIndex,1,0.5).zw; + } + + float2 MonoPanoProjection( float3 coords ){ + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude, latitude) * float2(1.0/UNITY_PI, 1.0/UNITY_PI); + sphereCoords = float2(1.0,1.0) - sphereCoords; + return (sphereCoords + float4(0, 1-unity_StereoEyeIndex,1,1.0).xy) * float4(0, 1-unity_StereoEyeIndex,1,1.0).zw; + } + + uniform fixed _StereoEnabled; + struct VertexInput { + float4 vertex : POSITION; + }; + struct VertexOutput { + float4 pos : SV_POSITION; + float4 posWorld : TEXCOORD0; + }; + VertexOutput vert (VertexInput v) { + VertexOutput o = (VertexOutput)0; + o.posWorld = mul(unity_ObjectToWorld, v.vertex); + o.pos = UnityObjectToClipPos( v.vertex ); + return o; + } + float4 frag(VertexOutput i) : COLOR { + float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz); +////// Lighting: +////// Emissive: + float3 node_6020 = (viewDirection*(-1.0)); + float2 _StereoEnabled_var = lerp( MonoPanoProjection( node_6020 ), StereoPanoProjection( node_6020 ), _StereoEnabled ); + float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(_StereoEnabled_var, _MainTex)); + float3 emissive = _MainTex_var.rgb; + float3 finalColor = emissive; + return fixed4(finalColor,1); + } + ENDCG + } + } + FallBack "Diffuse" + CustomEditor "ShaderForgeMaterialInspector" +} diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader.meta b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader.meta new file mode 100644 index 00000000..2c6ef22a --- /dev/null +++ b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Panosphere.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1278163a2a3ba2b4cad540a862292784 +timeCreated: 1442362198 +licenseType: Free +ShaderImporter: + defaultTextures: + - _MainTex: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat new file mode 100644 index 00000000..e7976077 --- /dev/null +++ b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat @@ -0,0 +1,73 @@ +%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: Sphere + m_Shader: {fileID: 4800000, guid: 1278163a2a3ba2b4cad540a862292784, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + 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: 2800000, guid: b8e8dcca0b0b74a43acb6c803b119ea1, type: 3} + m_Scale: {x: 1, y: 0.5} + m_Offset: {x: 0, y: 0.5} + - _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 + - _Glossiness: 0.5 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SrcBlend: 1 + - _StereoEnabled: 0 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat.meta b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat.meta new file mode 100644 index 00000000..af5bdb46 --- /dev/null +++ b/VRCSDK3Worlds/Assets/VRCSDK/Sample Assets/PanoViewer/Sphere.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26803b57669325843a97b0ae43031082 +timeCreated: 1442361178 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: |