aurora-rendering-engine/include/are/are.h

78 lines
1.7 KiB
C++

/**
* @file are.h
* @brief Aurora Rendering Engine - Main header file
*
* This header includes all public interfaces of the Aurora Rendering Engine.
* Users only need to include this single header to access all functionality.
*
* @author Ternary_Operator
* @version 1.0
*/
#ifndef ARE_INCLUDE_ARE_H
#define ARE_INCLUDE_ARE_H
// Core modules
#include <are/core/config.h>
#include <are/core/logger.h>
#include <are/core/types.h>
#include <are/core/profiler.h>
// Platform modules
#include <are/platform/window.h>
#include <are/platform/gl_context.h>
// Geometry modules
#include <are/geometry/vertex.h>
#include <are/geometry/triangle.h>
#include <are/geometry/aabb.h>
#include <are/geometry/transform.h>
// Scene modules
#include <are/scene/camera.h>
#include <are/scene/mesh.h>
#include <are/scene/material.h>
#include <are/scene/light.h>
#include <are/scene/directional_light.h>
#include <are/scene/point_light.h>
#include <are/scene/spot_light.h>
#include <are/scene/scene_manager.h>
// Acceleration modules
#include <are/acceleration/bvh.h>
// Renderer modules
#include <are/renderer/renderer.h>
#include <are/renderer/render_stats.h>
// Utility modules
#include <are/utils/image_io.h>
#include <are/utils/math_utils.h>
/**
* @namespace are
* @brief Main namespace for Aurora Rendering Engine
*/
namespace are {
/**
* @brief Get the version string of the engine
* @return Version string in format "major.minor.patch"
*/
const char* get_version();
/**
* @brief Initialize the Aurora Rendering Engine
* @return true if initialization succeeded, false otherwise
*/
bool initialize();
/**
* @brief Shutdown the Aurora Rendering Engine
*/
void shutdown();
} // namespace are
#endif // ARE_INCLUDE_ARE_H