OpenGL matematika

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. október 18-án felülvizsgált verziótól ; az ellenőrzések 5 szerkesztést igényelnek .
OpenGL matematika
Típusú könyvtár
Szerző G-Truc Creation (Christophe Riccio)
Beírva C++
Operációs rendszer Többplatformos szoftver
legújabb verzió 0.9.9.8 ( 2020. április 13. )
Engedély MIT licenc
Weboldal glm.g-truc.net

A GLM ( Open GL Mathematics - Mathematics  for OpenGL) egy OpenGL-könyvtár , amely a C ++ programozó számára olyan struktúrákat és funkciókat biztosít, amelyek lehetővé teszik az adatok OpenGL -hez való felhasználását. .

A GLM egyik sajátossága, hogy megvalósítása a GLSL specifikáción ( Open GL S hading Language ) alapul [1 ] .

A GLM forráskódja az MIT Licenc alatt kerül terjesztésre .

Kódpéldák

// Normál kiszámítása háromszögre: #include <glm/glm.hpp> void computeNormal ( háromszög és háromszög ) { glm :: vec3 const & a = Háromszög . Pozíció [ 0 ]; glm :: vec3 const & b = Háromszög . Pozíció [ 1 ]; glm :: vec3 const & c = Háromszög . Pozíció [ 2 ]; háromszög . Normál = glm :: normalizál ( glm :: kereszt ( c - a , b - a )); } // Mátrix transzformációk: #include <glm/glm.hpp> // glm::vec3, glm::vec4, glm::ivec4, glm::mat4 #include <glm/gtc/matrix_projection.hpp> // glm::perspective #include <glm/gtc/matrix_transform.hpp> // glm::translate, glm::rotate, glm::scale #include <glm/gtc/type_ptr.hpp> // glm::value_ptr érvénytelen transzformáció () { glm :: mat4 Vetítés = glm :: perspektíva ( 45.0f , 4.0f / 3.0f , 0.1f , 100.f ); glm :: mat4 ViewTranslate = glm :: translate ( glm :: mat4 ( 1.0f ) , glm :: vec3 ( 0.0f , 0.0f , - Translate )); glm :: mat4 ViewRotateX = glm :: forgatás ( ViewTranslate , Rotate . y , glm :: vec3 ( -1.0f , 0.0f , 0.0f )); glm :: mat4 Nézet = glm :: forgatás ( ViewRotateX , Rotate . x , glm :: vec3 ( 0.0f , 1.0f , 0.0f )); glm :: mat4 Model = glm :: skála ( glm :: mat4 ( 1.0f ), glm :: vec3 ( 0.5f )); glm :: mat4 MVP = Vetítés * Nézet * Modell ; glUniformMatrix4fv ( LocationMVP , 1 , GL_FALSE , glm :: value_ptr ( MVP )); }

Jegyzetek

  1. Archivált másolat . Hozzáférés dátuma: 2012. február 26. Az eredetiből archiválva : 2012. január 11.

Linkek