У меня ошибка Invalid Image Format, которая возникает из 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
в верхнюю часть основного, и это тоже не сработало.