c++ - mac 中的 glTexParameteri 段错误

标签 c++ c macos cocoa opengl

我尝试在 mac 上使用 OpenGL glut 并在以下方面出现段错误:

GLuint g_frameBuffer;

void render()
{
    //Clear color buffer
    glClear( GL_COLOR_BUFFER_BIT );

    //Render quad
    glBegin( GL_QUADS );
        glVertex2f( -0.5f, -0.5f );
        glVertex2f(  0.5f, -0.5f );
        glVertex2f(  0.5f,  0.5f );
        glVertex2f( -0.5f,  0.5f );
    glEnd();

    //Update screen
    glutSwapBuffers();
}

int main( int argc, char* args[] ){

    glutInit( &argc, args );
    glutInitWindowSize  ( 1000, 1000);
    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

    glutCreateWindow("Paintstorm");
    glutInitDisplayMode(GLUT_RGBA);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    glEnable(GL_TEXTURE_2D);

    glGenFramebuffersEXT( 1, &g_frameBuffer );
    //Set rendering function
    glutDisplayFunc( render );
    //Start GLUT main loop
    glutMainLoop();

    return 0;
}

我用 -framewok OpenGL, -framework GLUT, -framework Cocoa 编译它 当我添加 glTextParametri 时出现错误

最佳答案

您应该在调用 glEnable(GL_TEXTURE_2D) 之后调用 glTexParameteri。你可能在这里有段错误,因为你没有有效的 opengl 上下文(你在 glutCreateWindow 之后有它)

关于c++ - mac 中的 glTexParameteri 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29576366/

相关文章:

c++ - 游戏菜单不工作 C++

c++ - epoll 和 boost::asio::io_context 有什么区别?

C++ - 多维数组中的指针

c++ - 为什么我不能将对象插入到 C++ 的映射中

c - 尝试在 bmp 文件中画线时如何在 C 中实现 Bresenham 的线算法?

c++ - C 到 C++ 表内联定义

c - 在给定数组的指定位置插入元素

objective-c - 收听我的文本字段的值更改

performance - 作为开发人员,您在 vanilla OS X 系统上进行了哪些更改或安装?

c# - 同一个库之间的调用不明确?