So, ich habe soweit mal alles implementiert. Allerdings taucht ein weiteres Problem auf:
|
Quellcode
|
1
2
3
4
5
6
7
8
|
[...]
layout(std140) uniform Textures
{
sampler2D DiffuseTexture;
};
[...]
|
|
Quellcode
|
1
2
3
4
5
|
[Shader] > Compilation failed: Fragment shader failed to compile with the following errors:
ERROR: 0:12: error(#366) 'use sampler/image in interface block' require extension GL_ARB_bindless_texture. but it is not supported on this card
ERROR: 0:16: error(#143) Undeclared identifier: DiffuseTexture
ERROR: 0:16: error(#202) No matching overloaded function found: texture2D
ERROR: error(#273) 3 compilation errors. No code generated
|
Eine Google-Suche ergab, dass das Problem daher rührt, dass ich in einem Uniform-Block keine Sampler verwenden kann, da diese keine fest definierte Größe besitzen. Was soll ich jetzt tun? Von Uniform-Buffern muss ich jetzt wohl absehen, und explizite Locations für Uniforms scheint es zwar zu geben, allerdings sind diese weitaus unpraktischer als für Attribute. Was wäre hier wohl die bestmöglichste Lösung?