Opengl切换到即时模式

Opengl切换到即时模式,opengl,Opengl,是否可以在opengl中从“vbo模式”切换到即时模式并向后切换 在调试时,我发现直接进入glBegin(…)比设置vaos、vbos等更容易 在我的init()函数中,有以下内容: if (!(GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader)) { Log::instance() << "glsl not ready.\n"; return false; } if(!(GLEW\u ARB\u

是否可以在opengl中从“vbo模式”切换到即时模式并向后切换

在调试时,我发现直接进入glBegin(…)比设置vaos、vbos等更容易

在我的init()函数中,有以下内容:

if (!(GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader))
{
    Log::instance() << "glsl not ready.\n";
    return false;
}
if(!(GLEW\u ARB\u vertex\u着色器和GLEW\u ARB\u fragment\u着色器))
{

日志::实例()这取决于OpenGL上下文。如果使用core,则该版本中的函数将无法使用。如果使用兼容上下文,则它是向后兼容的。这一切都取决于初始化OpenGL上下文的API。我使用glew。如何知道我使用的是core还是兼容上下文?如何创建窗口?通常是y你没有明确要求核心上下文,你会得到一个兼容性上下文。我们应该看看你是如何初始化你的OpenGL上下文的。你是在使用GLFW、SDL还是其他任何东西?我使用freeglut。我应该提到的是,我的真正目的其实只是绘制一个球体。这取决于OpenGL上下文。如果你使用核心,那么你就会被困在乐趣中该版本中的操作。如果您使用兼容上下文,则它是向后兼容的。这取决于哪个API初始化OpenGL上下文。我使用glew。如何知道我使用的是核心上下文还是兼容上下文?如何创建窗口?通常,如果您没有显式要求核心上下文,您将获得一个兼容上下文我们应该看看你是如何初始化你的OpenGL上下文的。你是使用GLFW,SDL还是其他的?我使用freeglut。我应该提到我的真正目的只是画一个球体。
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_MULTISAMPLE);
    glutInitWindowSize(1600,900);
    glutInitWindowPosition(200, 50);
    glutCreateWindow("OpenGL4");
    glutIgnoreKeyRepeat(0);
    glutKeyboardUpFunc(keyboardUp);
    glutSpecialFunc(specialKeyboard);
    glutSpecialUpFunc(specialKeyboardUp);
    glutSetCursor(GLUT_CURSOR_NONE);
    ...
GLenum result = glewInit();

    if(result != GLEW_OK) {
        Log::instance() << "glewInit() error.\n";
        return false;
    }

    if (!(GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader))
    {
        Log::instance() << "glsl not ready.\n";
        return false;
    }

    //opengl stuff
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_CULL_FACE);
    glClearColor(0.15f, 0.15f, 0.15f, 1.0f);
}