5 , m_shader(app->getShaders().get(
"sprite"))
20 glBufferData(GL_ARRAY_BUFFER,
sizeof(data), data, GL_STREAM_DRAW);
21 glBindBuffer(GL_ARRAY_BUFFER, 0);
23 glGenVertexArrays(1, &
m_vao);
24 glBindVertexArray(
m_vao);
28 glEnableVertexAttribArray(positionIndex);
29 glVertexAttribPointer(positionIndex, 4, GL_FLOAT, GL_FALSE, 0, 0);
32 glBindBuffer(GL_ARRAY_BUFFER, 0);
40 glDeleteVertexArrays(1, &
m_vao);
45 glDisable(GL_DEPTH_TEST);
46 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
51 glBindTexture(GL_TEXTURE_2D, 0);
53 glEnable(GL_DEPTH_TEST);
54 glDisable( GL_BLEND );
59 glBindVertexArray(
m_vao);
89 glDrawArrays(GL_TRIANGLES, 0, 6);
SpriteRenderer(Application *app)
static const uint position
void draw(vec4 const &color, vec2 position, vec2 const &scale, vec2 const &uv_scale, HAlign hAlign=HAlign::Left, VAlign vAlign=VAlign::Bottom)
virtual ~SpriteRenderer()
GLint uniform(string const &name)