0
計算シェーダで単純なレイトレーシングを実装しています。計算シェーダの読み込み中にエラーが発生する
しかし、私は計算シェーダのプログラムオブジェクトをリンクしていません。
#version 440
struct triangle {
vec3 points[3];
};
struct sphere {
vec3 pos;
float r;
};
struct hitinfo {
vec2 lambda;
int idx;
};
layout(binding = 0, rgba32f) uniform image2D framebuffer;
// wrriten by compute shader
layout (local_size_x = 1, local_size_y = 1) in;
uniform triangle triangles[2500];
uniform sphere spheres[2500];
uniform int num_triangles;
uniform int num_spheres;
uniform vec3 eye;
uniform vec3 ray00;
uniform vec3 ray10;
uniform vec3 ray01;
uniform vec3 ray11;
これは私の計算シェーダコードで、「リソース不足」エラーが発生する可能性があります。 私はこのエラーの理由は三角形のサイズがわかっていますが、私はそのサイズが必要です。
多数の三角形をシェーダにどのように渡すことができますか?
ありがとうございました。非常に役に立ちます:) –
シェイダーが非常に限定されたユニフォームを持つことができる理由を尋ねることはできますか?私は私のVRAMは上記の配列を読み込むのに十分だと思います –