vertex-buffer

    0熱度

    1回答

    我正在編寫一個應用程序,將兩個網格(用作關鍵幀)的頂點加載到兩個單獨的OpenGL浮點數據緩衝區中。這兩個網格具有相同數量的頂點。 我想通過使用這兩個緩衝區之間的線性插值計算中間幀(我可以指定插值權重爲0和1之間的值)。我目前正在CPU上執行插值,但我想將計算卸載到GPU,以便更快地計算中間幀。 有沒有辦法做到這一點只使用OpenGL(即不是OpenCL)?如果是這樣,怎麼樣?

    0熱度

    1回答

    我正在開發一個程序,它可以計算GPU上的直方圖。我正在使用OpenGL編寫代碼。在第一步驟中,我加載像素(RGB)的值到一個數組(arr_image)並將其上傳到頂點緩衝器(vbo): GLuint vbo; glGenBuffers(1, &vbo); glBindBuffer(GL_ARRAY_BUFFER, vbo); GLuint num_input_data = width *

    -1熱度

    1回答

    我試圖在幾何着色器中實現billboarded四邊形來渲染粒子效果。幾何着色器輸入是點(vec3),其輸出是具有位置和UV座標(vec3,vec2)的三角形條。我已經嘗試過兩種頂點輸入綁定的變體,但都不起作用。 如果我設置的頂點像這樣結合: VkVertexInputBindingDescription binding_desc[2] = {}; binding_desc[0].binding

    0熱度

    1回答

    我想用OpenGL編程一些遊戲並閱讀大量教程。不幸的是,我遇到了一個小問題,只是打斷了我的進步。 我創建了一個「網格」類,我移交了一個數組GLfloats。這些浮標包含在VAO和VBO中。 只要我在構造函數中創建數組(使用整個初始化函數)就可以正常工作。但是如果我想將數組作爲參數切換,OpenGL就不會畫出來。我忘了什麼嗎? 這裏是我的主要代碼: Mesh.cpp Mesh::Mesh(GLflo

    0熱度

    1回答

    我已經環顧四周,並沒有發現一個答案的所有呼叫轉移到設備上下文導致訪問衝突(DX 11),這是問題的代碼行:d3d-> GetImmediateContext() - > IASetVertexBuffers(0,1,& vertexBuffer,& stride,0); 無在參數傳遞的是NULL(00000000)(設備上下文也是不爲空),但我仍然可以對設備上下文每個函數調用訪問衝突錯誤。異常消息

    1熱度

    1回答

    假設金屬頂點着色器A更新緩衝區buf。另外假設我有第二個頂點着色器B,它在A之後編碼。 B可以使用buf中的結果嗎?B可能會在A結束之前開始執行,這意味着緩衝區的內容尚未準備好?

    0熱度

    1回答

    我試圖渲染一個像素對齊的2D使用金屬四元組,但似乎無法得到它的權利。 我的頂點緩衝區的內容(如CPU端登錄,在創作)是: Vertex(position: float4(0.0, 0.0, 0.5, 1.0), textureCoordinate: float2(0.0, 0.0)) Vertex(position: float4(0.0, 64.0, 0.5, 1.0), textureCoo

    5熱度

    1回答

    我不明白在OpenGL中綁定點的目的是什麼(例如GL_ARRAY_BUFFER)。據我所知,glGenBuffers()創建了一種指向GPU內存中某處的頂點緩衝對象的指針。 所以: glGenBuffers(1, &bufferID) 意味着我現在有一個手柄,bufferID,到顯卡上1個頂點對象。現在我知道下一個步驟將是bufferID綁定到綁定點 glBindBuffer(GL_ARRAY

    0熱度

    1回答

    這個問題是特定於WebGL,並假定VAOs不可用。 我試圖通過限制低層次的狀態變化的數量做出了3D引擎的一些小的改進。但事實證明,我是一個有點困惑使用bindBuffer和vertexAttribPointer的正確方法。 比方說,我要畫兩個對象: 的第一個對象使用兩個緩衝區一個和ç與元素緩衝è; 第二對象使用緩衝器乙和Ç用相同的要素緩衝器ë。 緩衝器甲和乙使用相同的佈局,並且兩者都通過引用的位置

    1熱度

    1回答

    在VB.Net中使用OpenTK。 我的渲​​染方法: ' clear the screen GL.ClearColor(Color4.Purple) GL.Clear(ClearBufferMask.ColorBufferBit Or ClearBufferMask.DepthBufferBit) ' activate shader program and set