[c++] OpenGL - jakies tam podstawy
No więc OpenGL...
Po pierwsze, używać będę biblioteki GLFW którą można zassać z poniższego linku:
http://www.glfw.org/ , z tym że nie będę używał chwilowo najnowszej wersji, a wersji 2.7.9
Później dodam mini poradnik jeśli ktoś nie wie w jaki sposób używać tej biblioteki w Visualu lub też nie umie sobie ogarnąć poradnika w internecie.
Tak więc, zaczynamy :D
klik:
tak więc jeśli ktoś jest zupełnym laikiem(jak ja), to OpenGL służy hm... do "zabawy" z grafiką.
Z tym, że "zabawa" to chyba właściwe słowo, gdyż prześledzimy elementarne operacje takie jak tworzenie okienka, budowanie prostych figur płaskich i brył w przestrzeni, a także jakieś teksturowanie.
Nie jestem pewien czy będę miał chwilę by pisać coś co wczytuje figury z blendera do OpenGLa ale nie mówię nie. I na bank nie będzie to w C++ gdyż ten język jest średnio wygodny, ale wszystko wyjdzie w praniu.
1) Pragniemy stworzyć nasze pierwsze okienko za pomocą glfw:
warunek w pętli mówi o momencie zamknięcia okienka (ustawiony ESC w tym celu ) oraz obraz jest odświeżany. Ale ale, czarno, pusto, pora więc coś narysować! Będziemy musieli jakoś orientować się w przestrzeni a potem to już z górki. Narysujmy trójkąt, tak na rozgrzewkę. Ah, i jeszcze po pierwsze, jakiś kolorek tła by się przydał (chyba że ktoś lubi czerń).
Dodajemy do środka pętli while to:
glClearColor(0.2, 0.2, 0.2, 0); //ustawiamy szare tlo. bez tego bedzie czarne
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //"czyscimy kolorem", nie musi tego byc, ale lepiej zostawic
int width, height;
glfwGetWindowSize(&width, &height); // potrzebujemy zczytac rozmiar okna, potrzebne do ponizszego wywolania
glViewport(0, 0, width, height); //to cos pilnuje zeby nasza figura byla w miare po srodku okna
gwoli scislosci, to dwa pierwsze parametry odpowiadaja za współrzedne lewego dolnego naroznika obszaru renderingu względem lewego dolnego naroznika okna.
Składnia rysowania jest dość prosta. glBegin(GL_TRIANGLES); //wierzchołki postaci glVertex3f( , , ); glEnd();
po zabawach i walce z układem współrzędnych, nasz while powinien wyglądać tak:
powinien ukazać się duży trójkąt:
no, i to by było chwilowo na tyle.
jeśli ktoś chce rysować kwadraty, to oczywiście nic nie stoi na przeszkodzie, wystarczy użyć:
glBegin(GL_QUADS);
Po pierwsze, używać będę biblioteki GLFW którą można zassać z poniższego linku:
http://www.glfw.org/ , z tym że nie będę używał chwilowo najnowszej wersji, a wersji 2.7.9
Później dodam mini poradnik jeśli ktoś nie wie w jaki sposób używać tej biblioteki w Visualu lub też nie umie sobie ogarnąć poradnika w internecie.
Tak więc, zaczynamy :D
klik:
tak więc jeśli ktoś jest zupełnym laikiem(jak ja), to OpenGL służy hm... do "zabawy" z grafiką.
Z tym, że "zabawa" to chyba właściwe słowo, gdyż prześledzimy elementarne operacje takie jak tworzenie okienka, budowanie prostych figur płaskich i brył w przestrzeni, a także jakieś teksturowanie.
Nie jestem pewien czy będę miał chwilę by pisać coś co wczytuje figury z blendera do OpenGLa ale nie mówię nie. I na bank nie będzie to w C++ gdyż ten język jest średnio wygodny, ale wszystko wyjdzie w praniu.
1) Pragniemy stworzyć nasze pierwsze okienko za pomocą glfw:
warunek w pętli mówi o momencie zamknięcia okienka (ustawiony ESC w tym celu ) oraz obraz jest odświeżany. Ale ale, czarno, pusto, pora więc coś narysować! Będziemy musieli jakoś orientować się w przestrzeni a potem to już z górki. Narysujmy trójkąt, tak na rozgrzewkę. Ah, i jeszcze po pierwsze, jakiś kolorek tła by się przydał (chyba że ktoś lubi czerń).
Dodajemy do środka pętli while to:
glClearColor(0.2, 0.2, 0.2, 0); //ustawiamy szare tlo. bez tego bedzie czarne
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //"czyscimy kolorem", nie musi tego byc, ale lepiej zostawic
int width, height;
glfwGetWindowSize(&width, &height); // potrzebujemy zczytac rozmiar okna, potrzebne do ponizszego wywolania
glViewport(0, 0, width, height); //to cos pilnuje zeby nasza figura byla w miare po srodku okna
gwoli scislosci, to dwa pierwsze parametry odpowiadaja za współrzedne lewego dolnego naroznika obszaru renderingu względem lewego dolnego naroznika okna.
Składnia rysowania jest dość prosta. glBegin(GL_TRIANGLES); //wierzchołki postaci glVertex3f( , , ); glEnd();
po zabawach i walce z układem współrzędnych, nasz while powinien wyglądać tak:
powinien ukazać się duży trójkąt:
no, i to by było chwilowo na tyle.
jeśli ktoś chce rysować kwadraty, to oczywiście nic nie stoi na przeszkodzie, wystarczy użyć:
glBegin(GL_QUADS);
Komentarze
Prześlij komentarz