首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否为FSAA多采样和glVertexPointer/glColorpointer指针兼容的wgl控件

是否为FSAA多采样和glVertexPointer/glColorpointer指针兼容的wgl控件
EN

Stack Overflow用户
提问于 2014-05-16 13:40:19
回答 1查看 133关注 0票数 0

我希望这是描述我所做的一切的正确方式!我创建了一个支持FSAA的WGL OpenGL上下文。我通过使用

代码语言:javascript
复制
glBindBuffer(GL_ARRAY_BUFFER, my_gl_vertexbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data[0][0])*9, g_vertex_buffer_data, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glBindBuffer(GL_ARRAY_BUFFER, my_gl_vertexbuffer);

glVertexAttribPointer(
        0,                  
        3,
        GL_FLOAT,
        GL_FALSE,
        0,   
        (void*)0 
    );

glBindBuffer(GL_ARRAY_BUFFER, my_gl_colorbuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(g_color_buffer_data[0][0])*9, g_color_buffer_data, GL_STATIC_DRAW);    
glEnableVertexAttribArray(1);
glBindBuffer(GL_ARRAY_BUFFER, my_gl_colorbuffer);

glVertexAttribPointer(
        1,                                // attribute. No particular reason for 1, but must match the layout in the shader.
        3,                                // size
        GL_FLOAT,                         // type
        GL_FALSE,                         // normalized?
        0,                                // stride
        (void*)0                          // array buffer offset
    );

glDrawArrays(GL_TRIANGLES, 0, 3); // 3 indices starting at 0 -> 1 triangle

我得到一个输出,没有照明,因为我没有照明计算在我的着色器,因为我有3盏灯照亮了现场。

所以有人建议我可以

代码语言:javascript
复制
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, g_vertex_buffer_data);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(3, GL_FLOAT, 0,g_color_buffer_data);
glDrawArrays(GL_TRIANGLES, 0, 3); // 3 indices starting at 0 -> 1 triangle

哪种类型在不支持FSAA的简单OpenGL上下文中工作。在没有任何着色器加载的FSAA WGL上下文中,我可以使用固定的管道,我得到的全部是我清除屏幕到的背景颜色-它似乎没有渲染任何东西。FSAA上下文中不支持glVertexPointer等命令吗?或者,对于WGL上下文,我必须使用着色器吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 17:33:32

你不能使用glVertexPointer (...)glColorPointer (...)等.在向前兼容的上下文中。

您的问题与MSAA无关(尽管使用64x会引起眉毛),相反,您已经告诉GL消除所反对的一切。在限制性方面,向前兼容的上下文是超越核心的一步。有些东西是不推荐的,但在核心中不被移除,比如宽线.前向兼容移除在核心中仍然有效的任何不推荐的内容。

尽管如此,glColorPointer (...)既是,也是,它被弃用并从核心中删除。必须从上下文标志中删除与前向兼容的位才能使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23696637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档