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

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

如何將頂點緩沖區數組合并到我的圖形程序中?

如何將頂點緩沖區數組合并到我的圖形程序中?

慕森王 2022-09-27 09:43:46
我正在使用PyOpenGL為蟒蛇和PyQt5編寫一個3D圖形工具包。我正在編寫自己的著色器來配合它,如果這有幫助的話。我試圖做的是從使用glBegin到使用頂點緩沖區數組。我在使用VBO時發現了以下內容:http://www.songho.ca/opengl/gl_vbo.html - 我只能從中抓取一些信息,因為它是在C / C++中。如何讓 VBO 與蟒蛇和 PyOpenGL 一起工作 - 這是在 Python2 中,因此是相當有限的。但是,我無法將每個形狀對象的頂點編譯為場景VBO所需的內容拼湊在一起。我也不知道數組中的數據是如何布局的。我的初始化和繪制GL函數如下,我的頂點和片段著色器的GLSL代碼也是如此。    def initGL(self):        self.vertProg = open(self.vertPath, 'r')        self.fragProg = open(self.fragPath, 'r')        self.vertCode = self.vertProg.read()        self.fragCode = self.fragProg.read()        self.vertShader = shaders.compileShader(self.vertCode, GL_VERTEX_SHADER)        self.fragShader = shaders.compileShader(self.fragCode, GL_FRAGMENT_SHADER)        self.shader = shaders.compileProgram(self.vertShader, self.fragShader)#paintGL uses shape objects, such as cube() or mesh(). Shape objects require the following:#a list named 'vertices'  - This list is a list of points, from which edges and faces are drawn.#a list named 'wires'     - This list is a list of tuples which refer to vertices, dictating where to draw wires.#a list named 'facets'    - This list is a list of tuples which refer to vertices, ditating where to draw facets.#a bool named 'render'    - This bool is used to dictate whether or not to draw the shape.#a bool named 'drawWires' - This bool is used to dictate whether wires should be drawn.#a bool named 'drawFaces' - This bool is used to dictate whether facets should be drawn.在這個項目的最終形式中,我想在我的緩沖區中包含頂點位置,顏色甚至發光的信息。(當我最終把它放到光線行軍中時,這將實現。我還需要一種方法來指定我是否應該繪制電線和面。如何設置和配置一個或多個虛擬操作系統,以將所有這些信息傳輸到 GPU 和 OpenGL?
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

經過一段時間的研究,我決定嘗試使用不太具體的搜索詞。我最終偶然發現了這個網站:https://www.metamost.com/opengl-with-python/


查看完整回答
反對 回復 2022-09-27
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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