Reworked (fixed and optimized) matrix handling

Former-commit-id: 6148748da07e228a746f51950231126b036b05eb
This commit is contained in:
Lynix
2013-06-27 19:04:22 +02:00
parent 30cb518c74
commit 7172ceaa6b
3 changed files with 133 additions and 128 deletions

View File

@@ -53,11 +53,17 @@ enum nzFaceFilling
enum nzMatrixType
{
// Matrices de base
nzMatrixType_Projection,
nzMatrixType_View,
nzMatrixType_World,
nzMatrixType_Max = nzMatrixType_World
// Matrices combinées
nzMatrixType_ViewProj,
nzMatrixType_WorldView,
nzMatrixType_WorldViewProj,
nzMatrixType_Max = nzMatrixType_WorldViewProj
};
enum nzPixelBufferType

View File

@@ -37,18 +37,17 @@ class NAZARA_API NzRenderer
static void Clear(unsigned long flags = nzRendererClear_Color | nzRendererClear_Depth);
static void DrawFullscreenQuad();
static void DrawIndexedPrimitives(nzPrimitiveMode mode, unsigned int firstIndex, unsigned int indexCount);
static void DrawIndexedPrimitivesInstanced(unsigned int instanceCount, nzPrimitiveMode mode, unsigned int firstIndex, unsigned int indexCount);
static void DrawPrimitives(nzPrimitiveMode mode, unsigned int firstVertex, unsigned int vertexCount);
static void DrawPrimitivesInstanced(unsigned int instanceCount, nzPrimitiveMode mode, unsigned int firstVertex, unsigned int vertexCount);
static void DrawFullscreenQuad();
static void Enable(nzRendererParameter parameter, bool enable);
static void Flush();
static float GetLineWidth();
//static NzMatrix4f GetMatrix(nzMatrixCombination combination);
static NzMatrix4f GetMatrix(nzMatrixType type);
static nzUInt8 GetMaxAnisotropyLevel();
static unsigned int GetMaxRenderTargets();
@@ -100,6 +99,7 @@ class NAZARA_API NzRenderer
private:
static void EnableInstancing(bool instancing);
static bool EnsureStateUpdate();
static void UpdateMatrix(nzMatrixType type);
static unsigned int s_moduleReferenceCounter;
};