#pragma once #include #include #include #include #include namespace iris { struct ShaderDesc { // Name of the shader, filename if loaded from file std::string name; // Source code of the shader std::string source; // Shader type enum struct Type { eRayGen, eMiss, eClosestHit, eAnyHit, eIntersection, eCompute, } type; // Compiled binary std::vector compiled_binary; static Type shader_type_from_string(std::string_view type); ShaderDesc(const std::string_view path); }; } // namespace iris