2 #include <msp/gl/immediate.h>
3 #include <msp/gl/matrix.h>
4 #include <msp/gl/transform.h>
5 #include <msp/time/units.h>
11 Packet::Packet(const Host &s, const Host *d, const GL::Color &c, unsigned i):
17 angle(rand()*180.0/RAND_MAX),
18 rspeed(rand()*180.0/RAND_MAX-90.0)
22 void Packet::tick(const Time::TimeDelta &dt)
24 double f=dt/Time::sec;
35 void Packet::render() const
39 const Vector2 &spos=src.get_position();
43 const Vector2 &dpos=dest->get_position();
44 GL::translate(spos.x*(1-x)+dpos.x*x, spos.y*(1-x)+dpos.y*x, 0);
45 GL::rotate(angle, 0, 0, 1);
47 GL::Immediate imm((GL::COLOR4_UBYTE,GL::VERTEX2));
49 imm.color(color.r, color.g, color.b, color.a);
50 imm.vertex(-size, -size);
51 imm.vertex(size, -size);
52 imm.vertex(size, size);
53 imm.vertex(-size, size);
58 GL::translate(spos.x, spos.y, 0);
59 GL::Immediate imm((GL::COLOR4_UBYTE,GL::VERTEX2));
60 imm.begin(GL::TRIANGLE_FAN);
61 imm.color(color.r, color.g, color.b, color.a*(1-x));
63 for(unsigned i=0; i<=24; ++i)
66 imm.vertex(cos(a)*x*200, sin(a)*x*200);