2013-11-26 13:44:58 +01:00
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "..\Model\Model.h"
|
|
|
|
#include "OysterMath.h"
|
|
|
|
#include <Windows.h>
|
|
|
|
|
2013-12-04 09:36:43 +01:00
|
|
|
#ifdef GFX_DLL_EXPORT
|
2013-11-26 15:33:05 +01:00
|
|
|
#define GFX_DLL_USAGE __declspec(dllexport)
|
|
|
|
#else
|
2013-12-04 09:36:43 +01:00
|
|
|
#define GFX_DLL_USAGE
|
2013-11-26 15:33:05 +01:00
|
|
|
#endif
|
|
|
|
|
2013-11-26 13:44:58 +01:00
|
|
|
namespace Oyster
|
|
|
|
{
|
|
|
|
namespace Graphics
|
|
|
|
{
|
2013-11-26 15:33:05 +01:00
|
|
|
class GFX_DLL_USAGE API
|
2013-11-26 13:44:58 +01:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum State
|
|
|
|
{
|
|
|
|
Sucsess,
|
|
|
|
Fail
|
|
|
|
};
|
|
|
|
struct Option
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2013-11-26 15:33:05 +01:00
|
|
|
static State Init(HWND Window, bool MSAA_Quality, bool Fullscreen, Oyster::Math::Float2 StartResulotion);
|
2013-11-29 10:25:27 +01:00
|
|
|
static void Clean();
|
2013-12-05 14:56:34 +01:00
|
|
|
|
|
|
|
static void SetView(Oyster::Math::Float4x4& View);
|
|
|
|
static void SetProjection(Oyster::Math::Float4x4& Projection);
|
|
|
|
|
|
|
|
//! @brief will internally use last values from SetView and SetProjection
|
|
|
|
static void NewFrame();
|
|
|
|
static void RenderScene(Oyster::Graphics::Model::Model models[], int count);
|
|
|
|
static void RenderModel(Oyster::Graphics::Model::Model& model);
|
2013-11-26 13:44:58 +01:00
|
|
|
static void EndFrame();
|
|
|
|
|
|
|
|
static Oyster::Graphics::Model::Model* CreateModel(std::wstring filename);
|
|
|
|
static void DeleteModel(Oyster::Graphics::Model::Model* model);
|
|
|
|
|
|
|
|
static State SetOptions(Option);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|