ОпенГЛ

Извор: Wikipedija
Пређи на навигацију Пређи на претрагу

ОпенГЛ (енгл. Open Graphics Library) је стандардна спецификација која описује вишеплатформски програмски интерфејс за писање програма који раде са дводимензионалном и тродимензионалном рачунарском графиком. Интерфејс чини преко 250 различитих функција које се могу користити за израду комплексних тродимензионалних сцена од једноставних елемената. ОпенГЛ је развијен од стране Силикон Графикс (енгл. Silicon Graphics Inc., SGI) 1992. године и популаран је у индустрији видео игара где је пандан Мајкрософтовом Дирецт3Д. Поред овога, много чешће се користи у научне сврхе, код ЦАД-програма, у пројектима виртуелне стварности као и у разним симулаторима.

Пример употребе

Следи једноставан пример једне ОпенГЛ сцене са коментарима. На слици је приказан излаз нацртан директно у ОпенГЛ.

glClear(GL_COLOR_BUFFER_BIT);

Чишћење фрејма пре почетка цртања. Цео фрејм ће бити обојен у подразумевану боју која је у овом случају црна.

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Наглашавање да ће матрица за приказ тродимензионог модела бити трансформисана и њено подешавање на идентичну матрицу.

glTranslatef(0,0,-5);
glRotatef(45,0,1,1);

Транслација за -5 јединица по З оси (помоћу глТранслатеф) и ротација за 45° око вектора (0,1,1) (помоћу глРотатеф). Ове трансформације се врше на претходно изабраној матрици.

glBegin(GL_POLYGON);
	glColor3f(1,0,0); glVertex3f(-1,-1,0); // crveno teme
	glColor3f(0,1,0); glVertex3f(-1, 1,0); // zeleno teme
	glColor3f(0,0,1); glVertex3f( 1, 1,0); // plavo teme
	glColor3f(1,1,0); glVertex3f( 1,-1,0); // žuto teme
glEnd();

Следи цртање модела. Биће исцртан квадрат у XY равни са тачкама у (±1,±1) (задатим са глВертеx3ф), чија темена редом имају боје (задате са глЦолор3ф): црвена, зелена, плава, жута. Због претходних трансформација над матрицом којом се координате квадрата трансформишу, исти ће бити приказан у пројекцији.

Спољашње везе

[уреди | уреди извор]