Avara3D 0.2.0
C++ API reference
GLSLPreprocessor.h
1//
2// GLSLPreprocessor.h
3// avara3d
4//
5// Created by Morgan Davis on 8/9/26.
6// Copyright © 2026 Morgan K Davis. All rights reserved.
7//
8
9#ifndef AVARA3D_RENDER_BACKEND_OPENGL_GLSLPREPROCESSOR_H
10#define AVARA3D_RENDER_BACKEND_OPENGL_GLSLPREPROCESSOR_H
11
12#include <functional>
13#include <optional>
14#include <string>
15
16namespace a3d {
17
18 class GLSLPreprocessor {
19
20 public:
21 // [Internal Types]
22
23 using IncludeResolver = std::function<std::optional<std::string>(const std::string&)>;
24
25 // [Internal Static Functions]
26
27 static std::string Process(const std::string& source,
28 const std::string& sourceName,
29 const IncludeResolver& includeResolver);
30 };
31
32}
33
34#endif // AVARA3D_RENDER_BACKEND_OPENGL_GLSLPREPROCESSOR_H