Search Unity

iOS Broken rendering - Metal API

Discussion in 'iOS and tvOS' started by AviadorC, Aug 2, 2018.

  1. AviadorC

    AviadorC

    Joined:
    Jan 27, 2018
    Posts:
    1
    Hello,

    I'm writing here because after traveling around forums and internet I have not found satisfying solution. I'm working now on new iOS game and we have huge rendering problem.

    On iOS devices our objects render only as fully white objects without any lighting (i will attach screenshots). I found that problem lays in not supported shaders while using Metal API (It's weird that default shader does not work).

    I would gladly change to OpenGLES which manages to work fine, but Apple annouced that OpenGLES is going obsolete. It would be weird to develop new game while knowing that it's graphics API will be deprecated in a matter of months.

    Can anyone suggest me what shaders should I use to make iOS Metal Api work? I found out that using Standard Shader with Rendering mode changed to Fade solves some of the problems but generates new - like semi-transparent objects which should be 100% opaque, or bad rendering order.

    PS. In Attachments I add two screen captures from my problem. One uses OpenGLES other Metal. Using Metal results in non rendered - fully white object. I tried using some other shaders like Mobile/Diffuse - but it generated actually the same result

    If you could help me I would be grateful, or maybe it should be reported as a bug?
     

    Attached Files:

  2. thesanketkale

    thesanketkale

    Joined:
    Dec 14, 2016
    Posts:
    65
    Hi @AviadorC
    Did you manage to find a solution to this issue?
    I ran into the same problem wherein a transparent shader on a plane turns completely opaque if I use Metal graphics API, but works fine with OpenGLES3 or 2 in iPhone 5S and 6 with iOS 12.1.4 and unity 2018.2.14.
     
  3. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Does using forward rendering fix the issue?