小编Ada*_*thy的帖子

glGenFramebuffers,glBindFramebuffer等未声明

我正在尝试设置帧缓冲区对象,但我收到错误.glGenFramebuffers总是未声明的,像glBindFramebuffer这样的其他类似的事情也是如此.

我认为问题与导入有关,但我不确定如何解决这个问题.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; …
Run Code Online (Sandbox Code Playgroud)

opengl fbo framebuffer undeclared-identifier

1
推荐指数
1
解决办法
7064
查看次数

C++ vector erase崩溃程序

我的程序创建向前移动的射弹,如果它们超出某些界限,则将从存储它们的向量中删除它们.向量存储xcord,ycord,zcord及其各自的方向.

int size = bullet.size();
        for(int i = 0; i < size; i+=6)
        {
                float xc = bullet[i];
                float yc = bullet[i+1];
                float zc = bullet[i+2];
                float xd = bullet[i+3];
                float yd = bullet[i+4];
                float zd = bullet[i+5];
                if(xc > 100 || yc > 10 || zc > 100 || xc < -100 || yc < -10 || zc < -100)
                {
                      bullet.erase(bullet.begin()+i, bullet.begin()+i+5);
                      size=size-6;
                      i = i-6;
                }
                else
                {
                     glEnable(GL_TEXTURE_2D);
                     glBindTexture ( GL_TEXTURE_2D, texture_id[3] );
                     glPushMatrix(); 
                     glTranslatef( xc+(xd/2), …
Run Code Online (Sandbox Code Playgroud)

c++ vector erase projectile

0
推荐指数
1
解决办法
1352
查看次数