gpt4 book ai didi

c++ - OpenGL 给出无效的图像格式

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:56:43 25 4
gpt4 key购买 nike

我有一个从 opengl 中突然出现的无效图像格式错误。我不确定是不是因为我使用的是预编译头文件,或者我只是没有正确初始化 OpenGL。据我所知,我没有使用 C++/CLI(我选择在 VC++ Express 2010 中创建一个空项目)。我正在运行 Windows7 (x64),我的错误代码是 0xc000007b

这在 OpenGL 中常见吗?我也在使用 Glew 和 Freeglut。

奇怪的是我根本没有尝试渲染图像或任何东西;我只是想让一个窗口出现。

代码

#include "stdafx.h"
#include "triangle.h"
#include "matrix3f.h"

static GLfloat move;
static GLfloat spin;

void init() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);

}

void display() {
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glShadeModel(GL_FLAT);
glPopMatrix();
glutSwapBuffers();
}

void draw_window() {
int height = 500;
double width = 1.9 * (double)height;
glutInitWindowSize((int)width, height);
glutInitWindowPosition(0, 0);
glutCreateWindow("opengl_03");
}

void spin_display() {
spin += 2.0;
if (spin > 360.0)
spin -= 360.0;
glutPostRedisplay();
}

void move_display() {
move += 1.0;
if (move > 10)
move -= 10;
glutPostRedisplay();
}

void keyboard(unsigned char button, int state, int x) {

}

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitContextVersion(3, 1);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
init();
draw_window();

//system("pause");

return 0;
}

还有一点很有趣,那就是我如何从中得到一个糟糕的图像格式。我已检查以确保我的版本也在 IDE 中调试。

问题

我的主要问题是,如果可能的话,确切地知道我做错了什么。

更新

我尝试将 glew32.dll 移动到 SysWOW64,不幸的是,这没有用。我还尝试了将我的 draw_window 函数移动到 main 顶部的建议,但也没有用。

最佳答案

问题已解决。

不要将 freeglut.dll 放入您的 SysWOW64 文件夹;相反,将它添加到您的 System32 文件夹中。

至少,首先尝试 System32 文件夹。

关于c++ - OpenGL 给出无效的图像格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683880/

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