-{OpenGL}- () је стандардна спецификација која описује вишеплатформски програмски интерфејс за писање програма који раде са дводимензионалном и тродимензионалном рачунарском графиком. Интерфејс чини преко 250 различитих функција које се могу користити за израду комплексних тродимензионалних сцена од једноставних елемената. -{OpenGL}- је развијен од стране Силикон Графикс () 1992. године и популаран је у индустрији видео игара где је пандан Мајкрософтовом -{Direct3D}-. Поред овога, много чешће се користи у научне сврхе, код CAD-програма, у пројектима виртуелне стварности као и у разним симулаторима.
Пример Следи једноставан пример једне -{OpenGL}- сцене са коментарима. На слици је приказан излаз нацртан директно у -{OpenGL}-.
glClear(GL_COLOR_BUFFER_BIT); Чишћење фрејма пре почетка цртања. Цео фрејм ће бити обојен у подразумевану боју која је у овом случају црна.
glMatrixMode(GL_MODELVIEW); glLoadIdentity(); Наглашавање да ће матрица за приказ тродимензионог модела бити трансформисана и њено подешавање на идентичну матрицу.
glTranslatef(0,0,-5); glRotatef(45,0,1,1); Транслација за -5 јединица по -{Z}- оси (помоћу -{glTranslatef}-) и ротација за 45° око вектора (0,1,1) (помоћу -{glRotatef}-). Ове трансформације се врше на претходно изабраној матрици.
glBegin(GL_POLYGON); glColor3f(1,0,0); glVertex3f(-1,-1,0); // црвено теме glColor3f(0,1,0); glVertex3f(-1, 1,0); // зелено теме glColor3f(0,0,1); glVertex3f( 1, 1,0); // плаво теме glColor3f(1,1,0); glVertex3f( 1,-1,0); // жуто теме glEnd(); Следи цртање модела. Биће исцртан квадрат у -{XY}- равни са тачкама у (±1,±1) (задатим са -{glVertex3f}-), чија темена редом имају боје (задате са -{glColor3f}-): црвена, зелена, плава, жута. Због претходних трансформација над матрицом којом се координате квадрата трансформишу, исти ће бити приказан у пројекцији.
Види још -{OpenML}- -{OpenCL}-
Референце
Спољашње везе
SGI-ова интернет страна о OpenGL NeHe OpenGL туторијали OpenGL Бенчмарк Це против Перла, Перл против Пајтона, -{SDL::OpenGL}- против -{POGL}-, Microsoft Windows против Линукса
Категорија:Графичке библиотеке Категорија:Рачунарска графика Категорија:Апликациони програмски интерфејс