From 267bebfc227c94f543a39e2aa75fb101bc06932e Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Fri, 21 May 2010 19:24:51 +0200 Subject: Moved engine-sources to seperate subdirectory. --- engine/bulletpattern.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 engine/bulletpattern.cpp (limited to 'engine/bulletpattern.cpp') diff --git a/engine/bulletpattern.cpp b/engine/bulletpattern.cpp new file mode 100644 index 0000000..b4b5a31 --- /dev/null +++ b/engine/bulletpattern.cpp @@ -0,0 +1,43 @@ +#ifndef __APPLE__ +#include +#else +#include +#endif +#include +#include "bulletpattern.h" + +BulletPattern::BulletPattern() { + num_bullets = stride = color_g = color_b = 0; + color_r = 1; + bullets = new float[2048]; + + int k = 0; + + for(float i = 0; i < M_PI * 16; i += 0.1) { + bullets[k++] = 0.5 + cosf(i) * 0.05; + bullets[k++] = 0.5 + sinf(i) * 0.05; + bullets[k++] = cosf(i) / 10000.0; + bullets[k++] = sinf(i) / 10000.0; + } +} + +void BulletPattern::update(unsigned int time, unsigned int step) { + while(num_bullets < 503 && num_bullets * 4 < time) { + num_bullets++; + } + for(int i = 0; i < num_bullets; i++) { + bullets[i*4] += bullets[i*4 + 2] * step; + bullets[i*4 + 1] += bullets[i*4 + 3] * step; + } +} + +void BulletPattern::draw() { + glEnableClientState(GL_VERTEX_ARRAY); + + glVertexPointer(4, GL_FLOAT, 4 * sizeof(float) + stride, bullets); + + glDrawArrays(GL_POINTS, 0, num_bullets); + + glDisableClientState(GL_VERTEX_ARRAY); + +} -- cgit v1.2.3