gpt4 book ai didi

c++ - 为glViewport(0,0,framebufferWidth,framebufferHight)抛出异常;

转载 作者:行者123 更新时间:2023-12-01 15:12:55 25 4
gpt4 key购买 nike

#include "list.h"

int main()
{
//INIT GLFW
glfwInit();

//CREATE WINDOW

const int WINDOW_WIDTH = 640;
const int WINDOW_HEIGHT = 480;
int framebufferWidth = 0;
int framebufferHight = 0;

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

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

glfwGetFramebufferSize(window, &framebufferWidth, &framebufferHight);

glViewport(0, 0, framebufferWidth, framebufferHight);

glfwMakeContextCurrent(window);//IMPORTIANT!!

//INIT GLEW (NEEDS WINDOW AND OPENGL CONTEXT)
glewExperimental = GL_TRUE;

>//Error

if (glewInit() != GLEW_OK)
{
std::cout << "ERROR::MAIN.CPP::GLEW_INIT_FAILED" << "\n";
glfwTerminate();
}

//MAIN LOOP
while (glfwWindowShouldClose(window))
{
//UPDATE INPUT ---


//UPDATE ---

//DRAW ---
//Clear

//Draw

//End Draw
}

//END OF PROGAM
glfwTerminate();

return 0;
}
glViewport(0, 0, framebufferWidth, framebufferHight);给我

Unhandled exception at >0x00007FF704D6E7D9 in OpenzGL4.exe: 0xC0000005: Access violation reading >location >0x0000000000000348.



当我运行它时。

最佳答案

对于任何OpenGL指令,都需要有效的当前OpenGL Context。因此,必须在任何OpenGL指令之前调用okita:

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

glfwMakeContextCurrent(window); // <----- ADD

glfwGetFramebufferSize(window, &framebufferWidth, &framebufferHight);

glViewport(0, 0, framebufferWidth, framebufferHight);

glfwMakeContextCurrent(window); // <----- DELETE

关于c++ - 为glViewport(0,0,framebufferWidth,framebufferHight)抛出异常;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62109020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com