Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.



This topic is 5463 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Well I am making a space sim demo and a tried generating some starfields. The code i used for setting up the values of the x,y and z were as follows: (sorry for the lenght of message ) int starscape=2000; void reshape(){ int s = 0; for (s = 0; s < starscape; s++) { starsv[s].x = rand() % 320; starsv[s].y = rand() % 320; starsv[s].z = rand() % 30 ; starsv[s].w = rand() % 6 ; starsv[s].vx = rand() / (float)RAND_MAX/5; starsv[s].vy = rand() / (float)RAND_MAX; starsv[s].vz =rand() / (float)RAND_MAX; } } void Draw(){ int s=0; for (s = 0; s < starscape; s++) { gluOrtho2D(0,320,0,320); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glColorMaterial (GL_FRONT_AND_BACK,GL_DIFFUSE); glEnable (GL_COLOR_MATERIAL); if (starsv[s].x < 320) { glBegin(GL_LINE_STRIP); glColor3ub(0, 0, 0); glVertex3f(starsv[s].x-starsv[s].vx/2, starsv[s].y, starsv[s].z+0.01f); glColor3ub(255, 255, 255); glVertex3f(starsv[s].x, starsv[s].y, starsv[s].z); glEnd(); } } but the stars seem to move way too fast and do not seem to like come towards the user. Plz anyone tell me what i am doing wrong in order to get the stars as in the Space Wars demo on Nehe''s website.

Share this post

Link to post
Share on other sites
Dont use Ortho, its for 2d things like text.

gluPerspective would be a better choice as it makes things look like they have depth.

Share this post

Link to post
Share on other sites
Yeah i know its for 2d but i have to other choice. I mean i am displaying a 3d spaceship and a starfield so i can''t display both with out using ortho2d for the starfield. Here''s the code i use for the DrawScene:
gldAspect = (GLdouble) glnWidth / (GLdouble) glnHeight;

glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluPerspective (30.0,gldAspect,0.01f,10.0);

glViewport (0, 0, glnWidth, glnHeight);
glMatrixMode(GL_PROJECTION); //switch to a projection mode
glPushMatrix(); //store current projection mode
glDisable(GL_DEPTH_TEST); //disable z buffer
// include DrawStars() for my last post
glPopMatrix(); //restore previous projection
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glTranslatef (0.0f, 0.0f, -8.0f);
glRotatef (360, 0.0f, 1.0f, 0.0f);
glRotatef (yrot, 0.0f, 0.0f, 1.0f);
glRotatef (xrot, 1.0f, 0.0f, 0.0f);
glScalef (2.5f-upspeed,2.5f-upspeed,2.5f-upspeed);

int mcount=0;
int mindex=0;
for(int i=0;i {
for(int j=0;j<3;j++)
int vi=face_indicies[j];
int ni=face_indicies[i][j+3];
int ti=face_indicies[i][j+6];
glNormal3f (normals[ni][0],normals[ni][1],normals[ni][2]);
glVertex3f (verticies[vi][0],verticies[vi][1],verticies[vi][2]);
glEnd ();
SwapBuffers (hdc);

so now tell me what i should do?(if only the Space Wars demo src code could be public available and sorry for the long post)

Share this post

Link to post
Share on other sites
I did a thingy like this u want to do. I make a particle system. Them, when i press H, the particles (the star) come straight the camera. I take one of the vertex and increased the z in 3 or more. It looks like X-Wing, when we go to the HyperSpace. And, i could help u more if u knew what Push and PopMatrix do. I do many things in OpenGL, but...

"There are people who live in the reality. We recreate it!"

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!