RayMarching  0.0.1
Simple 3D engine based on a ray marching rendering
settings.h
1 #ifndef RAYMARCHING_SETTINGS_H
2 #define RAYMARCHING_SETTINGS_H
3 
4 #include <thread>
5 #include <const.h>
6 
7 namespace RayMarching {
13  typedef struct Settings {
14  // General
15  unsigned int width;
16  unsigned int height;
17  double viewAngle;
18  // Technical
19  unsigned int threads;
20  bool interlace;
21  // Quality
22  unsigned int maxReflections;
23  unsigned int maxSteps;
24  double maxDistance;
25  double epsilon;
30  : width(WIDTH), height(HEIGHT), viewAngle(VIEW_ANGLE),
31  threads(std::thread::hardware_concurrency()), interlace(true),
32  maxReflections(MAX_REFLECTIONS), maxSteps(MAX_STEPS), maxDistance(MAX_DISTANCE),
33  epsilon(EPSILON) {};
35 }
36 
37 #endif //RAYMARCHING_SETTINGS_H
Namespace containing all tools implemented within RayMarching package.
Definition: algebra.h:9
struct RayMarching::Settings Settings_t
Container for const Camera Settings.
Container for const Camera Settings.
Definition: settings.h:13
Settings()
Definition: settings.h:29
double epsilon
Definition: settings.h:25
unsigned int threads
Definition: settings.h:19
bool interlace
Definition: settings.h:20
unsigned int maxSteps
Definition: settings.h:23
unsigned int height
Definition: settings.h:16
unsigned int maxReflections
Definition: settings.h:22
unsigned int width
Definition: settings.h:15
double viewAngle
Definition: settings.h:17
double maxDistance
Definition: settings.h:24