Как вы используете матрицу представления GLM?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как вы используете матрицу представления GLM?

Сообщение Anonymous »

Я пишу небольшую игру на C++, используя GLFW, Glad и GLM, и работаю над отображением одного треугольника в окне. Моя проблема: если я определяю матрицу представления и использую ее внутри моего vertex_shader.glsl, мой треугольник больше не отображается. Кто-нибудь знает, что я делаю не так?
Это мой vertex_shader.glsl с используемым представлением и выводом после запуска кода:

Код: Выделить всё

#version 330 core
layout(location = 0) in vec3 aPos;

uniform mat4 view;

void main() {
gl_Position = view * vec4(aPos, 1.0);
}
Изображение
Это мой vertex_shader.glsl без матрицы представления и результат после запуска кода:

Код: Выделить всё

#version 330 core
layout(location = 0) in vec3 aPos;

uniform mat4 view;

void main() {
gl_Position = vec4(aPos, 1.0);
}
Изображение
Код для отображения треугольника:

Код: Выделить всё

Game.cpp

Код: Выделить всё

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);

lastFrameTime = 0.0f;
deltaTime = 0.0f;

setupGraphics();
}

void Game::setupGraphics() {
float vertices[] = {
-0.5f, -0.5f, 0.0f,  // Bottom-left
0.5f, -0.5f, 0.0f,  // Bottom-right
0.0f,  0.5f, 0.0f   // Top-center
};

unsigned int VBO;
glGenVertexArrays(1, &VAO);
glGenBuffers(1, &VBO);

glBindVertexArray(VAO);

glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);

glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);
glEnableVertexAttribArray(0);

glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
}

// 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();

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79249237/how-do-you-use-glms-view-matrix[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»