Skip to content

Relax OpenGL requirements to support more platforms #97

Open
@assertivist

Description

Currently the game will not launch without being able to create an OpenGL 3.3 context. This is a pretty high bar, especially for ARM platforms, which mostly target OpenGL ES.

There are different ways to do this, one way I've read that people do it manually is just to try opening different contexts (OpenGL 3.3, then 2.x, then ES) until one works, and then adjust the shaders with text replacement and feature removal if thats necessary, to get them to compile against the target context.

AFAIK we do not use any features specific to OpenGL 3.3 that are not available in 2.x/ES, and it may be possible to adjust the shaders so that they will work against any of those contexts, but I haven't seen an easily digestible example of this yet.

I've also looked at ANGLE, which is a library Google uses to support graphics acceleration on multiple platforms. Lots of large open source projects use this, and I think it would be good to use, seeing as they have committed to delivering Metal support, which we may need for macos in the somewhat near future. I am not totally sure how much restructure of our code would be necessary to use it vs. the above approach.

Metadata

Labels

enhancementNew feature or requestgraphicsProblems with OpenGL or generally rendering relatedhelp wantedExtra attention is needed

Type

No type

Projects

  • Status

    In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions