c ++ VS17 - окно GL пустое, а название - название решения - PullRequest
0 голосов
/ 22 января 2019

Я следую довольно простому руководству, и все файлы компилируются, и я использую openGL, glew и glfw в моем текущем коде. Окно не отображается правильно, и я не думаю, что оно даже отображается. У меня есть мой main.cpp:

#include "stdafx.h"
#include "Libs.h"
int main(int argc, char **argv) { 

    glfwInit();

const int WINDOW_WIDTH = 640;
const int WINDOW_HEIGHT = 480;
int FRAME_BUFFER_WIDTH = 0;
int FRAME_BUFFER_HEIGHT = 0;

glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); 

GLFWwindow* window = glfwCreateWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Custom Name", NULL, NULL);

glfwGetFramebufferSize(window, &FRAME_BUFFER_WIDTH, &FRAME_BUFFER_HEIGHT);
glViewport(0, 0, FRAME_BUFFER_WIDTH, FRAME_BUFFER_HEIGHT);

glfwMakeContextCurrent(window);

glewExperimental = GL_TRUE;

if (glfwInit() != GLEW_OK) {
    std::cout << "GLFW INIT != GL_OK \n";
    glfwTerminate();
}

//Main loop

while (!glfwWindowShouldClose(window)) {

    glfwPollEvents();

    glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

    glfwSwapBuffers(window);
    glFlush();
}

glfwTerminate();
return 1;

}

и мой Libs.h

#pragma once

#include <iostream>
#include <glew.h>
#include <glfw3.h>
#include <glm.hpp>
#include <vec2.hpp>
#include <vec3.hpp>
#include <vec4.hpp>
#include <mat4x4.hpp>
#include <gtc/matrix_transform.hpp>
#include <gtc/type_ptr.hpp>
#include <SOIL2.h>

Все это прекрасно компилируется и открывается без ошибок. Я не вижу текст консоли, который я отображаю (std :: cout), когда я работаю в Visual Studio. Проблема в том, что когда он открывается, окно отображается так: Отображаемое окно

Как видите, окно полностью пустое и зеленого цвета нет (как и должно быть). Кроме того, имя окна - это имя моего решения, а не то, которое я ему дал («Пользовательское имя»). Наконец, значок для окна - это пакет, который, я думаю, означает, что это не GL, а Visual Studio. Я понятия не имею, почему это происходит, и никаких ошибок не происходит.

Если у кого-нибудь есть возможное исправление, спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Исправлено: Довольно просто, я сделал свой проект с дополнительными файлами уже там.Мне нужно было сделать это из пустого проекта, надеюсь, это поможет кому-нибудь в будущем.

...