HOW-TO: Open-GL + Anjuta + glut

Awatar użytkownika
G+
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 14 cze 2007, 16:40
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: Xfce
Kontakt:

HOW-TO: Open-GL + Anjuta + glut

Post autor: G+ »

Parę dni temu miałem problem żeby oprogramować sobie wygodnie w Open GL-u (C/C++) za pomocą biblioteki glut i Anjuty. Dotarłem do odpowiedzi w jakimś dziwnym języku (chyba węgierski) i chciałem podać to rozwiązanie po polsku :-)

Oto co robimy:

1)
Potrzebujemy Anjutę, dobry opis instalacji znajdziesz tutaj:

http://newbie.linux.pl/?id=article&kate ... 1&show=381

2)
Potrzebujemy bibliotekę do używania Open-GL-a w C/C++. Taką biblioteką jest w Ubuntu freeglut3-dev.
W terminalu wpisujemy

Kod: Zaznacz cały

apt-get install freeglut3-dev


lub System -> Administracja -> Menedżer pakietów Synaptic -> Szukaj -> freeglut3-dev - oznaczamy do instalacji i instalujemy

3)
Tworzymy nowy projekt w Anjucie:

Plik -> Nowy projekt -> Projekt ogólny/terminalowy -> Dowolna nazwa + dla ułatwienia oznaczmy "C oraz C++" + Docelowy plik wykonywalny -> można zapisać notatki -> i tylko dalej do pojawienia się okna.

4) dołączmy pliki z bibliotekami do projektu:

Ustawienia -> Ustawienia kompilatora i linkera -> Zakładka Biblioteki (Strzałka z boku) -> Wpisujemy glut i dodajemy, tak samo dołączmy biblioteki GL i GLU -> Wychodzimy z potwierdzeniem

5) Tworzymy coś w C/C++ z użyciem Open-GL-a:
Wchodzimy po lewej w "drzewku" projektu do pliku main.cc i zastępujemy widoczny tam kod na przykład tym:

Kod: Zaznacz cały

#include <GL/gl.h>
#include <GL/glut.h>
void init(void);
void display(void);

int main(int argc, char *argv[])
{
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
	glutInitWindowSize(250,250);
	glutInitWindowPosition(100,200);
	glutCreateWindow("Program w OpenGL/GLUT");
	init();
	glutDisplayFunc(display);
	glutMainLoop();
	return 0;
}

void init(void)
{
	glClearColor(0.0f ,0.0f ,0.0f ,0.0f);
	glColor3f(0.0f,0.0f,1.0f);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluPerspective(45.0f,(GLfloat)250/(GLfloat)250,0.1f,100.0f);
}

void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT);
	
	glBegin(GL_TRIANGLES);
		glColor3f(1.0f,0.0f,0.0f);			// Czerwony		
		glVertex3f( 0.0f, 1.0f, -3.0f);
		glColor3f(0.0f,1.0f,0.0f);			//Zielony
		glVertex3f(-1.0f,-1.0f, -3.0f);
		glColor3f(0.0f,0.0f,1.0f);			//Niebieski
		glVertex3f( 1.0f,-1.0f, -3.0f);
	glEnd();
	
	glutSwapBuffers();
}
6)Uruchamiamy program:
F9 -> F11 -> F3

lub

Zbuduj -> Skompiluj
Zbuduj -> Zbuduj
Zbuduj -> Uruchom

Powinniśmy zobaczyć coś takiego
Obrazek


Mam nadzieję że pomogłem :-)
Veni Creator Spiritus
ODPOWIEDZ

Wróć do „Software-Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość