Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a system of Profiles to Inochi2D #23

Open
LunaTheFoxgirl opened this issue Sep 22, 2022 · 0 comments
Open

Add a system of Profiles to Inochi2D #23

LunaTheFoxgirl opened this issue Sep 22, 2022 · 0 comments
Labels
Enhancement New feature or request
Milestone

Comments

@LunaTheFoxgirl
Copy link
Member

LunaTheFoxgirl commented Sep 22, 2022

Certain features I want to implement in Inochi2D may not work on mobile devices, or some PCs and games consoles, there needs to be a useful distinction between them. As such I've decided together with @asahilina to split Inochi2D in to 3 profiles:

Profiles are listed in order of their level (0-2), profiles will inherit all the features from the lower levels.

  • Core (level 0)
    • Contains all the core functionality in Inochi2D that will be portable across devices like Android smartphones
    • GL Level is GL 2.1 or GL ES 1*
  • Standard (level 1)
    • Contains the standard feature set that will work on most devices, but are not ensured to work on mobile devices.
    • This is what most people would target as it would be supported on PCs, a lot of ARM devices and games consoles
    • GL Level is GL 3.1 w/ extensions or GL ES 2*
  • Experimental (level 2)
    • Experimental features that may get removed or which do not support a large portion of hardware.
    • Features can be promoted to Standard if they get well implemented enough and can be made to work on GL 3.1 and below.
    • GL level is GL 3.2+ (Excluding Geometry Shaders) and Vulkan.

A large portion of the spec will be in the Core profile and it will be useful for many cases.
For some cases, eg. cases that require more advanced driver features like SPIR-V support, Standard and above is the version target.

* = OpenGL ES support is TODO.

@LunaTheFoxgirl LunaTheFoxgirl added the Enhancement New feature or request label Sep 23, 2022
@LunaTheFoxgirl LunaTheFoxgirl added this to the 1.0 milestone Apr 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant