summaryrefslogtreecommitdiff
path: root/pointsprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pointsprite.cpp')
-rw-r--r--pointsprite.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/pointsprite.cpp b/pointsprite.cpp
new file mode 100644
index 0000000..85a61b9
--- /dev/null
+++ b/pointsprite.cpp
@@ -0,0 +1,24 @@
+#include "pointsprite.h"
+
+#include "SDL/SDL_opengl.h"
+
+PointSprite::PointSprite(float _size, const Texture& _texture) : texture(_texture) {
+ size = _size;
+}
+
+void PointSprite::draw(const Vector2& pos) const {
+ texture.bind();
+ glPointSize(size);
+
+ glBegin(GL_POINTS);
+ glVertex2f(pos.x, pos.y);
+ glEnd();
+}
+
+void PointSprite::draw_array(void* ptr, unsigned int coords, unsigned int stride, unsigned int first, unsigned int num) {
+ texture.bind();
+ glPointSize(size);
+
+ glVertexPointer(coords, GL_FLOAT, stride, ptr);
+ glDrawArrays(GL_POINTS, first, num);
+} \ No newline at end of file