Cross Platform Graphics APIs

Started by
12 comments, last by Anthony Serrano 6 years, 11 months ago
Oh! But what is the actual bottleneck?
I assume, APIs that are not supported do not work at all.
But what if the technology I bring to BGFX does not support DirectX or OpenGL ES?
I doubt that works, right?
Since I would rather not use a C-API on C++, especially for the lacking OO. Yes, can be implemented manually but I would rather not invest time into such, haha.
Advertisement

Because you can bring your own graphics API to it (e.g. SDL) and use that instead?

I think we should clear up this point quickly. Although SDL does have a 2D graphics API, in the context of 3D graphics it is just used as a windowing and input library.

Regardless of whether you use OpenGL, Direct3D, or an abstraction over both like bgfx, you still need to have windowing and input support from somewhere else, and that will typically be one of SDL, SFML, or GLFW (among about a dozen others).

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

So maybe I should just do a project in OpenGL for my desktop and care about all these other cross-platform-dream-idelogies in my head later, haha.


Yes, you should.

To go into a bit more detail on this. In general when providing a recommendation to somebody who is just starting out learning 3D APIs and who also wishes to go fully cross-platform with their very first project, I advise: don't. It's too much to deal with at one time; you're going to have your hands full learning a 3D API on a single platform as-is, without the additional complexity of wanting to be fully cross-platform too. Focus on learning one thing at a time, learn it well, and build on previous knowledge for subsequent projects; save the cross-platform aspirations for the second or third project, in other words.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

So maybe I should just do a project in OpenGL for my desktop and care about all these other cross-platform-dream-idelogies in my head later, haha.


Yes, you should.

To go into a bit more detail on this. In general when providing a recommendation to somebody who is just starting out learning 3D APIs and who also wishes to go fully cross-platform with their very first project, I advise: don't. It's too much to deal with at one time; you're going to have your hands full learning a 3D API on a single platform as-is, without the additional complexity of wanting to be fully cross-platform too. Focus on learning one thing at a time, learn it well, and build on previous knowledge for subsequent projects; save the cross-platform aspirations for the second or third project, in other words.

It's also worth mentioning that there's a lot more to being cross-platform than just using the right graphics API.

This topic is closed to new replies.

Advertisement