SSAO experiment

This commit is contained in:
Robert Beckebans 2016-01-02 19:28:49 +01:00
parent 08c7b35fd1
commit e555e83119
13 changed files with 660 additions and 10 deletions

View file

@ -542,6 +542,23 @@ void R_SetupProjectionMatrix2( const viewDef_t* viewDef, const float zNear, cons
}
}
/*
=================
R_SetupUnprojection
create a matrix with similar functionality like gluUnproject, project from window space to world space
=================
*/
void R_SetupUnprojection( viewDef_t* viewDef )
{
R_MatrixFullInverse( viewDef->projectionMatrix, viewDef->unprojectionToCameraMatrix );
idRenderMatrix::Transpose( *( idRenderMatrix* )viewDef->unprojectionToCameraMatrix, viewDef->unprojectionToCameraRenderMatrix );
R_MatrixMultiply( viewDef->worldSpace.modelViewMatrix, viewDef->projectionMatrix, viewDef->unprojectionToWorldMatrix );
R_MatrixFullInverse( viewDef->unprojectionToWorldMatrix, viewDef->unprojectionToWorldMatrix );
idRenderMatrix::Transpose( *( idRenderMatrix* )viewDef->unprojectionToWorldMatrix, viewDef->unprojectionToWorldRenderMatrix );
}
void R_MatrixFullInverse( const float a[16], float r[16] )
{