Я пытаюсь настроить объект буфера кадра, но я получаю ошибки. glGenFramebuffers всегда не объявлены, как и другие подобные вещи, такие как glBindFramebuffer.glGenFramebuffers, glBindFramebuffer и т. Д. Undeclared
Я считаю, что проблема связана с импортом, но я не уверен, как это сделать. Существует вероятность того, что glew не может быть настроен правильно, но я не нашел простого объяснения того, как установить это полностью.
Вот код, который терпит неудачу.
myBuffer = 0;
glGenFramebuffers(1, &myBuffer);
glBindFramebuffer(GL_FRAMEBUFFER, myBuffer);
glGenTextures(1, &renderedTexture);
// Bind to new texture
glBindTexture(GL_TEXTURE_2D, renderedTexture);
// Blank image
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGB, 1024, 768, 0,GL_RGB, GL_UNSIGNED_BYTE, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glGenRenderbuffers(1, &dBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, dBuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, 1024, 768);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, dBuffer);
// Set "renderedTexture" as colour attachement #0
glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, renderedTexture, 0);
DrawBuffers[2] = {GL_COLOR_ATTACHMENT0};
glDrawBuffers(1, DrawBuffers); // "1" is the size of DrawBuffers
// Check framebuffer is ok
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
return false;
Это мой импорт
#include "WindowingSystem.h"
#include <math.h>
#include <vector>
#include <windows.h>
#include <GL/glut.h>
#include <iostream>
#include <string>
#include <sstream>
#include <windows.h>
#include <mmsystem.h>
#include <GL/glu.h>
#include <GL/gl.h>
Вот мои линкеры -lglut32 -lglu32 -lglew32 -lopengl32 -lwinmm
А вот ссылка на изображение моих опций компилятора https://dl.dropboxusercontent.com/u/13330596/info.png
Я использую 32-разрядную версию Dev C++ на компьютере с Windows
Вот ссылка на весь файл кода https://dl.dropboxusercontent.com/u/13330596/Exercise1.cpp
Пожалуйста, обратитесь к любой дополнительной информации
ОК, поэтому, когда я PUT GL/glew.h, я получаю сообщение об ошибке, а также другое высказывание «84: 2 C: \ Dev-Cpp \ include \ GL \ glew.h # ошибка gl.h включена до glew.h ". Я попытался включить glew перед glu.h, но потом я получил «Aborted (program collect2)» –
@AdamKenworthy Попробуйте также включить его перед '' (так как я думаю, что это может привести и к 'gl.h'). –
Перемещение glew над перенасыщением дает мне ту же ошибку при заказе. У меня есть #include "WindowingSystem.h" наверху, в котором есть #include внутри себя. Означает ли это, что включение оконной системы также включает перенасыщение в моем основном файле? –