can MetalGL support opengl-es 2.0 and Metal API in one App?

This topic contains 2 replies, has 2 voices, and was last updated by 3 years, 5 months ago.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
  • #774

    I need to support Metal API in my APP.
    and I tested MetalGL sample demo.
    but It doesn’t simultaneously run opengl-es 2.0 and Metal API in an APP.
    the mean. i want to contain in an app.(ex. iphone4s run on open-gl es2.0. iphone5 or high device run on Metal)

    Vainglory game can run both iphone4s(opengl-es) and iphone5 or high device (metal api).

    how to solve on MetalGL?


    Bill Hollings

    MetalGL will automatically run native OpenGL ES when running on a 32-bit arm7 device like the iPhone 4S.

    You don’t need to do anything to enable this, but make sure that you are not forcing the value of the MGL_SUPPORT_OPENGL_ON_METAL build setting.

    For more info, you can review the Device Platforms and OpenGL System Classes section of the document.



    I response below e-mail about two week ago.
    i didn’t touch your sample. just compiled and ran on my ipad2.
    how can i run?


    In future, please submit support questions to the MetalGL forum.

    The samples supplied with MetalGL are designed to allow you to easily compare running the same app under Metal or OpenGL ES.

    To do this, the samples include the compiler build setting MGL_SUPPORT_OPENGL_ON_METAL, which you can turn on or off to select either Metal or OpenGL ES. You can learn more about this in the Comparing MetalGL against OpenGL ES section of the file.

    In the MetalGL sample apps, the default setting for this build setting is to enable Metal, which on a device that does not support Metal causes the issue that you have encountered. To allow a MetalGL sample app to run on a device that does not support Metal, you can either set the value of this build setting to 0 (MGL_SUPPORT_OPENGL_ON_METAL = 0), or remove the build setting from the app, and allow MetalGL to automatically determine whether or not to use Metal.

    In your own app, you would not include this build setting, and allow MetaGL to automatically determine whether or not to use Metal, based on the capabilities of each device.

    Bill Hollings
    The MetalGL Team

    On Dec 27, 2015, at 6:50 AM, Oneal Jang <> wrote:

    From: Oneal Jang <>
    Subject: unsupported device test with iPad2.

    Message Body:

    hi I’m a korea developer Oneal Jang.
    I just tested unsupported device with iPad2.
    if your app does not support Metal , use of the native OpenGL ES 2.0?

    [mgl-info] OpenGL functionality using Metal cannot be provided because Metal is not supported on this device. OpenGL functionality provided by native OpenGL framework.
    2015-12-27 20:31:26.701 ParticlesDemo[719:58052] -[__NSCFString nsli_description]: unrecognized selector sent to instance 0x16e6b700
    2015-12-27 20:31:26.703 ParticlesDemo[719:58052] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSCFString nsli_description]: unrecognized selector sent to instance 0x16e6b700’
    *** First throw call stack:
    (0x289040d7 0x36fa0c77 0x2890959d 0x28907479 0x28836708 0x297003d7 0x2970022d 0x297006cf 0x295756e9 0x288d8349 0x288d6685 0x288edc6b 0x29583dad 0x29583d2f 0x2c591eb9 0x2c04e341 0x2c04e299 0x2c04e20f 0x2c5920a1 0x2c0572a9 0x2c05721d 0x2c201017 0x297988a5 0x12a2a3 0x2c3f10fb 0x2c3f0d23 0x2c336c01 0x2c3f1085 0x2c3f0fdb 0x2c3f0d23 0x2c33630f 0x2c24d987 0x2c0816dd 0x2979aaa7 0x2bf65349 0x2bf652cd 0x2bf6b3f7 0x2bf68d6f 0x2bfd3e91 0x2c1c7347 0x2c1c990f 0x2c1d45e9 0x2c1c80c7 0x2f380ec1 0x288ca035 0x288c92f9 0x288c7e53 0x288136d1 0x288134e3 0x2bfca867 0x2bfc5445 0x10bda3 0x3756eaaf)
    libc++abi.dylib: terminating with uncaught exception of type NSException

    This e-mail was sent from a contact form on MetalGL (

Viewing 3 posts - 1 through 3 (of 3 total)

The forum ‘MoltenGL Support’ is closed to new topics and replies.