0
我的計算着色器再次出現問題......我想將包含指針的結構傳遞給計算着色器。 這是我的結構,例如:計算着色器的輸入結構指針
struct couleurStruct {
float r;
float g;
float b;
float a;
float *x;
};
這裏是我的SSBO初始化:
couleurStruct *coul;
coul = (couleurStruct *)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 1 * sizeof(couleurStruct), bufMask);
//coul->x = (float *)glMapBufferRange(GL_SHADER_STORAGE_BUFFER, 0, 1 * sizeof(float), bufMask);
coul->r = 0.0;
coul->g = 1.0;
coul->b = 0.0;
coul->a = 1.0;
coul->x[0] = 0.5;
glUnmapBuffer(GL_SHADER_STORAGE_BUFFER);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 4, structBuffer);
我嘗試了很多不同的初始化,但沒有成功......
那麼,有沒有一種方法分配所有需要的內存(因爲我知道我需要在我的指針指向的每個數組內的內存)並將它傳遞給計算着色器?或者是否真的不可能將指針傳遞給計算着色器?
謝謝你的幫助!
再次感謝您!所以我將把指針改爲靜態數組......當然,上面的代碼只是一個測試代碼,而不是我真正在做的。 – bRiocHe