@Ramoth - It's important to understand what endrift is doing with his code, and how OpenGL is working in that context. mGBA is basically grabbing the screen's pixel data (the final output of the emulated LCD, a 2D grid of pixels like a real GBA outputs) but rather than using SDL to draw it to the screen, OpenGL is creating a flat "2D" surface (e.g. no real "depth") and then drawing the screen's pixel data as a texture. It's not as if the GBA has any native idea what a texture is or how it should be drawn to the screen; programmers have to code 3D engines from scratch that handle and simulate all of that. So in short, that code has nothing to do with what's happening internally inside the GBA. All it's doing is taking the pixel data (calculated by the emulator) then passing it to OpenGL so OpenGL can do the actual drawing to your display.
The GBA only had 2D tiles in Modes 0-2. As I said, it could simulate textures, and this was usually done by using the bitmap graphics modes (usually Mode 4) to arbitrarily draw pixels anywhere on the screen. All of the textures would be handled and processed internally by the game's code. Talking about Mode 4 again, at the end of the frame, the GBA's LCD only knew that it was supposed to draw a 240x160 series of pixels. Whether those pixels represented a texture used by the game code or a title screen was none of its business.
The DS, obviously, uses textures and the hardware itself knows what they are and how to deal with them.
The GBA only had 2D tiles in Modes 0-2. As I said, it could simulate textures, and this was usually done by using the bitmap graphics modes (usually Mode 4) to arbitrarily draw pixels anywhere on the screen. All of the textures would be handled and processed internally by the game's code. Talking about Mode 4 again, at the end of the frame, the GBA's LCD only knew that it was supposed to draw a 240x160 series of pixels. Whether those pixels represented a texture used by the game code or a title screen was none of its business.
The DS, obviously, uses textures and the hardware itself knows what they are and how to deal with them.
