Napravili Dario Alilović i Blaž Rajič
Open Graphics Library ili skraćeno OpenGl je cross-platform standard i API koji se koristi za vizualiziranje 2D i 3D grafičkih elemenata.
Korištenjem OpenGL-a uvelike se olakšava posao razvoja grafičkih aplikacija, korištenjem dobro definirane i dokumentirane metode razvoja koja podržava apstrakcije sadašnjeg i budućeg hardwera.
OpenGL ima dvije glavne srhe:
OpenGL for Embedded Systems ili skraćeno OpenGL ES je pojednostavljena inačica OpenGL-a, čiji je cilj eliminiranja manje potrebnih funkcionalnosti.
Time se pruža sustav koji je ujedno lakši za naučiti kao i jednostavniji za implementiranje
Kako bi mogli koristiti OpenGl ES u Pythonu, potrebno je odabrati određenu knjižnicu koja to omogućuje. Jedna od najpopularnijih knjižnica za takvu svrhu je PyOpenGl
Knjižnica PyOpenGL radi kao "povezivajuća" knjižnica za Python program, gdje povezuje njegove vrijednosti u GLUT knjižnicu.
Na taj način PyOpenGL podržava različite platforme, kao što su Windows, Linux i macOS.
PyOpenGL podržava:
PyOpenGL podržava rad i sa različitim vanjskim bibliotekama za grafička korisnička sučelja, a neka od njih su:
Program GLUT je utility toolkit za OpenGL, koji je namjenjen za razvoj mali do srednjih OpenGL programa
GLUT implementira jednostavan windowing API, te time uvelike olakšava učenje i istraživanje programiranja u OpenGL-u.
Osim ostalih funkcionalnosti GLUT podržava i:
Kako bi se u nastavku praktični primjeri mogli pokrenuti potrebno je instalirati određene biblioteke, te za Ubuntu operacijska računala ona su:
Nadalje, kako bi mogli krenuti sa izradom 3D oblika prvo je potrebno postaviti određene parametre i funkcije, unutar main funkcije su posatvljenje sve naredbe za postavljanje programa. Slika funkcije je prikazana u nastavku
Na slici možemo vidjeti naredbe koje su objašnjenje u nastavku
U nastavku je programski kod za kreiranje stošca kao i sam grafički prikaz
Za kraj, kombiniranjem različitih geometrijskih tijela možemo napraviti model vjetrenjače čiji je grafički model prikazan na videozapisu ispod
Python datoteku vjetrenjače možete preuzeti ovdje.
https://www.computerhope.com/jargon/o/opengl.htm
https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html#//apple_ref/doc/uid/TP40001987
https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html
https://www.stechies.com/opengl-python/
https://www.opengl.org/resources/libraries/glut/glut_downloads.php