tsgcpp / StereoEyeShaderSample-Unity

左右のビューで異なるテクスチャを描画するシェーダーの実装のサンプルプロジェクト
2 stars 1 forks source link

Its not working in Unity URP #2

Open RYG81 opened 1 year ago

RYG81 commented 1 year ago

can you help with Unity URP render pipeline.

It's not working.

tsgcpp commented 1 year ago

@RYG81 Did you try restarting Unity after activating URP?

It seems that the results will be wrong without restarting Unity.

RYG81 commented 1 year ago

I tried but no success. Do you have URP version of the same project? If so, please share. I am trying to make it work in Meta Quest 2

tsgcpp commented 1 year ago

Here is the branch for URP. feature/urp

I connected Meta Quest 2 and just clicked "Build And Run". image

I'm using Vulkan and Texture Compression "ASTC" for URP and Meta Quest2. Vulkan may be better for Meta Quest 2.

RYG81 commented 1 year ago

image How you got that version in unity 2020.3?

RYG81 commented 1 year ago

Looks like your project is in Unity 2021.3 or above. I am looking for 2020.3.

RYG81 commented 1 year ago

Any chance to make it work in unity 2020.3f12 Please help if possible.

tsgcpp commented 1 year ago

@RYG81 You can use this feature/urp_2020.3

RYG81 commented 1 year ago

Can you create this shader in Shader Graph? Actually, I want to learn how you have done it, but I do not know shader programming. However, I do understand node based programming a little bit.

RYG81 commented 1 year ago

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRSystem.cs(142,25): error CS1061: 'XRDisplaySubsystem' does not contain a definition for 'BeginRecordingIfLateLatched' and no accessible extension method 'BeginRecordingIfLateLatched' accepting a first argument of type 'XRDisplaySubsystem' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRSystem.cs(151,25): error CS1061: 'XRDisplaySubsystem' does not contain a definition for 'EndRecordingIfLateLatched' and no accessible extension method 'EndRecordingIfLateLatched' accepting a first argument of type 'XRDisplaySubsystem' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(468,53): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(468,17): error CS1061: 'CommandBuffer' does not contain a definition for 'MarkLateLatchMatrixShaderPropertyID' and no accessible extension method 'MarkLateLatchMatrixShaderPropertyID' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(469,53): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(469,17): error CS1061: 'CommandBuffer' does not contain a definition for 'MarkLateLatchMatrixShaderPropertyID' and no accessible extension method 'MarkLateLatchMatrixShaderPropertyID' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(470,53): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(470,17): error CS1061: 'CommandBuffer' does not contain a definition for 'MarkLateLatchMatrixShaderPropertyID' and no accessible extension method 'MarkLateLatchMatrixShaderPropertyID' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(471,53): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(471,17): error CS1061: 'CommandBuffer' does not contain a definition for 'MarkLateLatchMatrixShaderPropertyID' and no accessible extension method 'MarkLateLatchMatrixShaderPropertyID' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(472,17): error CS1061: 'CommandBuffer' does not contain a definition for 'SetLateLatchProjectionMatrices' and no accessible extension method 'SetLateLatchProjectionMatrices' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(478,39): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(478,17): error CS1061: 'CommandBuffer' does not contain a definition for 'UnmarkLateLatchMatrix' and no accessible extension method 'UnmarkLateLatchMatrix' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(479,39): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(479,17): error CS1061: 'CommandBuffer' does not contain a definition for 'UnmarkLateLatchMatrix' and no accessible extension method 'UnmarkLateLatchMatrix' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(480,39): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(480,17): error CS1061: 'CommandBuffer' does not contain a definition for 'UnmarkLateLatchMatrix' and no accessible extension method 'UnmarkLateLatchMatrix' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(481,39): error CS0103: The name 'CameraLateLatchMatrixType' does not exist in the current context

Library\PackageCache\com.unity.render-pipelines.universal@10.10.1\Runtime\XR\XRPass.cs(481,17): error CS1061: 'CommandBuffer' does not contain a definition for 'UnmarkLateLatchMatrix' and no accessible extension method 'UnmarkLateLatchMatrix' accepting a first argument of type 'CommandBuffer' could be found (are you missing a using directive or an assembly reference?)

Getting all these at start of project. Also I have unity 2020.3f12.

RYG81 commented 1 year ago

I installed latest unity 2020.3 and it worked. Thanks. Please close the issue. However, if you can help with doing this in shader graph, do reply here.

Thank you Rahul