Skip to main content

Cos'è un OpenGL Buffer vertice?

una libreria di grafica aperta e reg;(OpenGL ) Vertex Buffer è un'area di memoria del computer spesso situata direttamente su una scheda grafica che consente un accesso molto rapido a un array di vertici e le loro proprietà.Molto spesso, un OpenGL Il buffer Vertex viene utilizzato per creare un oggetto buffer Vertex (VBO), consentendo gli oggetti all'interno di una scena tridimensionale (3D) di essere reso come parte di un elenco di visualizzazioni e non in modalità immediata.Occasionalmente, tuttavia, un buffer di vertice può essere utilizzato al di fuori di un VBO per archiviare informazioni su un oggetto o per aiutare a semplificare le trasformazioni su modelli complessi.Va notato che un buffer di vertice non deve essere posizionato nella memoria della scheda grafica, perché può essere assegnato come qualsiasi struttura di dati.Se OpenGL Il buffer Vertex verrà utilizzato come parte di un VBO, quindi la scheda grafica utilizzata deve supportare lo speciale OpenGL Estensione VBO Per garantire che il buffer sia posizionato nella memoria grafica.

A livello più elementare, un OpenGL Il buffer Vertex è solo un buffer semplice, un'area di memoria allocata in cui è possibile archiviare i dati.Diventa un buffer di vertice quando viene memorizzato un array di vertice al suo interno.Un OpenGL L'array Vertex è un array di strutture di dati che definisce tutte le proprietà dei singoli vertici.Queste informazioni possono includere le posizioni X, Y e Z del vertice nella scena 3D, il colore del vertice, le proprietà normali e altre.I comandi vengono eseguiti direttamente come vengono chiamati all'interno di un programma.In questi casi non è necessario disporre di un array di vertice, perché i comandi per posizionare e disegnare un vertice possono essere somministrati direttamente all'hardware, sebbene ciò possa causare gravi problemi di prestazioni.Per il rendering in modalità non immedio, le informazioni su un oggetto 3D o un modello devono prima essere posizionate in un array di vertice in modo che abbia una struttura che OpenGL può facilmente interpretare;Tale array deve quindi essere archiviato in un'area speciale di memoria nota come OpenGL BUFFER VERTEX.

Di per sé, il buffer Vertex non ha necessariamente attributi speciali oltre ad essere una raccolta completa di informazioni utilizzate per disegnare un oggetto.Quando OpenGL Il buffer Vertex viene convertito in OpenGL Vertex Buffer Object attraverso l'estensione OpenGL, tuttavia, si verifica una sequenza speciale di eventi per aiutare a ottimizzare il disegno dell'oggetto definito nel buffer Vertex.Vale a dire, il buffer è allocato e archiviato nella memoria della scheda grafica, sul lato server della configurazione client-server OpenGL usi.Alcuni calcoli possono anche essere eseguiti in anticipo sul VBO in modo che possa essere reso il più velocemente possibile.Al di fuori di un VBO, un tampone vertice semplice non riceve questo trattamento e può essere allocato e utilizzato come qualsiasi altro tipo di dati.