Jump to content

  • Log In with Google      Sign In   
  • Create Account


FPS camera - objects problem


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 oenda   Members   -  Reputation: 136

Like
0Likes
Like

Posted 18 July 2013 - 06:19 PM

I develop a fps game.I attached gun to camera.But i can't put gun to front of objects.In first picture everything is normal.But in the second picture gun is rendering at back.I can scale objects.If i scale objects , i need to raise zfar value.Will the game use more memory if i do that?What can i do otherwise?

 

Attached Thumbnails

  • pic1.jpg
  • pic0.jpg


Sponsor:

#2 Ashaman73   Crossbones+   -  Reputation: 6544

Like
1Likes
Like

Posted 18 July 2013 - 11:14 PM

A simple solution for this problem is to render the weapon first with a stencil value. Afterwards render the rest with stencil test on to avoid rendering over the weapon model.



#3 oenda   Members   -  Reputation: 136

Like
0Likes
Like

Posted 19 July 2013 - 12:29 AM

Thanks Ashaman73. I read wiki and morrowland.com tutorials.But I couldn't.Can you post some code or tutorial link?



#4 C0lumbo   Crossbones+   -  Reputation: 2093

Like
1Likes
Like

Posted 19 July 2013 - 01:00 AM

I think the simplest solution is to render the scene, then clear the z buffer, then render the FPS hands/weapons. I suspect Ashaman73's solution is more efficient because it saves some fill rate, but you might not have a handy stencil bit spare



#5 oenda   Members   -  Reputation: 136

Like
0Likes
Like

Posted 19 July 2013 - 01:29 AM

Thanks C0lumbo.It worked :) .I post codes.Maybe, it can help someone.


void RenderFrame()
{

    glViewport(0, 0, g_windowWidth, g_windowHeight);
    //glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
	glClearColor(112.0f/255.0f,162.0f/255.0f,1,1);
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT  );

    glMatrixMode(GL_PROJECTION);
    glLoadMatrixf(&g_camera.getProjectionMatrix()[0][0]);

    glMatrixMode(GL_MODELVIEW);
    glLoadMatrixf(&g_camera.getViewMatrix()[0][0]);

	glEnable(GL_TEXTURE_2D);

	Draw_Skybox(0,0,0,500,500,500);	// Draw the Skybox

	 glScalef(0.05f,0.05f,0.05f);
	heli->draw();

	glClear(GL_DEPTH_BUFFER_BIT  );

	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();

	glRotatef(180,0.0f,1.0f,0.0f);
	glTranslatef(0,0,25);
	weapon->draw();

	glDisable(GL_TEXTURE_2D);

    RenderText();
}





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS