首页 > 其他 > 详细

OpenGL4.x学习之使用绘制三角形

时间:2014-02-20 10:43:34      阅读:471      评论:0      收藏:0      [点我收藏+]

OpenGL4.x学习之使用绘制三角形

       OpenGL很多人都有所了解,也有很多人使用OpenGL开发过工业级的应用和游戏应用,不过它的最新版本OpenGL4.x了解的人就不是太多了。目前OpenGL的最新版本是4.4,并且NVIDIA和AMD厂商发布了支持OpenGL最新版本的驱动程序,我想基于OpenGL4.x讲解的书籍也会逐渐增多。

原创文章,反对未声明的引用。原博客地址:http://blog.csdn.net/gamesdev/article/details/19506553

       程序源代码下载地址:这里

       这回我将上一次的代码稍微作了一下修改,绘制出了一个三角形。其实代码也非常简单,在Client端将GL_POINTS改为GL_TRIANGLES就可以了,片断着色器也不需要做更多的修改,主要是顶点着色器。

下面是顶点着色器的内容:

#version 430 core

void main( void )
{
    // 根据传入的ID使用不同gl_Position
    const vec4 vertices[3] = vec4[3](
                vec4( 0.25, -0.25, 0.5, 1.0 ),
                vec4( -0.25, -0.25, 0.5, 1.0 ),
                vec4( 0.25, 0.25, 0.5, 1.0 ) );
    gl_Position = vertices[gl_VertexID];
}

       这里注意的是gl_VertexID是一个在OpenGL中是一个内置的变量,每个顶点运行它时它们的gl_VertexID都不一样。我们利用这样的特点,将此作一个索引,得到不同的gl_Position,用以传入下一阶段——栅格化(Rasterize),这样一个三角形就得以显示出来了。

下面是演示程序的截图:

bubuko.com,布布扣

OpenGL4.x学习之使用绘制三角形

原文:http://blog.csdn.net/gamesdev/article/details/19506553

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!