MixedRealityToolkit-Unity icon indicating copy to clipboard operation
MixedRealityToolkit-Unity copied to clipboard

Post processing layer on MRTK camera makes left eye white

Open gongminmin opened this issue 5 years ago • 15 comments

Reported by partner company IF IOT.

Describe the bug

After attaching a post processing layer to MRTK camera, on HL2, left eye is pure white, right eye is OK.

To reproduce

Steps to reproduce the behavior:

  1. Add emissive to material
  2. Add post process layers to MRTK camera
  3. Build and deploy to HL2
  4. See the incorrect rendering results

Expected behavior

Both eye looks ok

Your Setup (please complete the following information)

  • Unity Version 2018.3.7f1
  • MRTK Version v2.0

Target Platform (please complete the following information)

  • HoloLens 2

gongminmin avatar May 31 '19 09:05 gongminmin

Bug persists on 2019.2 MRTK v2.1.0

thePostFuturist avatar Nov 22 '19 19:11 thePostFuturist

Is there a current workaround to get post-processing working on HoloLens 2, or a recommended alternative to the default post-processing stack?

adamkvd avatar Nov 25 '19 10:11 adamkvd

This issue has been marked as stale by an automated process because it has not had any recent activity. It will be automatically closed in 30 days if no further activity occurs. If this is still an issue please add a new comment with more recent details and repro steps.

stale[bot] avatar Apr 23 '20 10:04 stale[bot]

This issue has been closed by an automated process because it is stale. If this is still an issue please add a new comment with more recent details and repro steps.

stale[bot] avatar May 23 '20 11:05 stale[bot]

reopen, i use unity 2019.3.7 + mrtk 2.4.0, post process not working for me

vacs-hoantt avatar Jun 12 '20 03:06 vacs-hoantt

I believe I'm affected to on Oculus Quest + Unity with post processing stack

lukianol avatar Sep 03 '20 04:09 lukianol

Same here with mrtk 2.5.3

Goldrake99 avatar Feb 02 '21 12:02 Goldrake99

Still present on Hololens 2 with latest MRTK on Unity 2019.4.21f LTS All I wanted was some anti aliasing, not even the whole post process stack.

Waffle1434 avatar Mar 17 '21 22:03 Waffle1434

The bug is still here on "Unity 2020.3.9f1" & "MRTK 2.7.2" too Hololens (1 Gen)

CyberBYTE24 avatar Jul 19 '21 10:07 CyberBYTE24

change render mode from single pass (Instanced) to multi pass may solve the problem.

zhangq08 avatar Aug 06 '21 09:08 zhangq08

change render mode from single pass (Instanced) to multi pass may solve the problem.

It unfortunately behaves the same in any rendering mode. 2019.4.23 with MRTK 2.7.2

graemeaj avatar Jan 06 '22 21:01 graemeaj

Also having this problem! Has anyone come across a solution yet?

ykaradayi avatar Mar 02 '22 23:03 ykaradayi

Came up to this problem today using Unity 2021.3.6f1 and MRTK 2.8.2.

Hope they come up with a solution soon.

epratt000 avatar Jul 21 '22 00:07 epratt000

Get this Bug Using Unity 2020.3.40f1c1 and MRTK3. with the Log: Argument Exception Invalid Shader

goodgoodstudy2021 avatar Oct 04 '22 00:10 goodgoodstudy2021

Hello all! I know this is an old issue, but it's had pretty consistent traffic over the last few years without a response. Our bad on that one.

MRTK doesn't do anything specific with post processing, so I'm guessing this is either a Unity issue or a configuration issue. Hopefully the latter, which will be easier to fix 😅

For anybody still looking at this thread:

  1. Are you using custom shaders or built-in Unity shaders?
    1. If a built-in, which shader are you using?
    2. If a custom, have you added the macros described on https://docs.unity3d.com/Manual/SinglePassInstancing.html under "Post-Processing shaders" (in addition to the macros in the general "Custom shaders" section as well)?
image

keveleigh avatar Oct 13 '22 19:10 keveleigh

Trust me its not a config or Unity issue, its very specific to MRTK. Unity's post processing supports VR, both for single pass and multipass. I know MRTK is doing something special when it comes to the camera's render target, its probably to do with that.

Waffle1434 avatar Oct 16 '22 19:10 Waffle1434

I know MRTK is doing something special when it comes to the camera's render target, its probably to do with that.

I'm not sure what this is referring to! Could you point me to where MRTK is doing something to the render target please?

keveleigh avatar Oct 18 '22 21:10 keveleigh

I am using the built-in Depth Of Field post processing blur effect for Hololens 2 myself, on Unity 2020.3.15f2 although I am open to updating it if a fix is found on another version.

It does seem to have something to do with multi vs single pass instancing but because it's built in and I have no experience with shaders, I've been unable to resolve this issue.

ykaradayi avatar Nov 02 '22 07:11 ykaradayi

This happened to us in a build on Unity 2021.3.12f1. Still an issue. MRTK 2.3.8.0. Kind of took us by surprise, because it doesn't happen when we use remoting and run the program inside of the Unity editor. Only happens in builds. :-/

CraftingHeroesSean avatar Apr 29 '23 03:04 CraftingHeroesSean

Has anyone resolved the issue? I'm on Unity 2021.3.3 LTS, MRTK 3. Never had the problem until I used both custom shader and built-in shader materials with emission/inner glow turned on and also used Post processing layer for camera. The run on the Hololens emulator is fine while not so much on the HoloLens2 device.

-- Update: Very strange that the issue still persists after I switched the camera back to default layer and turned off emission/innerglow on all the used materials.

-- Update 2: Strangely, it is working now after I changed the render mode from single pass (Instanced) to multi pass as @zhangq08 suggested. image

coltonix avatar Nov 07 '23 01:11 coltonix

We appreciate your feedback and thank you for reporting this issue.

Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.

Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.

Please note that MRTK3 was released in August 2023. It features an all-new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visit https://www.mixedrealitytoolkit.org.

Thank you for your continued support of the Mixed Reality Toolkit!

IssueSyncBot avatar Jan 13 '24 04:01 IssueSyncBot