rendering bullets in asteroids game

Started by
6 comments, last by fastcall22 12 years, 3 months ago
well I want to draw a single bullet and move it on the screen for an asteroids game
here is the code I am using
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]void[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"][color="#000000"] RenderBullet()[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]glColor3f(0.0f,1.0f,0.0f);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]glBegin(GL_POINTS);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]glVertex3f(0.0f,0.5f+k,0.0f);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]glEnd();[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]k+=0.1f;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]glutSwapBuffers();[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
Advertisement
Swap buffers only once after you have drawn everything. Don't do it for every bullet, makes no sense.

Derp

can you post some code

[font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff][font=Consolas][size=2][color=#0000ff]void[/font][/font][/font][font=Consolas][size=2][font=Consolas][size=2][color=#000000] RenderBullet()[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]{[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]glColor3f(0.0f,1.0f,0.0f);[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]glBegin(GL_POINTS);[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]glVertex3f(0.0f,0.5f+k,0.0f);[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]glEnd();[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]k+=0.1f;[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]glutSwapBuffers();[/font][/font]
[font=Consolas][size=2][font=Consolas][size=2]}[/font][/font]

[source]
void RenderFunctionName()
{
// Prepare OGL scene (clearBufferBit, etc.)

// Draw scene
DrawAstroids();
DrawBullets();

// Swap buffers
glutSwapBuffers();
}
[/source]
"What? It disintegrated. By definition, it cannot be fixed." - Gru - Dispicable me

"Dude, the world is only limited by your imagination" - Me

well I am able to draw a single bullet but then my ships disappears.
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"]glClear(GL_COLOR_BUFFER_BIT);[/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][font="Consolas"][size="2"]glColor3f(0.0f,1.0f,0.0f);[/font][/font][/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][font="Consolas"][size="2"]glBegin(GL_POINTS);[/font][/font][/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][font="Consolas"][size="2"]glVertex3f(0.0f,0.5f+k,0.0f);[/font][/font][/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][font="Consolas"][size="2"]k+=0.1f;[/font][/font][/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][font="Consolas"][size="2"]glEnd();[/font][/font][/font][/font][/font]
[font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"][font="Consolas"][size="2"][color="#008000"]glutSwapBuffers();[/font][/font][/font]

well I am able to draw a single bullet but then my ships disappears.
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000]glClear(GL_COLOR_BUFFER_BIT);[/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][font=Consolas][size=2]glColor3f(0.0f,1.0f,0.0f);[/font][/font][/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][font=Consolas][size=2]glBegin(GL_POINTS);[/font][/font][/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][font=Consolas][size=2]glVertex3f(0.0f,0.5f+k,0.0f);[/font][/font][/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][font=Consolas][size=2]k+=0.1f;[/font][/font][/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][font=Consolas][size=2]glEnd();[/font][/font][/font][/font][/font]
[font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000][font=Consolas][size=2][color=#008000]glutSwapBuffers();[/font][/font][/font]


Don't swap the buffers after drawing the bullet, only swap buffers at the end of each frame.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
what do you mean by frame
glutSwapBuffers presents the frame (the rendered image) to the display device. Assisnator's code should hint that for each frame, you should clear the buffer before drawing, and present the buffer after drawing. Your code and the problems you're describing suggest you are mixing quite a few of these within drawing a scene.

This topic is closed to new replies.

Advertisement