ОпенГЛ
ОпенГЛ (енгл. 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ф): црвена, зелена, плава, жута. Због претходних трансформација над матрицом којом се координате квадрата трансформишу, исти ће бити приказан у пројекцији.
Види још
[уреди | уреди извор]Спољашње везе
[уреди | уреди извор]- Званична интернет страна
- СГИ-ова интернет страна о ОпенГЛ
- НеХе ОпенГЛ туторијали
- ОпенГЛ Бенчмарк Це против Перла, Перл против Пајтона, СДЛ::ОпенГЛ против ПОГЛ, Виндоус против Линукса