shader-storage-buffer

    1熱度

    1回答

    我已綁定的shader storage buffer到shader storage block像這樣 GLuint index = glGetProgramResourceIndex(myprogram, GL_SHADER_STORAGE_BLOCK, name); glShaderStorageBlockBinding(myprogram, index, mybindingpoint);

    1熱度

    1回答

    我創建了一個着色器存儲緩衝區對象,爲我的頂點着色器提供信息。它綁定到包含單個結構的緩衝區。但有一個問題。我保留在這個結構中的數據不是一個簡單的數組,它是一個std::vector。 下面是結構: typedef struct { glm::mat4 modelMatrix; } entityInfo; typedef struct { std::vector<entity

    4熱度

    1回答

    假設我有一個着色器存儲緩衝區並希望在其中有多個視圖,例如,像這樣: layout(std430,binding=0) buffer FloatView { float floats[]; }; layout(std430,binding=0) buffer IntView { int ints[]; }; 這是合法的GLSL嗎? opengl.org說不的: 兩個塊不能使用相同的索引。 但是

    -1熱度

    1回答

    在OpenGL中編寫簡單的計算着色器以瞭解其工作原理,但無法獲得想要的結果。 我想傳遞給我的計算着色器一個結構colourStruct的數組來爲輸出紋理着色。 我想有一個紅色的圖像時,「wantedColor」在我的計算着色器= 0和綠色形象「wantedColor」 = 1,藍色爲2 但我其實只有紅時「wantedColor」 = 1或2或3,黑色當「wantedColor」> 2 ... 如果

    0熱度

    1回答

    我對opengl相當陌生,發現自己處於需要從計算着色器獲取數據的情況,但是由於我錯過了一些不能工作的重要知識。所以我來到這裏,也許你可以給我一些提示。 說我有一個計算着色器是這樣的: #version 430 core struct rmTriangle { vec4 probeCenter; vec4 triangles[3]; }; layout(std430,

    0熱度

    1回答

    我的計算着色器再次出現問題......我想將包含指針的結構傳遞給計算着色器。 這是我的結構,例如: struct couleurStruct { float r; float g; float b; float a; float *x; }; 這裏是我的SSBO初始化: couleurStruct *coul; coul = (couleu