Laid the basis for rendering
This commit is contained in:
@@ -24,7 +24,6 @@ class NAZARA_API NzMemoryManager
|
||||
static void NextFree(const char* file, unsigned int line);
|
||||
|
||||
private:
|
||||
static void EnsureInitialization();
|
||||
static void Initialize();
|
||||
static char* TimeInfo();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -39,7 +39,6 @@ template<typename T> class NzEulerAngles
|
||||
template<typename U> void Set(const NzEulerAngles<U>& angles);
|
||||
void SetZero();
|
||||
|
||||
//NzEulerAngles<T> ToEulerAngles() const;
|
||||
//NzMatrix3<T> ToRotationMatrix() const;
|
||||
NzQuaternion<T> ToQuaternion() const;
|
||||
NzString ToString() const;
|
||||
|
||||
@@ -55,6 +55,9 @@ class NAZARA_API NzBuffer : public NzResource
|
||||
|
||||
bool Fill(const void* data, unsigned int offset, unsigned int length);
|
||||
|
||||
void* GetBufferPtr();
|
||||
const void* GetBufferPtr() const;
|
||||
NzBufferImpl* GetImpl() const;
|
||||
unsigned int GetLength() const;
|
||||
unsigned int GetSize() const;
|
||||
nzBufferStorage GetStorage() const;
|
||||
@@ -67,7 +70,7 @@ class NAZARA_API NzBuffer : public NzResource
|
||||
void* Lock(nzBufferLock lock, unsigned int offset = 0, unsigned int length = 0);
|
||||
bool Unlock();
|
||||
|
||||
static bool IsHardwareSupported();
|
||||
static bool IsSupported(nzBufferStorage storage);
|
||||
|
||||
private:
|
||||
nzBufferStorage m_storage;
|
||||
|
||||
@@ -21,6 +21,8 @@ class NAZARA_API NzIndexBuffer
|
||||
bool Fill(const void* data, unsigned int offset, unsigned int length);
|
||||
|
||||
NzBuffer* GetBuffer() const;
|
||||
void* GetBufferPtr();
|
||||
const void* GetBufferPtr() const;
|
||||
nzUInt8 GetIndexSize() const;
|
||||
unsigned int GetIndexCount() const;
|
||||
unsigned int GetStartIndex() const;
|
||||
|
||||
@@ -8,19 +8,26 @@
|
||||
#define NAZARA_RENDERER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Renderer/IndexBuffer.hpp>
|
||||
#include <Nazara/Renderer/RenderTarget.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/VertexBuffer.hpp>
|
||||
|
||||
#define NazaraRenderer NzRenderer::Instance()
|
||||
|
||||
enum nzPrimitiveType
|
||||
{
|
||||
nzPrimitiveType_LineList,
|
||||
nzPrimitiveType_LineStrip,
|
||||
nzPrimitiveType_PointList,
|
||||
nzPrimitiveType_TriangleList,
|
||||
nzPrimitiveType_TriangleStrip,
|
||||
nzPrimitiveType_TriangleFan
|
||||
};
|
||||
|
||||
enum nzRendererCap
|
||||
{
|
||||
nzRendererCap_AnisotropicFilter,
|
||||
nzRendererCap_FP64,
|
||||
nzRendererCap_HardwareBuffer,
|
||||
nzRendererCap_MultipleRenderTargets,
|
||||
nzRendererCap_SoftwareBuffer,
|
||||
nzRendererCap_Texture3D,
|
||||
nzRendererCap_TextureCubemap,
|
||||
nzRendererCap_TextureMulti,
|
||||
@@ -36,6 +43,12 @@ enum nzRendererClear
|
||||
nzRendererClear_Stencil = 0x04
|
||||
};
|
||||
|
||||
class NzRenderTarget;
|
||||
class NzIndexBuffer;
|
||||
class NzShader;
|
||||
class NzVertexBuffer;
|
||||
class NzVertexDeclaration;
|
||||
|
||||
class NAZARA_API NzRenderer
|
||||
{
|
||||
public:
|
||||
@@ -44,6 +57,9 @@ class NAZARA_API NzRenderer
|
||||
|
||||
void Clear(nzRendererClear flags);
|
||||
|
||||
void DrawIndexedPrimitives(nzPrimitiveType primitive, unsigned int firstIndex, unsigned int indexCount);
|
||||
void DrawPrimitives(nzPrimitiveType primitive, unsigned int firstVertex, unsigned int vertexCount);
|
||||
|
||||
NzShader* GetShader() const;
|
||||
NzRenderTarget* GetTarget() const;
|
||||
|
||||
@@ -67,12 +83,15 @@ class NAZARA_API NzRenderer
|
||||
static NzRenderer* Instance();
|
||||
|
||||
private:
|
||||
bool UpdateVertexBuffer();
|
||||
|
||||
static NzRenderer* s_instance;
|
||||
|
||||
const NzIndexBuffer* m_indexBuffer;
|
||||
NzRenderTarget* m_target;
|
||||
NzShader* m_shader;
|
||||
const NzVertexBuffer* m_vertexBuffer;
|
||||
const NzVertexDeclaration* m_vertexDeclaration;
|
||||
bool m_capabilities[nzRendererCap_Count];
|
||||
bool m_vertexBufferUpdated;
|
||||
};
|
||||
|
||||
@@ -21,6 +21,8 @@ class NAZARA_API NzVertexBuffer
|
||||
bool Fill(const void* data, unsigned int offset, unsigned int length);
|
||||
|
||||
NzBuffer* GetBuffer() const;
|
||||
void* GetBufferPtr();
|
||||
const void* GetBufferPtr() const;
|
||||
unsigned int GetStartVertex() const;
|
||||
nzUInt8 GetTypeSize() const;
|
||||
unsigned int GetVertexCount() const;
|
||||
|
||||
@@ -23,11 +23,11 @@ enum nzElementType
|
||||
|
||||
enum nzElementUsage
|
||||
{
|
||||
nzElementType_Diffuse,
|
||||
nzElementType_Normal,
|
||||
nzElementType_Position,
|
||||
nzElementType_Tangent,
|
||||
nzElementType_TexCoord
|
||||
nzElementUsage_Diffuse,
|
||||
nzElementUsage_Normal,
|
||||
nzElementUsage_Position,
|
||||
nzElementUsage_Tangent,
|
||||
nzElementUsage_TexCoord
|
||||
};
|
||||
|
||||
struct NzVertexElement
|
||||
|
||||
Reference in New Issue
Block a user