90 lines
2.4 KiB
C++
90 lines
2.4 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 "font_shader_class.h"
|
|
#include "font_class.h"
|
|
#include "text_class.h"
|
|
|
|
using namespace DirectX;
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Class name: d_3d_class
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
class d_3d_class
|
|
{
|
|
public:
|
|
d_3d_class();
|
|
d_3d_class(const d_3d_class&);
|
|
~d_3d_class();
|
|
|
|
virtual bool initialize(int, int, bool, HWND, bool, float, float);
|
|
void shutdown();
|
|
|
|
virtual void begin_scene(float, float, float, float);
|
|
virtual void end_scene();
|
|
|
|
ID3D11Device* get_device();
|
|
ID3D11DeviceContext* get_device_context();
|
|
//XMMATRIX get_projection_matrix(XMMATRIX& projectionMatrix);
|
|
IDXGISwapChain* swap_chain;
|
|
IDXGISwapChain* get_swap_chain();
|
|
void resize_swap_chain(int, int);
|
|
void set_vsync(bool vsync);
|
|
|
|
|
|
XMMATRIX get_projection_matrix() const { return projection_matrix_; };
|
|
XMMATRIX get_world_matrix() const { return world_matrix_;};
|
|
XMMATRIX get_ortho_matrix() const { return ortho_matrix_; };
|
|
|
|
void get_video_card_info(char*, int&);
|
|
|
|
void set_back_buffer_render_target();
|
|
void reset_viewport();
|
|
|
|
void release_resources();
|
|
void reset_resources(int newWidth, int newHeight);
|
|
|
|
void turn_z_buffer_on();
|
|
void turn_z_buffer_off();
|
|
|
|
void enable_alpha_blending();
|
|
void disable_alpha_blending();
|
|
|
|
private:
|
|
bool vsync_enabled_;
|
|
int video_card_memory_;
|
|
char video_card_description_[128];
|
|
ID3D11Device* device_;
|
|
ID3D11DeviceContext* device_context_;
|
|
ID3D11RenderTargetView* render_target_view_;
|
|
ID3D11Texture2D* depth_stencil_buffer_;
|
|
ID3D11DepthStencilState* depth_stencil_state_;
|
|
ID3D11DepthStencilView* depth_stencil_view_;
|
|
ID3D11RasterizerState* raster_state_;
|
|
XMMATRIX projection_matrix_;
|
|
XMMATRIX world_matrix_;
|
|
XMMATRIX ortho_matrix_;
|
|
D3D11_VIEWPORT viewport_;
|
|
ID3D11DepthStencilState* depth_disabled_stencil_state_;
|
|
ID3D11BlendState* alpha_enable_blending_state_;
|
|
ID3D11BlendState* alpha_disable_blending_state_;
|
|
};
|
|
|
|
#endif |