Incremental Engine  1.0.6
A 2D Game Engine to create Idle Games
IncrementalEngine::RenderingEngine Class Reference

#include <RenderingEngine.h>

Public Member Functions

 RenderingEngine (Config config)
 
virtual ~RenderingEngine ()
 
HRESULT Init (RenderWindow *renderWindow)
 
void Update (float dt)
 
HRESULT Draw (Drawable *target)
 
D3DImplementationGetDirect3DImplementation ()
 
RenderCameraGetCamera ()
 
ShaderManagerGetShaderManager ()
 

Private Attributes

Config _config
 
D3DImplementation_direct3D
 
RenderCamera_camera
 
ShaderManager_shaderManager
 

Detailed Description

Definition at line 14 of file RenderingEngine.h.

Constructor & Destructor Documentation

◆ RenderingEngine()

IncrementalEngine::RenderingEngine::RenderingEngine ( Config  config)

Definition at line 7 of file RenderingEngine.cpp.

7  :
8  _direct3D(NULL),
9  _camera(NULL),
10  _shaderManager(NULL),
11  _config(config)
12  {
13  }

◆ ~RenderingEngine()

IncrementalEngine::RenderingEngine::~RenderingEngine ( )
virtual

Definition at line 15 of file RenderingEngine.cpp.

16  {
17  CHECKED_DELETE(_direct3D);
18  CHECKED_DELETE(_camera);
19  CHECKED_DELETE(_shaderManager);
20  }

Member Function Documentation

◆ Draw()

HRESULT IncrementalEngine::RenderingEngine::Draw ( Drawable target)

Definition at line 68 of file RenderingEngine.cpp.

69  {
70  HRESULT result;
71 
73  _config.BackgroundColor.x / 255,
74  _config.BackgroundColor.y / 255,
75  _config.BackgroundColor.z / 255,
77  );
78 
79  _camera->Draw();
80 
81  result = _shaderManager->SetupFrame();
82  if (FAILED(result))
83  {
84  return CO_E_ERRORINAPP;
85  }
86 
87  result = target->Draw(_direct3D->GetDeviceContext());
88  if (FAILED(result))
89  {
90  return CO_E_ERRORINAPP;
91  }
92 
95 
96  return S_OK;
97  }

◆ GetCamera()

RenderCamera * IncrementalEngine::RenderingEngine::GetCamera ( )

Definition at line 105 of file RenderingEngine.cpp.

106  {
107  assert(_camera != nullptr, L"Camera must be initialized before call this method.");
108  return _camera;
109  }

◆ GetDirect3DImplementation()

D3DImplementation * IncrementalEngine::RenderingEngine::GetDirect3DImplementation ( )

Definition at line 99 of file RenderingEngine.cpp.

100  {
101  assert(_direct3D != nullptr, L"Direct3D must be initialized before call this method.");
102  return _direct3D;
103  }

◆ GetShaderManager()

ShaderManager * IncrementalEngine::RenderingEngine::GetShaderManager ( )

Definition at line 111 of file RenderingEngine.cpp.

112  {
113  assert(_shaderManager != nullptr, L"ShaderManager must be initialized before call this method.");
114  return _shaderManager;
115  }

◆ Init()

HRESULT IncrementalEngine::RenderingEngine::Init ( RenderWindow renderWindow)

Definition at line 22 of file RenderingEngine.cpp.

23  {
24  HRESULT result;
25 
26  _direct3D = new D3DImplementation(_config);
27  if (!_direct3D)
28  {
29  return CO_E_ERRORINAPP;
30  }
31 
32  result = _direct3D->Init(renderWindow);
33  if (FAILED(result))
34  {
35  MessageBox(renderWindow->GetHWND(), L"Could not initialize Direct3D.", L"Error", MB_OK);
36  return CO_E_ERRORINAPP;
37  }
38 
39  UpdateWindow(renderWindow->GetHWND());
40 
41  _camera = new RenderCamera;
42  if (!_camera)
43  {
44  return CO_E_ERRORINAPP;
45  }
46 
47  _camera->SetPosition(DEFAULT_2D_CAMERA_POSITION);
48 
49  _shaderManager = new ShaderManager;
50  if (!_shaderManager)
51  {
52  return CO_E_ERRORINAPP;
53  }
54 
55  result = _shaderManager->Init(_direct3D, _camera, renderWindow->GetHWND());
56  if (FAILED(result))
57  {
58  return CO_E_ERRORINAPP;
59  }
60 
61  return S_OK;
62  }

◆ Update()

void IncrementalEngine::RenderingEngine::Update ( float  dt)

Definition at line 64 of file RenderingEngine.cpp.

65  {
66  }

Member Data Documentation

◆ _camera

RenderCamera* IncrementalEngine::RenderingEngine::_camera
private

Definition at line 31 of file RenderingEngine.h.

◆ _config

Config IncrementalEngine::RenderingEngine::_config
private

Definition at line 29 of file RenderingEngine.h.

◆ _direct3D

D3DImplementation* IncrementalEngine::RenderingEngine::_direct3D
private

Definition at line 30 of file RenderingEngine.h.

◆ _shaderManager

ShaderManager* IncrementalEngine::RenderingEngine::_shaderManager
private

Definition at line 32 of file RenderingEngine.h.

IncrementalEngine::RenderingEngine::_config
Config _config
Definition: RenderingEngine.h:29
IncrementalEngine::RenderingEngine::_camera
RenderCamera * _camera
Definition: RenderingEngine.h:31
IncrementalEngine::RenderingEngine::_direct3D
D3DImplementation * _direct3D
Definition: RenderingEngine.h:30
IncrementalEngine::ShaderManager::SetupFrame
HRESULT SetupFrame()
Definition: ShaderManager.cpp:75
IncrementalEngine::RenderingEngine::_shaderManager
ShaderManager * _shaderManager
Definition: RenderingEngine.h:32
IncrementalEngine::D3DImplementation::Init
HRESULT Init(RenderWindow *renderWindow)
Definition: D3DImplementation.cpp:46
IncrementalEngine::RenderCamera::SetPosition
void SetPosition(float x, float y, float z)
Definition: RenderCamera.cpp:40
IncrementalEngine::ShaderManager::ClearFrame
void ClearFrame()
Definition: ShaderManager.cpp:121
IncrementalEngine::D3DImplementation::BeginScene
void BeginScene(float red, float green, float blue, float alpha)
Definition: D3DImplementation.cpp:98
IncrementalEngine::D3DImplementation::EndScene
void EndScene()
Definition: D3DImplementation.cpp:106
IncrementalEngine::D3DImplementation::GetDeviceContext
ID3D11DeviceContext * GetDeviceContext()
Definition: D3DImplementation.cpp:475
IncrementalEngine::RenderCamera::Draw
void Draw()
Definition: RenderCamera.cpp:16
IncrementalEngine::Config::BackgroundColor
D3DXVECTOR4 BackgroundColor
Definition: Config.h:29
IncrementalEngine::ShaderManager::Init
HRESULT Init(D3DImplementation *direct3D, RenderCamera *camera, HWND hWnd)
Definition: ShaderManager.cpp:19