Cos'è una sfera OpenGL®?
Una sfera Open Graphics Library® (OpenGL®), al livello più elementare, è un oggetto tridimensionale (3D) costituito da una serie di triangoli o quadrilaterali i cui vertici sono tutti equidistanti da un punto centrale. Ciò significa che, quando una sfera OpenGL® è vista da qualsiasi angolazione, il contorno appare come un cerchio perfetto per lo spettatore, sebbene l'illuminazione e l'ombreggiatura potrebbero dare al volume un aspetto più simile a una palla. Il numero di vertici utilizzati per creare una sfera OpenGL® determina la levigatezza dell'oggetto nella sua approssimazione di una sfera effettiva, con oltre 12 punti che creano un oggetto che non può essere considerato una sfera. Anche se una sfera è considerata una forma primitiva in molte applicazioni e librerie grafiche, OpenGL® non ha alcuna funzionalità innata per rendere una sfera, il che significa che gli strumenti supplementari come il toolkit di utilità OpenGL® (GLUT) devono essere utilizzati per evitare di scrivere il codice per generare manualmente la forma.
quando si tratta di Vert con VertICE in OpenGL®, il minor numero di punti che possono essere utilizzati per generare una sfera con un certo grado di levigatezza è 12, creando un oggetto con 20 facce triangolari note come icosaedro. Senza ulteriore elaborazione, una sfera OpenGL® costruita in questo modo avrà angoli acuti visibili attorno ai bordi, che potrebbero essere accettabili per alcune applicazioni. Per ottenere una sfera più arrotondata, ogni faccia deve essere ulteriormente suddivisa.
Suddividendo un icosaedro per aumentare il numero di vertici che contiene e formare una sfera più fluida OpenGL® comporta la creazione di nuovi vertici al centro di ciascun bordo di ciascun triangolo esistente. Ciò significa che ogni faccia triangolare ora conterrà quattro triangoli. La suddivisione può continuare quanto richiede, sebbene l'aggiunta di punti in modo esponenziale può creare rapidamente un oggetto che abbia un tempo di rendering elevato e può diventare ingombrante da tradurre.
Nonostante SomE delle comodità matematiche Una sfera OpenGL® fornisce programmatori, come le normali di superficie che possono essere facilmente calcolate dalle coordinate del vertice, texando a una sfera può presentare alcune complessità. L'uso di una trama bidimensionale (2D) standard proiettata sulla sfera significa che le aree superiore e inferiore dell'immagine della trama verranno compresse, perché la forma dei triangoli vicino ai poli della sfera viene compressa. Per ovviare a questo, potrebbe essere utilizzata la mappatura del cubo o il programmatore potrebbe generare manualmente le coordinate di trama per l'oggetto.
Si dovrebbe notare un fattore sull'uso di una libreria di utilità per generare una sfera OpenGL®. Una sfera generata da utensili a contratto o strumenti simili può talvolta essere difficile da modificare, ottimizzare e gestire all'interno di OpenGL® stesso. Per questo motivo, a volte è utile utilizzare il codice scritto personalizzato per generare una sfera OpenGL® in modo che sia creata e possa essere utilizzata nel modo più efficiente possibile WIthin the Program.