// Copyright (C) 2017 Jérôme Leclercq // This file is part of the "Nazara Engine - Graphics module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_MATERIALSETTINGS_HPP #define NAZARA_MATERIALSETTINGS_HPP #include #include #include #include #include #include #include #include #include namespace Nz { class UberShader; class MaterialSettings { public: struct Builder; struct Option; struct SharedUniformBlock; struct Texture; struct UniformBlock; inline MaterialSettings(); inline MaterialSettings(Builder builder); MaterialSettings(const MaterialSettings&) = default; MaterialSettings(MaterialSettings&&) = delete; ~MaterialSettings() = default; inline const Builder& GetBuilderData() const; inline const std::vector