Я пишу небольшую игру на C++, используя GLFW, Glad и GLM, и работаю над отображением одного треугольника в окне. Моя проблема: если я определяю матрицу представления и использую ее внутри моего vertex_shader.glsl, мой треугольник больше не отображается. Кто-нибудь знает, что я делаю не так?
Это мой vertex_shader.glsl с используемым представлением и выводом после запуска кода:
Я пишу небольшую игру на C++, используя GLFW, Glad и GLM, и работаю над отображением одного треугольника в окне. Моя проблема: если я определяю матрицу представления и использую ее внутри моего vertex_shader.glsl, мой треугольник больше не отображается. Кто-нибудь знает, что я делаю не так? Это мой vertex_shader.glsl с используемым представлением и выводом после запуска кода: [code]#version 330 core layout(location = 0) in vec3 aPos;
uniform mat4 view;
void main() { gl_Position = view * vec4(aPos, 1.0); } [/code] [img]https://i.sstatic.net/V0bXD5Xt.png[/img] Это мой vertex_shader.glsl без матрицы представления и результат после запуска кода: [code]#version 330 core layout(location = 0) in vec3 aPos;
uniform mat4 view;
void main() { gl_Position = vec4(aPos, 1.0); } [/code] [img]https://i.sstatic.net/XIVuBm2c.png[/img] Код для отображения треугольника: [code]Game.cpp[/code] [code]Game::Game() { window = new Window(800, 600, "Omnia"); shader = new Shader("vertex_shader.glsl", "fragment_shader.glsl"); camera = new Camera(glm::vec3(0.0f, 0.0f, 3.0f), glm::vec3(0.0f, 1.0f, 0.0f), -90.0f, 0.0f);
// Function to print a glm::mat4 matrix void printMatrix(const glm::mat4& matrix) { for (int row = 0; row < 4; ++row) { for (int col = 0; col < 4; ++col) { std::cout getViewMatrix();