[ Pobierz całość w formacie PDF ]
.Funkcja glGetz argumentem GL_MAX_LIST_NESTING zwraca maksymaln¹ iloœæ poziomówzagnie¿d¿enia.W przypadku Microsoft Windows jest ni¹ 64.Parametrylist GLuint: Identyfikuje listê wyœwietlania, która ma zostaæ wykonana.Zwracana wartoœæ BrakPrzyk³adPatrz tak¿ePoni¿szy kod zachowuje stan macierzy przed wywo³aniem listy wyœwietlania.Powywo³aniu odtwarza stan macierzy.// Zachowanie bie¿¹cego stanu macierzy glPushMatrix();// Narysowanie œruby zawieraj¹cej zagnie¿d¿one listy glCallList(BOLT_HEAD);// Odtworzenie stanu macierzy glPopMatrix();glCallLists, glDeleteLists, glGenLists, glNewListglCallListsPrzeznaczenie Plik nag³Ã³wkowy Sk³adnia OpisWywo³uje listê list wyœwietlania.void glCallLists(GLsizei n, GLenum type, const GLvoid *lists);Wywo³uje kolejno listy wyœwietlania wskazywane w tablicy *lists.Ta tablicamo¿e byæ prawie dowolnego typu.Rezultat jest zamieniany lub obcinany donajbli¿szej liczby ca³kowitej, która bêdzie stanowiæ indeks (identyfikator)konkretnej listy wyœwietlania.Opcjonalnie, wartoœci z listy mog¹ zostaæprzesuniête o pewn¹ wartoœæ bazow¹, okreœlon¹ wywo³aniem funkcji glListBase.Parametry n typeGLsizei: Iloœæ elementów tablicy list wyœwietlania.GLenum: Rodzaj elementów przechowywanych w liœcie *lists.Mo¿e byæ jedn¹ znastêpuj¹cych wartoœci: GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT,GLJNT, GLJJNSIGNEDJNT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES lub GL_4_BYTES.GLvoid: Tablica elementów typu okreœlanego parametrem type.Zadeklarowanymtypem danych jest void, co umo¿liwia u¿ycie dowolnego z wymienionych powy¿ejtypów.345jg OpenGl Rozdzia³ 10.* Modelowanie i kompozycja obiektów 3DZwracana wartoœæ BrakPoni¿szy kod ilustruje wywo³anie grupy list wyœwietlania w pojedynczymwywo³aniu funkcji:// Miejsce na identyfikatory list wyœwietlania int lists[50]; int i ;// Stworzenie nazw list for(i = 0; i < 50; i++) lists[i] = i + 1;// Zbudowanie piêædziesiêciu list wyœwietlania:// Pierwsza listaglNewList(lists[0],GL_COMPILE);glEnd ();// Druga lista glNewList(listS[q],GL_COMPILE);glEnd();// I tak dalej.Patrz tak¿e// Wywo³anie piêædziesiêciu list jedn¹ funkcj¹ glCallLists(50, GL_INT, lists;glCallLists, glDeleteLists, glGenLists, glListBase, glNewListglDeleteListsPrzeznaczenie Plik nag³Ã³wkowy Sk³adnia OpisUsuwa ci¹g³y zakres list wyœwietlania.void glDeleteLists(GLuint list, GLsizei rangê);Ta funkcja usuwa zakres list wyœwietlania.Usuwanie rozpoczyna siê odpocz¹tkowej listy list i trwa do momentu usuniêcia rangê list.Usuwanienieu¿ywanych list wyœwietlania pozwala odzyskaæ znaczne iloœci pamiêci.Nieu¿ywane listy wyœwietlania z podanego zakresu s¹ ignorowane i nie powoduj¹b³êdów.Parametrylistrangê Zwracana wartoœæGLuint: Identyfikator pierwszej usuwanej listy.GLsizei: Iloœæ list wyœwietlania, jakie maj¹ zostaæ usuniête.BrakF346Czêœæ II » U¿ywanie OpenGLPrzyk³adPatrz tak¿ePoni¿sza linia kodu ilustruje usuwanie wszystkich list wyœwietlania oidentyfikatorach pomiêdzy l a 50:glDeleteLists(l, 50);glCallLists, glCallLists, glGenLists, gllsList, glNewListglEndListPrzeznaczenie Plik nag³Ã³wkowy Sk³adnia OpisZwracana wartoœæ Przyk³adPatrz tak¿eWyznacza koniec listy wyœwietlania.void glEndList(void);Listy wyœwietlania s¹ tworzone przez wywo³anie funkcji glNewList.Wszystkienastêpne polecenia OpenGL s¹ kompilowane i umieszczane na liœcie wyœwietlania.Funkcja glEndList koñczy tworzenie listy wyœwietlania.BrakPoni¿szy kod stanowi przyk³ad tworzenia listy wyœwietlania za pomoc¹ funkcjiglNewList i glEndList.Tworzona lista sk³ada siê z dwóch zagnie¿d¿onych w niejlist.// Pocz¹tek listy wyœwietlania glNewList (BOLT_LIST, GL_COMPILE) ;// Lista wyœwietlania zawiera dwie zdefiniowane // uprzednio listy wyœwietlaniaglCallList (SHftFT_LIST) ; glCallList (THREAD_LIST) ;// Koniec listy wyœwietlania glEndList O ;glCallList, glCallLists, glDeleteLists, glGenLists, gllsListglGenListsPrzeznaczenie Plik nag³Ã³wkowy Sk³adnia OpisGeneruje ci¹g³y zakres pustych list wyœwietlania.GLuint glGenLists(GLsizei rangê);Funkcja tworzy zakres pustych list wyœwietlania.Iloœæ tworzonych list zale¿yod wartoœci argumentu rangê.Zwracan¹ wartoœci¹ jest identyfikator pierwszejlisty z zakresu.Celem tej funkcji jest zarezerwowanie zakresu identyfikatorówlist do póŸniejszego u¿ytku.Parametry rangêGLsizei: Iloœæ ¿¹danych pustych list.347Rozdzia³ 10.* Modelowanie i kompozycja obiektów 3DZwracana wartoœæPrzyk³adIdentyfikator pierwszej listy z zakresu.Zostaj¹ utworzone puste listy zzakresu od zwracanej wartoœci do range-l.Poni¿szy kod alokuje tablicê 25 liczb ca³kowitych, które zostan¹ u¿yte doprzechowania identyfikatorów 25 list wyœwietlania.Ka¿demu elementowi tablicymusi zostaæ przypisany poprawny identyfikator listy, który mo¿e zostaæ u¿ytypóŸniej.int lists[25]; // miejsce na 25 list wyœwietlania int first; // indekspierwszego dostêpnego// identyfikatora listy wyœwietlania int x; // Licznik pêtliPatrz tak¿e// Odczyt pierwszego identyfikatora listy wyœwietlaniafirst = glGenLists(25);// Przypisanie ka¿demu elementowi tablicy poprawnego// identyfikatora listy wyœwietlaniafor(x = 0; x < 25; x++)lists[x] = first + x + 1;glCallList, glCallLists, glDeleteLists, glNewListgllsListPrzeznaczenie Plik nag³Ã³wkowy Sk³adnia OpisParametrylist Zwracana wartoœæPrzyk³adSprawdza, czy istnieje dana lista.GLboolean gl!sList(GLuint list);Ta funkcja jest u¿ywana do sprawdzania, czy istnieje lista wyœwietlania o danymidentyfikatorze.Mo¿esz jej u¿yæ do sprawdzenia listy przed jej zastosowaniem.GLuint: Identyfikator potencjalnej listy wyœwietlania.GLJTRUE jeœli dana lista wyœwietlania istnieje, lub wartoœæ GL_FALSE wprzeciwnym wypadku.Poni¿szy kod przegl¹da tablicê, która powinna zawieraæ poprawne identyfikatorylist.Jeœli lista o danym identyfikatorze istnieje, zostaje wywo³ana.int lists[25]; // miejsce na 25 list wyœwietlania int x; // Licznik pêtliPatrz tak¿efor(x = 0; x < 25; x++) if(gllsList(lists[x])glCallList(lists[x]);glCallList, glCallLists, glDeleteLists, glGenLists, glNewList348Czêœæ II «• U¿ywanie OpenGLgllistBasePrzeznaczeniePlik nag³Ã³wkowySk³adniaOpisOkreœla wartoœæ bazow¹ dodawan¹ do identyfikatorów list wywo³ywanych funkcj¹glCallLists.void glListBase(GLuint base);Funkcja glCallLists wywo³uje seriê list wyœwietlania zawartych w tablicy.Funkcja glListBase ustawia wartoœæ bazow¹, która zostaje dodana do ka¿degoidentyfikatora listy w tablicy.Domyœln¹ wartoœci¹ bazow¹ jest zero.Mo¿eszodczytaæ bie¿¹c¹ wartoœæ wywo³uj¹c funkcjê glGet(GL_LIST_BASE).Parametry baseZwracana wartoœæ Przyk³adGLuint: Wartoœæ, która zostanie dodana do identyfikatora listy w tablicy list,wywo³ywanych funkcj¹ glCallLists.Domyœlnie ta wartoœæ jest równa zeru.Brak.Poni¿szy kod tworzy 20 list wyœwietlania ponumerowanych od O do 19.Tworzonajest tablica identyfikatorów list (listA), zawieraj¹ca liczby od O do 9.Nastêpnie jest wywo³ywana funkcja glCallLists wykonuj¹ca wszystkie listywystêpuj¹ce w tablicy listA.Nastêpnie, zamiast ³adowania tablicy kojejnymidziesiêcioma liczbami, za pomoc¹ funkcji glListBase zmieniana jest wartoœæbazowa.Po ponownym wywo³aniu funkcji CallLists dla tablicy listA, zostan¹wywo³ane listy okreœlone przez elementy tablicy powiêkszone o wartoœæ bazow¹(10)
[ Pobierz całość w formacie PDF ]
Linki
- Strona startowa
- Holzner Steven Perl. Czarna ksiega (SCAN dal 867)
- Antologia SF Wielka ksiega science fiction t
- Antologia SF Wielka ksiega science fiction t (2)
- Mochnacki M. Powstanie Narodu Polskiego (ksiega II)
- Clive Barker Ksiega Krwi III
- Anonim Oko Ksiezyca Ksiega bez tytulu
- Carly Phillips Dare to Love 02 Dare to Desire
- Ludlum Robert Tajne Archiwa 04 Kod Altmana
- Baniewicz Artur Gora trzech szkieletow
- Amanda Hocking Trylle The Complete Trilogy
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- anielska.pev.pl