Kategorie: Wszystkie | Podstawy | Rady | listingi | openGL
RSS
niedziela, 25 lutego 2007
Wyjaśnienie listing nr. 1

Wyjaśnienie ról funckji listing z notki http://cppblog.blox.pl/2007/02/Inicjalizacja-i-tworzenie-glownego-okna-openGL.html

GL/glut.h - podstawowa biblioteka openGLa
glClearColor() - ustawienie na jaki kolor czyszczone jest okno openGla - funkcja przyjmuje argumenty jako składowe RGBA koloru 

glClear() - czyszczenie okna wybranym wcześniej kolorem
glFlush(); - czyszczenie bufora
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); - wybór typu wyświetlania - ilośći użytych buforów na GLUT_DOUBLE czyli dwa oraz typ kolorów
glutSwapBuffers(); - zamiana bufforów
glutInit(&argc,argv); - inicjalizacja opengla parametrami z linii poleceń 
glutInitWindowSize(400,400); - ustawia początkowe rozmiary okna
glutDisplayFunc(display); - wybór funkcji, która będzie odpowiedzialna za tworzenie sceny - w naszym przypadku jest to funkcja void display()
glutReshapeFunc(reshape); - wybór funkcji, która będzie wywoływana w momencie zmiany wielkości okna - w naszym przypadku jest to funkcja void resize(int width, int height)
glutMainLoop(); - nakazuje programowi wejść w niekończącą się pętle i czekać na sygnały od systemu peracyjnego

12:24, asertywny_bywam , openGL
Link Dodaj komentarz »
piątek, 23 lutego 2007
Inicjalizacja i tworzenie głównego okna openGL - listing
#include <iostream>
#include <GL/glut.h>


using namespace std;

//funckja odpowiedzialna za rysowanie naszej sceny 
void display()
{
  glClearColor(1.0, 1.0, 1.0, 1.0);
 
 glClear(GL_COLOR_BUFFER_BIT);
 
 glEnd();
 glFlush();
 glutSwapBuffers();
 
} //koniec display()   


//zmiana wielkosci okna
void reshape(int width, int height)
{
 display();
}


int main(int argc, char ** argv)

{
 glutInit(&argc,argv);
 
 //inicjalizacja bufora ramki
 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
 
 //rozmiar glownego okna
 glutInitWindowSize(400,400);
 
 
 //tworzy 1 okno
 int res=glutCreateWindow("okno gluta");
 
 //dolaczenie funkcji generujacej scene 3d - u nas jest to funkcja pusta
 glutDisplayFunc(display);
 //petla komunikatow
 
 //funkcja wywolujaca zmiane rozmiaru okna
 glutReshapeFunc(reshape);
 
 //wykonanie
 glutMainLoop();
 return res;
}
21:51, asertywny_bywam , openGL
Link Dodaj komentarz »
czwartek, 22 lutego 2007
Przed napisaniem programu w openGl

Implementacje opengl w C++ najczęściej wykonywane są przy użyciu bibliotek: GLUT oraz Qt. W przypadku pracy przy użyciu tych dwóch bibliotek nie musimy ponadto martwić się o przenośnośc softu pomiędzy Windows oraz Linuxem.

W blogu zamieszczać będę przykłady z biblioteki GLUT jakkolwiek różnice w porównaniu z Qt są marginalne.

20:08, asertywny_bywam , openGL
Link Dodaj komentarz »
poniedziałek, 19 lutego 2007
Rodzaje kompilatorów C++
Istnieje wiele rodzajów kompilatorów C++ co było powodem, że przez długi czas w tej dziedzinie panował kompletny chaos. Mnogość kompilatorów i brak zgodności pomiędzy nimi utrudniał programistom życie aż, w końcu powstał standard ANSI. Wpełni zgodne z tym standardem są kompilatory gcc i g++. Stanowczo odradzam korzystania z kompilatora borlandowskiego (stary dosowski, jeszcze z niebieskimi okienkami;)) bo choć na jego widok łezka się w oku kręci to jednak trzeba wziąć pod uwagę, że większość bibliotek jest z nim zwyczajnie niezgodna. Rekomendowane przeze mnie kompilatory występują w wersji zarówno dla Windows jak i Linuxa.
22:05, asertywny_bywam , Rady
Link Komentarze (1) »