Rework OpenGL renderer.

The OpenGL renderer has been revised, with the following changes:
 - Initialization and rendering have been refactored to reduce the number of
   redundant objects used.
 - Framebuffer rotation is now done directly, using texture mapping.
 - Vertex coordinates are now given in pixels, and the projection matrix
   isn't hardcoded anymore.
This commit is contained in:
Yuri Kunde Schlesner
2014-08-28 15:21:54 -03:00
committed by Tony Wasserka
parent fec7f6b035
commit 11642fd3a2
4 changed files with 185 additions and 225 deletions

View File

@ -17,6 +17,10 @@ namespace VideoCore {
// 3DS Video Constants
// -------------------
// NOTE: The LCDs actually rotate the image 90 degrees when displaying. Because of that the
// framebuffers in video memory are stored in column-major order and rendered sideways, causing
// the widths and heights of the framebuffers read by the LCD to be switched compared to the
// heights and widths of the screens listed here.
static const int kScreenTopWidth = 400; ///< 3DS top screen width
static const int kScreenTopHeight = 240; ///< 3DS top screen height
static const int kScreenBottomWidth = 320; ///< 3DS bottom screen width