Kontextfreigabe zwischen zwei Fenstern in SFML
Posted: 14 Jan 2025, 11:39
Beim Erstellen von zwei Fenstern mit sfml habe ich herausgefunden, dass nur eines der Fenster das Dreieck anzeigt, abhängig von der Funktion window.setActive(), die im folgenden Code aufgerufen wird. Eines der Fenster ist komplett einfarbig. Hier ist der Code, der das Problem repliziert hat
Code: Select all
#include
#include
#include
// Vertex Shader Source
const char* vertexShaderSource = R"(
#version 460 core
layout (location = 0) in vec3 position;
void main()
{
gl_Position = vec4(position, 1.0);
}
)";
// Fragment Shader Source
const char* fragmentShaderSource = R"(
#version 460 core
out vec4 color;
void main()
{
color = vec4(0.2, 0.8, 0.2, 1.0); // Green color
}
)";
// Triangle Vertex Data
const float triangleVertices[] = {
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f,
0.0f, 0.5f, 0.0f
};
// Compile and link shaders
GLuint CompileShaderProgram() {
GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertexShader, 1, &vertexShaderSource, nullptr);
glCompileShader(vertexShader);
GLint success;
glGetShaderiv(vertexShader, GL_COMPILE_STATUS, &success);
if (!success) {
char infoLog[512];
glGetShaderInfoLog(vertexShader, 512, nullptr, infoLog);
std::cerr