Skip to main content

Ano ang isang OpenGL Vertex buffer?

Isang Open Graphics Library .Kadalasan, isang OpenGL Ginagamit ang vertex buffer upang lumikha ng isang object ng vertex buffer (VBO), na nagpapahintulot sa mga bagay sa loob ng isang three-dimensional (3D) na eksena na mai-render bilang bahagi ng isang listahan ng pagpapakita at hindi sa agarang mode.Paminsan -minsan, gayunpaman, ang isang vertex buffer ay maaaring magamit sa labas ng isang VBO upang mag -imbak ng impormasyon tungkol sa isang bagay o upang makatulong na gawing mas madali ang mga pagbabagong -anyo sa mga kumplikadong modelo.Dapat pansinin na ang isang vertex buffer ay hindi kailangang matatagpuan sa memorya ng graphics card, dahil maaari itong ilalaan tulad ng anumang istraktura ng data.Kung ang OpenGL Ang vertex buffer ay gagamitin bilang bahagi ng isang VBO, kung gayon ang ginagamit na graphics card ay dapat suportahan ang espesyal na OpenGL VBO extension upang matiyak na ang buffer ay inilalagay sa memorya ng graphics.

Sa pinaka pangunahing antas, isang OpenGL Ang vertex buffer ay isang simpleng buffer lamang, isang inilalaan na lugar ng memorya kung saan maaaring maiimbak ang data.Ito ay nagiging isang vertex buffer kapag ang isang vertex array ay naka -imbak sa loob nito.Isang OpenGL Ang vertex array ay isang hanay ng mga istruktura ng data na tumutukoy sa lahat ng mga katangian ng mga indibidwal na vertice.Ang impormasyong ito ay maaaring isama ang mga lokasyon ng X, Y at Z ng vertex sa eksena ng 3D, ang kulay ng vertex, ang normal at iba pang mga pag -aari.Ang mga utos ay isinasagawa nang direkta dahil tinawag sila mula sa loob ng isang programa.Hindi kinakailangan sa mga kasong ito na magkaroon ng isang vertex array, dahil ang mga utos para sa paglalagay at pagguhit ng isang vertex ay maaaring ibigay nang direkta sa hardware, bagaman maaari itong maging sanhi ng malubhang isyu sa pagganap.Para sa pag-render ng non-immediate mode, ang impormasyon tungkol sa isang bagay na 3D o modelo ay kailangan muna na mailagay sa isang vertex array upang magkaroon ito ng isang istraktura na OpenGL madaling bigyang kahulugan;Ang array na iyon ay dapat na maiimbak sa isang espesyal na lugar ng memorya na kilala bilang isang OpenGL Vertex buffer.

Sa pamamagitan ng kanyang sarili, ang vertex buffer ay hindi kinakailangang magkaroon ng anumang mga espesyal na katangian maliban sa pagiging isang kumpletong koleksyon ng impormasyon na ginamit upang gumuhit ng isang bagay.Kapag ang OpenGL Ang vertex buffer ay na -convert sa isang OpenGL Ang object ng vertex buffer sa pamamagitan ng extension ng OpenGL, gayunpaman, ang isang espesyal na pagkakasunud -sunod ng mga kaganapan ay nangyayari upang makatulong na ma -optimize ang pagguhit ng bagay na tinukoy sa vertex buffer.Lalo na, ang buffer ay inilalaan at naka-imbak sa memorya ng graphics card, sa gilid ng server ng client-server setup OpenGL gumagamit.Ang ilang mga kalkulasyon ay maaari ring isagawa nang maaga sa VBO upang ma -render ito nang mabilis hangga't maaari.Sa labas ng isang VBO, ang isang plain vertex buffer ay hindi karaniwang tumatanggap ng paggamot na ito at maaaring ilalaan at magamit tulad ng anumang iba pang uri ng data.