我想設置一個幀緩衝區對象,但我得到錯誤。 glGenFramebuffers和glBindFramebuffer等其他類似的東西一樣都是未聲明的。glGenFramebuffers,glBindFramebuffer等未公開
我相信問題是與導入有關,但我不確定如何去解決這個問題。有可能無法正確安裝,但我還沒有找到一個簡單的解釋來說明如何完全設置它。
這是失敗的代碼。
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
我在Windows機器上使用32位版本的Dev C++
這裏是整個代碼文件的鏈接 https://dl.dropboxusercontent.com/u/13330596/Exercise1.cpp
請詢問任何更多信息
好的,所以當我PUT GL/glew.h中出現錯誤時,還有另一個說法「84:2 C:\ Dev-Cpp \ include \ GL \ glew.h#在glew.h之前包含錯誤gl.h「。我嘗試在glu.h之前包括glew,但是然後我得到「Aborted(program collect2)」 – 2013-04-26 11:14:40
@AdamKenworthy嘗試在''之前加入它(因爲我認爲這可能會引入'gl.h')。 –
2013-04-26 11:21:32
在glut之上移動glew會給我提供與訂購相同的錯誤。我在#頂部包含了「WindowingSystem.h」,它包含#include。這是否意味着包含windowingsystem在我的主文件中也包含過剩? –
2013-04-26 11:28:36