glBegin(GL_TRIANGLES);
  glVertex3f( 0.0f, 1.0f, 0.0f);
  glVertex3f(-1.0f,-1.0f, 0.0f);
  glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();

begin end 中间是构成矢量图形的点

#define GL_POINTS                         0x0000
#define GL_LINES                          0x0001
#define GL_LINE_LOOP                      0x0002
#define GL_LINE_STRIP                     0x0003
#define GL_TRIANGLES                      0x0004
#define GL_TRIANGLE_STRIP                 0x0005
#define GL_TRIANGLE_FAN                   0x0006
#define GL_QUADS                          0x0007
#define GL_QUAD_STRIP                     0x0008
#define GL_POLYGON                        0x0009

#include "header.h"GLvoid ReSizeGLScene(GLsizei width, GLsizei height)
{if (height==0)                                   {height=1;                                 }glViewport(0,0,width,height);                  glMatrixMode(GL_PROJECTION);                    glLoadIdentity();                           gluPerspective(25.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);glMatrixMode(GL_MODELVIEW);                            glLoadIdentity();
}int InitGL(void)
{glShadeModel(GL_SMOOTH);                       glClearColor(0.0f, 0.0f, 0.0f, 0.5f);               glClearDepth(1.0f);                             glEnable(GL_DEPTH_TEST);                            glDepthFunc(GL_LEQUAL);                             glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);  return TRUE;
}void DrawGLScene(void)
{glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    glLoadIdentity();                                   glTranslatef(-1.5f,0.0f,-6.0f);                 glBegin(GL_TRIANGLES);                              glVertex3f( 0.0f, 1.0f, 0.0f);              glVertex3f(-1.0f,-1.0f, 0.0f);                  glVertex3f( 1.0f,-1.0f, 0.0f);              glEnd();                                        glTranslatef(3.0f,0.0f,0.0f);                       glBegin(GL_QUADS);                              glVertex3f(-1.0f, 1.0f, 0.0f);                  glVertex3f( 1.0f, 1.0f, 0.0f);      glVertex3f( 1.0f,-1.0f, 0.0f);              glVertex3f(-1.0f,-1.0f, 0.0f);              glEnd();                                        glFlush();
}int main(int argc, char** argv)
{glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);glutInitWindowSize(640,480);glutCreateWindow("2D图形");glutReshapeFunc(ReSizeGLScene);glutDisplayFunc(DrawGLScene);InitGL();glutMainLoop();return 0;
}

OpenGL学习三:绘制矢量图形模型相关推荐

  1. 【OpenGL学习】绘制三角形

    绘制三角形 上节中完成了窗口的绘制,这节我们主要实现在窗口中完成一个最简单的三角形的绘制,同样,要完成一个三角形的绘制,需要以下内容: Vertex Array 存放顶点数据的数组(实际上存放的是顶点 ...

  2. opengl学习2 绘制三角形和矩形

    在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应你屏幕的2D像素.3D坐标转为2D坐标的处理过程是由OpenGL的图形 ...

  3. OpenGL学习脚印: 绘制一个三角形

    写在前面 接着上一节内容,开发环境搭建好后,我们当然想立即编写3D应用程序了.不过我们还需要些耐心,因为OpenGL是一套底层的API,因而我们要掌握的基本知识稍微多一点,在开始绘制3D图形之前,本节 ...

  4. OpenGL学习笔记--绘制图元

    图元 图元primitive,即图形元素,是可以编辑的最小图形单位.图元是图形软件用于操作和组织画面的最基本的素材.一幅画面由图元组成,图元是一组最简单的.最通用的几何图形或字符. 在OpenGL中最 ...

  5. OpenGL学习三十九:飘动的旗帜

    (此节内容对应NEHE教程第11课) 目前为止我们做的例子都是平面的,这个例子是带有波动效果的, 2维图形包括X,Y两个坐标系.因此看到的是平面的. 3维图形由X,Y,Z三个坐标系构成,当Z坐标不为0 ...

  6. OpenGL学习10_绘制行星系统

    下面的Demo还使用了多种组合变换来实现地球绕太阳公转和自转的实现,还是直接看代码,有详细的注释. <span style="font-size:12px;">// / ...

  7. 好好学习-三种网络攻击模型

    攻击树模型 以AND-OR的树结构来对目标对象进行网络安全威胁分析.树的根节点表示最终的入侵目标,节点序号代表攻击的先后顺序,叶节点是攻击实例. MITRE ATT&CK模型 是一个基于真实世 ...

  8. CSS3初级学习(三) 绘制彩虹

    绘制弧形彩虹 仅使用CSS+部分CSS3绘制出七种颜色的弧形彩虹 html部分: <div class="box"><div class="rainbo ...

  9. OpenGL学习五:矢量图形旋转

    glRotatef(quard,x,y,z);   旋转函数 quard 旋转角度 x,y,z 绕着(x,y,z)轴旋转 glRotatef(rtri,0.0f,1.0f,0.0f); glBegin ...

  10. OpenGL学习脚印: 二维纹理映射(2D textures)

    写在前面  前面两节介绍了向量和矩阵,以及坐标和转换相关的数学,再继续讨论模型变换等其他包含数学内容的部分之前,本节介绍二维纹理映射,为后面学习做一个准备.纹理映射本身也是比较大的主题,本节只限于讨论 ...

最新文章

  1. 2020 CCPC-Wannafly Winter Camp Day1 总结
  2. python学习点滴记录-Day10-线程
  3. npm install 报权限错误,permission denied
  4. IBM SOA解决方案
  5. hdu 4923 Room and Moor (单调栈+思维)
  6. 资深项目经理的10条项目管理心得
  7. Hadoop学习之路一 Single Node Setup
  8. ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
  9. 使用SampleGrabber过滤器扑获图像
  10. 自己动手写DB数据库框架(增)
  11. 利用Java手写简单的httpserver
  12. 如何安装vs2010助手?
  13. PyTorch手写字体识别
  14. java cmd 编译jar_Java程序在命令行下编译运行打Jar包
  15. adb 切换默认桌面_超强桌面管理神器,有你想不到的效果!
  16. 怦然心动(Flipped)-6
  17. 3D打印开源切片软件Cura配置步骤
  18. 今日分享-ios蓝牙
  19. JDK JRE JVM的区别
  20. oracle 8i 启动,如何快速启动oracle 8i SQL-Plus?

热门文章

  1. 无线断开了怎么连接服务器,如何在Bluez/Linux上从GATT服务器断开连接事件
  2. 【汇编语言】王爽实验6-将datasg段中的每个单词的前四个字母改为大写字母
  3. OpcUa服务器环境搭建
  4. 页游php怎么读其他文件夹,PHP网页游戏学习之Xnova(ogame)源码解读(十)
  5. 【无标题】我的数据中心
  6. 浅论RMS一体化设计与分析
  7. 佛山教师招聘小学计算机,2018年顺德区公办中小学公开招聘教师备考:小学信息技术说课稿模板...
  8. 【JUC并发编程】Synchronized深度分析
  9. 测试学java还是python-做自动化测试,选Python还是Java?
  10. 大学英语六级词汇打印版