#pragma once #include "../../types.hpp" #include #include namespace amalgine { class CompiledVertexShader { friend class VertexShader; public: ~CompiledVertexShader(); u32 getShaderId() const; private: CompiledVertexShader(u32 _shaderId); private: u32 shaderId; }; class CompiledPixelShader { friend class PixelShader; public: ~CompiledPixelShader(); u32 getShaderId() const; const auto& getPixelAttributes() const { return pixelAttributes; } private: CompiledPixelShader(u32 _shaderId, std::unordered_map &&_pixelAttributes); private: u32 shaderId; std::unordered_map pixelAttributes; }; }