Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
DirectX10.hpp
1
2
#pragma once
3
#include <wrl.h>
4
#include "GraphicApi.hpp"
5
6
struct
ID3D10Device;
7
struct
IDXGISwapChain;
8
struct
ID3D10RenderTargetView;
9
struct
ID3D10DepthStencilView;
10
struct
ID3D10RasterizerState;
11
12
namespace
covellite
13
{
14
15
namespace
api
16
{
17
18
namespace
renderer
19
{
20
47
class
DirectX10 final :
48
public
GraphicApi
49
{
50
template
<
class
T>
51
using
ComPtr_t = ::Microsoft::WRL::ComPtr<T>;
52
using
Renders_t = ::std::vector<Render_t>;
53
54
public
:
55
// Интерфейс IGraphicApi:
56
String_t GetUsingApi(
void
)
const override
;
57
void
PresentFrame(
void
)
override
;
58
void
ResizeWindow(
const
Rect &)
override
;
59
60
protected
:
61
// Интерфейс GraphicApi:
62
Render_t CreateCamera(
const
ComponentPtr_t &)
override
;
63
Render_t CreateBkSurface(
const
ComponentPtr_t &)
override
;
64
Render_t CreateState(
const
ComponentPtr_t &)
override
;
65
Render_t CreateTexture(
const
ComponentPtr_t &)
override
;
66
Render_t CreateTextureArray(
const
ComponentPtr_t &)
override
{
throw
STD_EXCEPTION <<
"Not Release!!!"
; }
67
Render_t CreateShader(
const
ComponentPtr_t &)
override
;
68
Render_t CreateBuffer(
const
ComponentPtr_t &)
override
;
69
Render_t CreateTransform(
const
ComponentPtr_t &)
override
;
70
Render_t CreatePresentBuffer(
const
ComponentPtr_t &)
override
;
71
72
private
:
73
void
SetViewport(
const
UINT,
const
UINT);
74
Render_t CreateBlendState(
bool
);
75
Render_t GetDepthState(
bool
,
bool
,
bool
);
76
Render_t CreateBasePreRenderGeometry(
const
ComponentPtr_t &);
77
Render_t CreateStaticPreRenderGeometry(
const
ComponentPtr_t &);
78
Render_t CreateBillboardPreRenderGeometry(
const
ComponentPtr_t &);
79
80
private
:
81
ComPtr_t<ID3D10Device> m_pDevice;
82
ComPtr_t<IDXGISwapChain> m_pSwapChain;
83
ComPtr_t<ID3D10RasterizerState> m_pDefaultRasterizerState;
84
// Screen render targets
85
ComPtr_t<ID3D10RenderTargetView> m_pScreenRenderTargetView;
86
ComPtr_t<ID3D10DepthStencilView> m_pScreenDepthStencilView;
87
// Active render targets
88
::std::vector<ID3D10RenderTargetView *> m_CurrentRenderTargets;
89
ComPtr_t<ID3D10DepthStencilView> m_pCurrentDepthStencilView;
90
91
private
:
92
class
Buffer;
93
template
<
class
>
94
class
ConstantBuffer;
95
class
Texture;
96
97
public
:
98
explicit
DirectX10(
const
Data_t &);
99
DirectX10(
const
DirectX10 &) =
delete
;
100
DirectX10(DirectX10 &&) =
delete
;
101
DirectX10 & operator= (
const
DirectX10 &) =
delete
;
102
DirectX10 & operator= (DirectX10 &&) =
delete
;
103
~DirectX10(
void
);
104
};
105
106
FACTORY_REGISTER_STRING_NAME(
DirectX10
);
107
108
}
// namespace renderer
109
110
}
// namespace api
111
112
}
// namespace covellite
covellite::api::renderer::DirectX10
Класс входит в проект Covellite.Api Реализация рендера графического API для Windows/DirectX10.
Определения
DirectX10.hpp:49
Solution
Solution
Covellite.Api
Covellite.Api
Renderer
DirectX10.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0