亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何理解target對象?另外繪制的時候顯卡是如何確定draw哪組頂點?

如何理解target對象?另外繪制的時候顯卡是如何確定draw哪組頂點?

嗶嗶one 2023-04-08 18:14:55
文檔中提到void glBufferData(GLenum   target,     GLsizeiptr   size,   const GLvoid *  data,     GLenum   usage);targetSpecifies the target buffer object.  The symbolic constant must be  GL_ARRAY_BUFFER,  GL_ELEMENT_ARRAY_BUFFER,  GL_PIXEL_PACK_BUFFER, or  GL_PIXEL_UNPACK_BUFFER.那幾個固定的參數應該是固定的內存地址,當幾組數據被傳送到顯存中,繪制的時候顯卡是如何確定draw哪組頂點?初學OpenGL,很多不懂的地方。
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

glBufferData函數執行向所綁定的緩沖區寫入數據的操作,target參數是枚舉類型,只能取預設的幾個值,該參數用來指定緩沖區類型,而不是內存地址。
執行渲染操作的時候,也是先綁定某個緩沖區,然后調用適當的函數,從該緩沖區某個指定偏移量開始,取一定量的數據進行指定方式的渲染。渲染過程是由程序控制GPU完成的,不是說你把數據寫入緩沖區之后,顯卡自己就知道要顯示什么了。
由于OpenGL制定的是C語言接口,而C不是面向對象的,所以封裝性和可讀性比較差,需要以C這種面向過程的思維方式來理解OpenGL。程序里每個函數都不能孤立地看,都要看它的上下文,比如上文中綁定了某個緩沖區,那么接下來的操作就是針對這個緩沖區的。

查看完整回答
反對 回復 2023-04-11
  • 1 回答
  • 0 關注
  • 224 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號