X


[ 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 ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl
  • Drogi użytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

    Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

     Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

     Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

    Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.