/
RenderEngine.h
39 lines (28 loc) · 912 Bytes
/
RenderEngine.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once
#include "Scene.h"
#include "Sampling.h"
#include "IRenderEngine.h"
//////////////////////////////////////////////////////////////////////////
struct RenderSettings
{
explicit RenderSettings(const USHORT width, const USHORT height, const UINT maxSample,
const SamplingMethod sampMtd) :
m_width(width),
m_height(height),
m_maxSamples(maxSample),
m_sampMtd(sampMtd) {}
USHORT m_width = 512;
USHORT m_height = 512;
UINT m_maxSamples = 16000;
SamplingMethod m_sampMtd = SamplingMethod::UNIFORM;
};
class RenderFunction : public IRenderEngine
{
public:
explicit RenderFunction(RenderSettings& rendSett, Scene& scene, std::vector<float3>& points);
void Render() override;
private:
RenderSettings& m_rendSett;
Scene& m_scene;
std::vector<float3>& m_points;
};