Witam
Mam problem z narysowaniem jakiegos prostokatu w 3D, tzn rysuje sie ale jak zmieniam 3 wartosc w funkcji glVertex3f() to dzieja sie glupoty na ekranie a nie widok bardziej oddalonego czy blizej widzianego wierzcholka czworokata :( mam pare tutkow ale cos nie wychodzi mi :( w kazdym inaczej jest to robione i sie pogobilem :( mam obsluge myszy itp
I jak moge zrobic jakis prosty antyaliasing czworokatow?
HELP :( nie wiem po prostu jak nagryzdac to jakos by rysowalo figure w przestrzeni 3D a nie 2D z jakimis zalamaniami w polowie scianki jak dam jakas 3 wartosc w funkcji glVertex3f()
Z gory dzieki!
o to glowne funkcje:
[cpp]
void initGL (void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//glShadeModel(GL_SMOOTH);
//glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{
polozenie.rx = 640;
polozenie.ry = 480;
polozenie.z = WYSOKOSCWZROKU;
// wczytujemy plik
mapa();
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize (polozenie.rx, polozenie.ry);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Animacja");
initGL ();
glutKeyboardFunc(klawiatura);
glutPassiveMotionFunc(myszka);
glutIdleFunc (DrawScene);
glutDisplayFunc (DrawScene);
glutReshapeFunc (Reshape);
ShowCursor(TRUE);
// uruchamiamy watek poruszania
unsigned long watek;
char * para = "pusto";
CreateThread(NULL,0,poruszanie,para,0,&watek);
char * para2 = "pusto";
unsigned long watek2;
CreateThread(NULL,0,fpsy,para2,0,&watek2);
glutMainLoop();
return 0;
}
[/cpp]
[cpp]
void DrawScene(void)
{
// czyscimy bufor koloru
glClearColor (1.0,1.0,1.0,1.0);
glClear(GL_COLOR_BUFFER_BIT);
// wypisanie wszystkich obiekow
ekran();
// wyswietlamy ile fpsow jest
fpsow();
// wyswietlamy
glFlush();
glutSwapBuffers();
}
void ekran(void)
{
int pw = obiekty.obiektow;
glPushMatrix();
// kolor
glColor3f (1.0,0.0,0.0);
glBegin (GL_POLYGON);
//glHint (GL_POLYGON_SMOOTH_HINT, GL_NICEST);
// wierzcholki
glVertex3f (0.5, 0.5, 0.2);
glVertex3f (0.5, 0.0, 0.9);
glVertex3f (0.0, 0.0, 0.0);
glVertex3f (0.0, 0.5, 0.0);
glEnd ();
glPopMatrix();
fps++;
}
[/cpp]