27 class i_rendering_context;
28 class i_shader_program;
58 static const std::string sName =
"VertexPosition";
63 static const std::string sName =
"VertexColor";
68 static const std::string sName =
"VertexTextureCoord";
73 static const std::string sName =
"VertexFunction0";
78 static const std::string sName =
"VertexFunction1";
83 static const std::string sName =
"VertexFunction2";
88 static const std::string sName =
"VertexFunction3";
93 static const std::string sName =
"VertexFunction4";
97 throw std::logic_error(
"neogfx::standard_vertex_attribute_name");
103 return static_cast<vertex_buffer_type>(
static_cast<uint32_t
>(aLhs) |
static_cast<uint32_t
>(aRhs));
108 return static_cast<vertex_buffer_type>(
static_cast<uint32_t
>(aLhs) &
static_cast<uint32_t
>(aRhs));
126 virtual void reclaim(std::size_t aStartIndex, std::size_t aEndIndex) = 0;
virtual void detach_shader()=0
virtual ~i_vertex_buffer()=default
virtual void reclaim(std::size_t aStartIndex, std::size_t aEndIndex)=0
virtual i_vertex_provider & vertex_provider() const =0
virtual vertex_buffer_type buffer_type() const =0
virtual i_shader_program & attached_shader() const =0
virtual void attach_shader(i_rendering_context &aContext, i_shader_program &aShaderProgram)=0
constexpr style_aspect operator&(style_aspect aLhs, style_aspect aRhs)
constexpr style_aspect operator|(style_aspect aLhs, style_aspect aRhs)
std::string const & standard_vertex_attribute_name(vertex_buffer_type aType)