88 lines
2.2 KiB
C++
88 lines
2.2 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// Filename: d3dclass.h
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifndef _D3DCLASS_H_
|
|
#define _D3DCLASS_H_
|
|
|
|
|
|
/////////////
|
|
// LINKING //
|
|
/////////////
|
|
#pragma comment(lib, "d3d11.lib")
|
|
#pragma comment(lib, "dxgi.lib")
|
|
#pragma comment(lib, "d3dcompiler.lib")
|
|
|
|
|
|
//////////////
|
|
// INCLUDES //
|
|
//////////////
|
|
#include "imguiManager.h"
|
|
#include "d3d11.h"
|
|
#include "fontshaderclass.h"
|
|
#include "fontclass.h"
|
|
#include "textclass.h"
|
|
|
|
using namespace DirectX;
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Class name: D3DClass
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
class D3DClass
|
|
{
|
|
public:
|
|
D3DClass();
|
|
D3DClass(const D3DClass&);
|
|
~D3DClass();
|
|
|
|
bool Initialize(int, int, bool, HWND, bool, float, float);
|
|
void Shutdown();
|
|
|
|
void BeginScene(float, float, float, float);
|
|
void EndScene();
|
|
|
|
ID3D11Device* GetDevice();
|
|
ID3D11DeviceContext* GetDeviceContext();
|
|
XMMATRIX GetProjectionMatrix(XMMATRIX& projectionMatrix);
|
|
IDXGISwapChain* m_swapChain;
|
|
IDXGISwapChain* GetSwapChain();
|
|
void ResizeSwapChain(int, int);
|
|
|
|
XMMATRIX GetProjectionMatrix();
|
|
void GetWorldMatrix(XMMATRIX&);
|
|
void GetOrthoMatrix(XMMATRIX&);
|
|
|
|
void GetVideoCardInfo(char*, int&);
|
|
|
|
void SetBackBufferRenderTarget();
|
|
void ResetViewport();
|
|
|
|
void ReleaseResources();
|
|
void ResetResources(int newWidth, int newHeight);
|
|
|
|
void TurnZBufferOn();
|
|
void TurnZBufferOff();
|
|
|
|
void EnableAlphaBlending();
|
|
void DisableAlphaBlending();
|
|
|
|
private:
|
|
bool m_vsync_enabled;
|
|
int m_videoCardMemory;
|
|
char m_videoCardDescription[128];
|
|
ID3D11Device* m_device;
|
|
ID3D11DeviceContext* m_deviceContext;
|
|
ID3D11RenderTargetView* m_renderTargetView;
|
|
ID3D11Texture2D* m_depthStencilBuffer;
|
|
ID3D11DepthStencilState* m_depthStencilState;
|
|
ID3D11DepthStencilView* m_depthStencilView;
|
|
ID3D11RasterizerState* m_rasterState;
|
|
XMMATRIX m_projectionMatrix;
|
|
XMMATRIX m_worldMatrix;
|
|
XMMATRIX m_orthoMatrix;
|
|
D3D11_VIEWPORT m_viewport;
|
|
ID3D11DepthStencilState* m_depthDisabledStencilState;
|
|
ID3D11BlendState* m_alphaEnableBlendingState;
|
|
ID3D11BlendState* m_alphaDisableBlendingState;
|
|
};
|
|
|
|
#endif |