У меня проблемы с учебником OpenGL на C ++. Я пытаюсь рисовать линии по щелчку мыши, где один край равен 0,0, а второй - положение курсора. Когда я устанавливаю значения вручную, он рисует правильно, но когда я использую переменные, которые представляют позицию курсора, он вообще не рисует.
Это моя функция обратного вызова, где я читаю позицию курсора.
GLfloat x;
GLfloat y;
static void cursor_position_callback(GLFWwindow* window, double xpos, double ypos) {
x = xpos / (1024 / 2) - 1.0;
y = ypos / (768 / 2) - 1.0;
}
Здесь я передаю переменные для рисования
do{
// Calculate position
static GLfloat g_vertex_buffer_data[] = {
//0.5f, 0.0f, 0.0f <------ THIS WORKS
x, y, 0.0f
};
std::cout << x << " " << y << std::endl;
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
...
// Draw the triangle !
// if mouse clicked
if (glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS) {
glDrawArrays(GL_LINES, 0, 2);
}
Я буду признателен за любую помощь!