0
다시 한번 계산 쉐이더에 문제가 있습니다 ... 계산 쉐이더에 포인터가 들어있는 구조체를 전달하고 싶습니다. 이 내 구조의 예이다 : 나는 다른 초기화의 그러나 성공없이 많은 시도 Compute Shader의 입력 구조체에 대한 포인터
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);
... 그래서
하는 방법이 :
여기struct couleurStruct {
float r;
float g;
float b;
float a;
float *x;
};
내 SSBO 초기화입니다 필요로하는 모든 메모리를 할당하고 (포인터로 가리키는 각 배열 내부에 필요한 메모리를 알고 있기 때문에) 계산 쉐이더로 전달할 수 있습니까? 또는 계산 쉐이더에 포인터를 전달하는 것이 실제로 불가능합니까?
도움 주셔서 감사합니다.
다시 한 번 감사드립니다. 그래서 포인터를 정적 배열로 바꿀 것입니다. 물론 위의 코드는 테스트 코드 일 뿐이며 실제로 작업하고있는 코드는 아닙니다. – bRiocHe