Open GL nie renderuje poza origo na osi z

0

Cześć. Od dawna nie bawiłem się Open GL i teraz mam maly problem. Gdy translatuje moj kwadrat na osi z, znika. Oto caly moj kod opengl.

protected void clearScreen(){
		GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
		GL11.glClearColor(0f, 0f, 0f, 0f);
	}
	@Override
	public void render(){
		clearScreen();
		glLoadIdentity();
		
		glTranslatef(400,300,0);
		glTranslatef(0, 0, -20);
			
		glBegin(GL_QUADS);
		//-10 z
			glColor3f(1f, 0f, 0f);
			glVertex3f(-10, -10, 0);
			glVertex3f(-10, 10, 0);
			glVertex3f(10, 10, 0);
			glVertex3f(10, -10, 0);
			glEnd();
}


public void initGL() {
		GL11.glMatrixMode(GL11.GL_PROJECTION);
		GL11.glLoadIdentity();
		//GL11.glOrtho(0, 800, 0, 600, 1, -1);zauwazylem  ze to zbedne
		//GLU.gluPerspective(45.0f, (float)800 / (float)600, 0.1f, 200.0f);tsk samo jak to
		GL11.glMatrixMode(GL11.GL_MODELVIEW);
// oczywiście próbowałem też z gkuperspective i glortho
	}

 
0

Kiedys testowalem na działającym kodzie, perspective nic nie robil.
Efekt kamery uzyskuje tlumaczac o kilka pixeli na osi x, po czym obracam o kat nachylenia kamery.
Problem w tym ze jak tylko tlumacze na osi z wszystko znika.

0

Zobacz jak inni inicjują OpenGL, http://www.paulsprojects.net/opengl/template/template.html :

//Set up GL
bool GLInit()
{
	//Init window
	if(!WINDOW::Instance()->Init(	"Project Template", 640, 480, 8, 8, 8, 8, 24, 8,
									false, false, true))
		return false;
	
	//Check for OpenGL version/extensions
	//if(!extgl_Extensions.OpenGL14)
	//{
		//LOG::Instance()->OutputError("I require OpenGL 1.4 support");
		//return false;
	//}

	//Init font
	if(!font.Init())
		return false;

	//set viewport
	int height=WINDOW::Instance()->height;
	if(height==0)
		height=1;

	glViewport(0, 0, WINDOW::Instance()->width, height);

	//Set up projection matrix
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluPerspective(	45.0f, (GLfloat)WINDOW::Instance()->width/(GLfloat)WINDOW::Instance()->height,
					1.0f, 100.0f);

	//Load identity modelview
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();

	//Shading states
	glShadeModel(GL_SMOOTH);
	glClearColor(backgroundColor.r, backgroundColor.g, backgroundColor.b, backgroundColor.a);
	glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

	//Depth states
	glClearDepth(1.0f);
	glDepthFunc(GL_LEQUAL);
	glEnable(GL_DEPTH_TEST);

	glEnable(GL_CULL_FACE);

	return true;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1