Wie übertrage ich ein Array von Strukturen von glfw c++ nach glsl? [geschlossen]C++

Programme in C++. Entwicklerforum
Guest
 Wie übertrage ich ein Array von Strukturen von glfw c++ nach glsl? [geschlossen]

Post by Guest »

Können Sie mir helfen, ein Array von Strukturen auf einen Shader zu übertragen?
Ich habe ein TochechSvet-Array
с++:

Code: Select all

struct TochechSvet {
TochechSvet(glm::vec3 zerkal = glm::vec3(), glm::vec3 smeshenie = glm::vec3(), glm::vec3 minSvet = glm::vec3(), glm::vec3 mesto = glm::vec3(), float konstanta = 0.f, float linei = 0.f, float kvadrat = 0.f)
: zerkal(zerkal), smeshenie(smeshenie), minSvet(minSvet), mesto(mesto), konstanta(konstanta), linei(linei), kvadrat(kvadrat)
{
}
glm::vec3 zerkal;
glm::vec3 smeshenie;
glm::vec3 minSvet;

glm::vec3 mesto;

float konstanta;
float linei;
float kvadrat;

};
der Shader selbst, um das Array an
glsl:
zu übergeben

Code: Select all

struct TochechSvet {
vec3 otraj;
vec3 smesh;
vec3 minSvet;

vec3 mesto;

float konstanta;
float linei;
float kvadrat;

};

layout(std430, binding = 2) buffer Pomeh
{
TochechSvet tochechSveti[];
};
Wie wäre es richtig, ein Array von TochechSvet-Strukturen zu übergeben?
Ich versuche
с++:

Code: Select all

glGenBuffers(1, &idGLarr);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, idGLarr);
glBufferData(GL_SHADER_STORAGE_BUFFER, numSvet * sizeof(TochechSvet), svetArr, GL_STATIC_DRAW);
glBindBufferBase(GL_SHADER_STORAGE_BUFFER, 2, idGLarr);
glBindBuffer(GL_SHADER_STORAGE_BUFFER, 0);
aber es funktioniert nicht

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post