This is a fun, complex question.
The short answer is there is no reason to change anything
, the system will choose the best renderer on its own.
If you're playing on Windows, your exported games are likely running DirectX by default, albeit in a very indirect way.
For a more in-depth exploration, it's worth reviewing the stack of technology:
- For most graphics (excluding text*), it uses the library PixiJS
- WebGL is based on OpenGL, a competitor to DirectX
- When you run a game, all those lines of code need to be interpreted by an engine and transformed into code that can be understood by your CPU and GPU
- RPGMZ games can run in a browser, or if you export it for Windows/Mac/Linux, it runs in a browser-like environment called nwjs
- nwjs is made up from components of Chromium (the open-source version of Google's Chrome browser)
- The graphical API layer of Chromium is ANGLE
- ANGLE translates OpenGL calls to whichever API is supported by the platform it runs on
- The default on most Windows machines is to use Direct3D 11, a subset of DirectX
* Chromium also uses ANGLE for its canvas implementation. So even the graphics functions using Canvas instead of WebGL are translated through ANGLE.
Can you change the rendering back-end?
I think so, although I haven't tested this.
nwjs supports most Chromium command line switches
via the package.json file
It looks like the "use-angle" switch accepts these values:
So to indicate you want Direct3D as your preferred renderer, you would insert "--use-angle=d3d11"
in the "chromium-args"
field of your game's package.json file.
Is it worth doing this? No, probably not. But it's fun to learn about the convoluted world of web technology.
Edit notice: I edited a few lines to make it clear I'm focused on the technology of exported games, not on the Maker itself.