#ifndef XNA_GRAPHICS_BUFFER_HPP #define XNA_GRAPHICS_BUFFER_HPP #include "../default.hpp" #include "gresource.hpp" namespace xna { class ConstantBuffer : public GraphicsResource { public: ConstantBuffer(); ConstantBuffer(sptr const&); ~ConstantBuffer(); bool Initialize(xna_error_nullarg); public: struct PlatformImplementation; uptr impl = nullptr; }; class DataBuffer : public GraphicsResource { public: DataBuffer(); DataBuffer(sptr const&); ~DataBuffer(); bool Initialize(xna_error_nullarg); public: struct PlatformImplementation; uptr impl = nullptr; }; class IndexBuffer : public GraphicsResource { public: IndexBuffer(); IndexBuffer(sptr const&); ~IndexBuffer(); template bool Initialize(std::vector const& data, xna_error_nullarg); bool Apply(xna_error_nullarg); public: struct PlatformImplementation; uptr impl = nullptr; }; } #endif