Make RageDisplay_OGL::GetOrthoMatrix the default implementation.

This commit is contained in:
Glenn Maynard
2004-10-23 17:42:00 +00:00
parent 3d867ad714
commit e483125b9f
4 changed files with 14 additions and 12 deletions
+13
View File
@@ -604,6 +604,19 @@ RageDisplay::PixelFormat RageDisplay::FindPixelFormat(
return NUM_PIX_FORMATS;
}
/* These convert to OpenGL's coordinate system: -1,-1 is the bottom-left, +1,+1 is the
* top-right, and Z goes from -1 (viewer) to +1 (distance). It's a little odd, but
* very well-defined. */
RageMatrix RageDisplay::GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf )
{
RageMatrix m(
2/(r-l), 0, 0, 0,
0, 2/(t-b), 0, 0,
0, 0, -2/(zf-zn), 0,
-(r+l)/(r-l), -(t+b)/(t-b), -(zf+zn)/(zf-zn), 1 );
return m;
}
RageMatrix RageDisplay::GetFrustumMatrix( float l, float r, float b, float t, float zn, float zf )
{
// glFrustrum
+1 -1
View File
@@ -314,7 +314,7 @@ protected:
RageMatrix GetPerspectiveMatrix(float fovy, float aspect, float zNear, float zFar);
// Different for D3D and OpenGL. Not sure why they're not compatible. -Chris
virtual RageMatrix GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf ) = 0;
virtual RageMatrix GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf );
virtual RageMatrix GetFrustumMatrix( float l, float r, float b, float t, float zn, float zf );
//
-10
View File
@@ -1820,16 +1820,6 @@ void RageDisplay_OGL::SetAlphaTest( bool b )
glDisable( GL_ALPHA_TEST );
}
RageMatrix RageDisplay_OGL::GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf )
{
RageMatrix m(
2/(r-l), 0, 0, 0,
0, 2/(t-b), 0, 0,
0, 0, -2/(zf-zn), 0,
-(r+l)/(r-l), -(t+b)/(t-b), -(zf+zn)/(zf-zn), 1 );
return m;
}
/*
* Although we pair texture formats (eg. GL_RGB8) and surface formats
-1
View File
@@ -83,7 +83,6 @@ protected:
CString TryVideoMode( VideoModeParams params, bool &bNewDeviceOut );
RageSurface* CreateScreenshot();
void SetViewport(int shift_left, int shift_down);
RageMatrix GetOrthoMatrix( float l, float r, float b, float t, float zn, float zf );
PixelFormat GetImgPixelFormat( RageSurface* &img, bool &FreeImg, int width, int height, bool bPalettedTexture );
bool SupportsSurfaceFormat( PixelFormat pixfmt );