Changed CMakeLists.txt to set the C standard to C11. Added multiple binary image files for new visual assets. Added several new image files to enhance rendering capabilities. Changed stb_image.h to improve support for various image formats. Changed ray tracing engine to enhance ray creation and intersection. Changed triangle structure to use a vertex array for better attribute handling. Changed scene initialization to accommodate new texture management.
27 lines
680 B
C
27 lines
680 B
C
#ifndef SCENE_H
|
|
#define SCENE_H
|
|
|
|
#include "Algorithm/BVH.h"
|
|
#include "Camera.h"
|
|
#include "Lighting/Light.h"
|
|
#include "Material/Material.h"
|
|
#include "Geometry/Triangle.h"
|
|
#include "Rendering/RenderTarget.h"
|
|
#include "Rendering/Texture.h"
|
|
|
|
typedef struct
|
|
{
|
|
camera_t camera;
|
|
bvh_tree_t bvh_tree;
|
|
triangle_collection_t triangles;
|
|
material_collection_t materials;
|
|
texture_collection_t textures;
|
|
light_collection_t lights;
|
|
} scene_t;
|
|
|
|
bool scene_init(scene_t* scene, uint64_t triangle_count, uint16_t texture_count, uint8_t material_count, uint32_t punctual_light_count);
|
|
bool scene_build_bvh(scene_t* scene);
|
|
void scene_free(scene_t* scene);
|
|
|
|
#endif // SCENE_H
|