1 Кесте – OpenGl-дегі берілгендер типтері.
Суффикс |
Сипатталуы |
C-дегі тип |
OpenGL-дегі тип |
B |
8-биттік бүтін |
Char |
GLbyte |
S |
16-биттік бүтін |
Short |
GLshort |
I |
32-биттік бүтін |
Long |
GLint GLsizei |
F |
32-биттік нақты сан |
Float |
GLfloat, GLclampf |
D |
64-биттік нақты сан |
double |
GLdouble, GLclampd |
Ub |
8-биттік таңбасыз бүтін |
unsigned char |
GLubyte, GLboolean |
Us |
16-биттік таңбасыз бүтін |
unsigned short |
GLushort |
Ui |
32-биттік таңбасыз бүтін |
unsigned long |
GLuint, GLenum, GLbitfield |
|
|
Void |
GLvoid |
OpenGL-дің кейбір командалары v әрпіне аяқталады. Бұл команда массивке сілтеме алатынын білдіреді. Командалардың көбісінің векторлық және векторлық емес версиялары бар. Мысалы келесі конструкциялар бірдей:
glColor3f(1.0, 1.0, 1.0);және
GLfloat color[] = {1.0, 1.0, 1.0};
glColor3fv(color).
OpenGL – ді бірнеше күйдің біреуінде болатын автомат түрінде қарастыруға болады. OpenGL ішінде көп айнымалылар бар. Мысалы: Ағымдағы түс. Үнсіз келісім бойынша әрбір жүйелік айнымалының өз мәні бар және де кез-келген уақытта осы айнымалылардың мәнің анықтауға болады. Ол үшін: glGetBooleanv(), glGetDoublev(), glGetFloatv(), glGetIntegerv() және т.б.
2. |
Координаталық түрлендіру. Компьютерлік графиканың түрлері Жалпы компьютерлік кескндік ақпараттың негізгі екі түрі бар. Біріншісі растрлық және екіншісі векторлық. Олар бір-бірінен монитор экранында бейнелену, компьютерде кескіннің сипатталуы жағынан және қағаз бетіне басып шығарылған кезде кескіндердің қалыптасу принциптері бойынша ажыратылады. Растрлық графикада кескіндер түрлі-түсті нүктелердің жиынтығынан тұрады. Графикалық ақпараттың осындай нүктелер жиыны немесе пиксельдер түрінде ұсынылуы растрлық түрдегі ұсынылу болып табылады. Растрлық кескінді құрайтын әрбір пиксельдің өз орны мен түсі болады және әр пиксельге компьютер жадында бір ұяшық қажет. Растрлық кескіннің сапасы сол кескіннің өлшеміне (тігінен және көлденең орналасқан пиксельдердің саны) және әр пиксельді бояуға қажетті түстердің санына тәуелді болады. Мұндай типті кескіндер Adobe Photoshop, Corel Photo, Photofinish секілді қуатты графикалық редакторларда өңделеді. Растрлық кескіндер векторлық кескіндерге қарағанда сапасы жоғары, әсерлі болады. Қарапайым фотосуреттердің өзі компьютерде растрлық кескін түрінде сақталады. Растрлық кескіндерді Paint, Adobe Image Ready секілді программаларды қолданып қолдан жасауға да болады. Векторлық кескіндер, бұл — сызық, доға, шеңбер және тікбұрыш сияқты геометриялық объектілер жинағынан тұратын кескіндер. Бұл жерде вектор дегеніміз — осы объектілерді сипаттайтын мәліметтер жиынтығы. Векторлық графиканың басты артықшылығы оған кескін сапасын жоғалтпай өзгеріс енгізуге, оңай кішірейтуге және үлкейтуге болатындығы. Келесі артықшылығы — векторлық кескіндердің ақпараттық көлемі растрлық кескіндермен салыстырғанда әлдеқайда аз болады. Векторлық кескіндер СorelDRAW, Adobe illustrator, Micrografx Draw секілді векторлық графикалық редакторларда жасалады. Векторлық графикамен жұмыс істеуге арналған программалық құралдар бірінші кезекте кескіндерді өңдеу үшін емес, оларды жаңадан салу үшін қолданылады. Бұндай құралдар жарнама агенттіктерінде, дизайнерлік бюроларда, редакциялар мен баспаханаларда кеңінен қолданылады. Қарапайым геометриялық объектілер мен қаріптерді пайдалануға негізделген безендіру жұмыстары векторлық графика құралдарының көмегімен әлдеқайда оңай іске асады. |
OpenGL – де барлық геометриялық примитивтер төбелер терминдерімен беріледі. Әрбір төбе оның кеңістіктегі координатасын анықтайтын сандар жиынымен беріледі.
OpenGL біртекті координаталармен жұмыс істейді. Егер z координатасы берілмесе онда 0-ге тең деп есептеледі, егер 4 координатасы берілмесе 1-ге тең деп есептеледі.
OpenGL барлық геометриялық обьектілер төбелер арқылы анықталады, ал төбелер келесі процедура арқылы беріледі.
glVertex{2 3 4}{s i f d}[v](TYPE x, …),
v жалғауы аргумент ретінде массив алынса қойылады.Геометриялық приметивтерді салу үшін бұл обьектіні анықтайтын төбелер жиынын білу қажет. Бұл үшін glBegin() және glEnd() процедуралары қолданады. glBegin(GLenum mode) процедурасының параметр ретінде келесі мәндердің біреуі алынады.
GL_POINTS – жеке нүктелер жиыны;
GL_LINES – жеке нүктелерді анықтайтын төбелер жиыны;
GL_LINE_STRIP –тұйықталмаған сынық;
GL_LINE_LOOP – тұйықталған сынық;
GL_POLYGON – қарапайым дөңес көпбұрыш;
GL_TRIANGLES – төбелерді үшбұрышқып қосады;
GL_TRIANGLE_STRIP – үшбұрыштардың байланысқан жолағы;
GL_TRIANGLE_FAN – үшбұрыштар веері;
GL_QUADS – дөңес төртбұрыштарды анықтайтын төбелер квартеті;
GL_QUAD_STRIP –төртбұрыштар жолағы;
glBegin() және glEnd() арасында төбелердің әртүрлі атрибуттарын анықтайтын командалар жазуға болады. Олар: түс, нормаль, материялық растр позициясы және текстура координаттары.
