殺虫侍
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
renderer.h
[詳解]
1
7
#pragma once
8
#include "
triangle.h
"
9
#include "
shader.h
"
10
#include "
render_param.h
"
11
#include "
light.h
"
12
#include "
renderer_2d.h
"
13
20
class
Renderer
21
{
22
public
:
24
Renderer
();
25
27
~Renderer
();
28
34
bool
Initialize
(HWND hWindow);
35
37
void
Terminate
();
38
40
void
Draw
();
41
43
void
Swap
();
44
52
bool
CompileShader
(
const
WCHAR* vsPath,
const
WCHAR* psPath,
Shader
& outShader);
53
58
ID3D11Device*
GetDevice
() {
return
m_pD3DDevice; }
59
64
ID3D11DeviceContext*
GetDeviceContext
() {
return
m_pImmediateContext; }
65
70
RenderParam
GetRenderParam
() {
return
m_renderParam; }
71
77
bool
SetupViewTransform
(
const
DirectX::XMMATRIX& viewMat);
78
83
const
LightSet
&
GetLightSet
()
const
{
return
m_lightSet; }
84
89
void
SetEyePosLight
(DirectX::XMFLOAT4 eyePos);
90
95
IDXGISwapChain*
GetSwapChain
() {
return
m_pSwapChain; }
96
97
Shader
TextureSpecularShader
;
98
Shader
TextureShader
;
99
Shader
SimpleShader
;
100
Shader
SpecularShader
;
101
102
private
:
104
bool
initDeviceAndSwapChain(HWND hWindow);
106
bool
initBackBuffer();
108
bool
setupProjectionTransform();
110
bool
createLightBuffer();
112
void
setLight();
114
bool
createSamplerState();
116
void
compileShaders();
117
118
static
const
UINT FEATURE_LEVELS_NUM = 4;
119
D3D_FEATURE_LEVEL m_pFeatureLevels[FEATURE_LEVELS_NUM] = {};
120
D3D_FEATURE_LEVEL m_featureLevelsSupported;
121
122
ID3D11Device* m_pD3DDevice =
nullptr
;
123
ID3D11DeviceContext* m_pImmediateContext =
nullptr
;
124
IDXGISwapChain* m_pSwapChain =
nullptr
;
125
126
ID3D11RenderTargetView* m_pRenderTargetView =
nullptr
;
127
D3D11_VIEWPORT m_viewPort[1];
128
129
UINT m_backBufferNum = 3;
130
UINT m_screenWidth = 0;
131
UINT m_screenHeight = 0;
132
133
ID3D11BlendState* m_pBlendState =
nullptr
;
134
135
RenderParam
m_renderParam;
136
137
float
m_nearClipDist = 0.f;
138
float
m_farClipDist = 0.f;
139
float
m_fov = 0.f;
140
141
ID3D11DepthStencilView* m_pDepthStencilView =
nullptr
;
142
ID3D11DepthStencilState* m_pDepthState =
nullptr
;
143
144
LightSet
m_lightSet;
145
146
ID3D11SamplerState* m_samplerState =
nullptr
;
147
};
Renderer::TextureSpecularShader
Shader TextureSpecularShader
テクスチャ+スペキュラシェーダー
Definition
renderer.h:97
Renderer::Initialize
bool Initialize(HWND hWindow)
Direct3D デバイス・スワップチェーン・バックバッファを初期化する
Definition
renderer.cpp:20
Renderer::GetRenderParam
RenderParam GetRenderParam()
定数バッファセットを取得する
Definition
renderer.h:70
Renderer::GetDevice
ID3D11Device * GetDevice()
D3D デバイスポインタを取得する
Definition
renderer.h:58
Renderer::SimpleShader
Shader SimpleShader
頂点カラーのみシェーダー
Definition
renderer.h:99
Renderer::TextureShader
Shader TextureShader
テクスチャのみシェーダー
Definition
renderer.h:98
Renderer::GetDeviceContext
ID3D11DeviceContext * GetDeviceContext()
D3D デバイスコンテキストポインタを取得する
Definition
renderer.h:64
Renderer::Swap
void Swap()
バックバッファを画面に表示する
Definition
renderer.cpp:125
Renderer::Renderer
Renderer()
コンストラクタ
Definition
renderer.cpp:4
Renderer::Draw
void Draw()
バックバッファをクリアして描画を開始する
Definition
renderer.cpp:100
Renderer::SetupViewTransform
bool SetupViewTransform(const DirectX::XMMATRIX &viewMat)
ビュー変換行列を定数バッファに設定する
Definition
renderer.cpp:354
Renderer::CompileShader
bool CompileShader(const WCHAR *vsPath, const WCHAR *psPath, Shader &outShader)
頂点シェーダーとピクセルシェーダーをコンパイルする
Definition
renderer.cpp:240
Renderer::Terminate
void Terminate()
全 Direct3D リソースを解放する
Definition
renderer.cpp:222
Renderer::SetEyePosLight
void SetEyePosLight(DirectX::XMFLOAT4 eyePos)
ライトの視点座標を更新する
Definition
renderer.cpp:431
Renderer::SpecularShader
Shader SpecularShader
スペキュラのみシェーダー
Definition
renderer.h:100
Renderer::GetLightSet
const LightSet & GetLightSet() const
ライトセットを取得する
Definition
renderer.h:83
Renderer::GetSwapChain
IDXGISwapChain * GetSwapChain()
スワップチェーンポインタを取得する
Definition
renderer.h:95
Renderer::~Renderer
~Renderer()
デストラクタ
Definition
renderer.cpp:15
light.h
ライティング用定数バッファ構造体の定義
render_param.h
レンダリングに必要な定数バッファをまとめた構造体の定義
renderer_2d.h
Direct2D / DirectWrite を使用した 2D レンダラークラスの定義
shader.h
シェーダーリソースをまとめた構造体の定義
LightSet
ライト定数バッファのデータと GPU バッファをまとめた構造体
Definition
light.h:23
RenderParam
ワールド・プロジェクション・ビューの各定数バッファセットを集約する構造体
Definition
render_param.h:20
Shader
頂点シェーダー・ピクセルシェーダー・入力レイアウトを保持する構造体
Definition
shader.h:16
triangle.h
三角形ポリゴン構造体の定義
scripts
renderer
renderer.h
構築:
1.17.0