Khaotic Engine Reborn
Loading...
Searching...
No Matches
font_shader_class.h
1#ifndef _FONTSHADERCLASS_H_
2#define _FONTSHADERCLASS_H_
3
4
6// INCLUDES //
8#include "Logger.h"
9#include <d3d11.h>
10#include <d3dcompiler.h>
11#include <directxmath.h>
12#include <fstream>
13using namespace DirectX;
14using namespace std;
15
16
18// Class name: font_shader_class
21{
22private:
23 struct matrix_buffer_type
24 {
25 XMMATRIX world;
26 XMMATRIX view;
27 XMMATRIX projection;
28 };
29
30 struct pixel_buffer_type
31 {
32 XMFLOAT4 pixelColor;
33 };
34
35public:
39
40 bool initialize(ID3D11Device*, HWND);
41 void shutdown();
42 bool render(ID3D11DeviceContext*, int, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4);
43
44private:
45 bool initialize_shader(ID3D11Device*, HWND, WCHAR*, WCHAR*);
46 void shutdown_shader();
47 void output_shader_error_message(ID3D10Blob*, HWND, WCHAR*);
48
49 bool set_shader_parameters(ID3D11DeviceContext*, XMMATRIX, XMMATRIX, XMMATRIX, ID3D11ShaderResourceView*, XMFLOAT4);
50 void render_shader(ID3D11DeviceContext*, int);
51
52private:
53 ID3D11VertexShader* vertex_shader_;
54 ID3D11PixelShader* pixel_shader_;
55 ID3D11InputLayout* layout_;
56 ID3D11Buffer* matrix_buffer_;
57 ID3D11SamplerState* sample_state_;
58 ID3D11Buffer* pixel_buffer_;
59
60};
61
62#endif