zoukankan      html  css  js  c++  java
  • Delphi下OpenGL2d绘图(04)-画四边形

    一、前言

    画四边形基本上与前几遍文字代码是相同。区别在于glBegin()的参数“GL_QUADS”。绘制的框架代码可以使用 Delphi下OpenGL2d绘图(01)-初始化 中的代码。修改的部份为 Draw 函数的内容。

    二、画四边形

    使用GL_QUADS:绘制由四个顶点组成的一组单独的四边形。顶点4n-3、4n-2、4n-1和4n定义了第n个四边形。总共绘制N/4个四边形。学画四边形是为了画位图做准备。

    设置颜色:

    glColor3f(1, 0.5, 0); 可以设置四边形的颜色,参数为三部份,分别为 R、G、B的值,取得范围为0到1,1表示255,0.5表128。发现前几章对这个函数的参数设置错了,在这里修正一下。

    设置四边形的点:

    glVertex2f(nleft, ntop); nleft、ntop表示四边形的点在窗口上的像素点位置。每个点的位置需按顺时针或逆时针设置。

    代码如下:

    procedure TForm1.Draw;
    var
      l, t, w: Integer;
    begin
      // 清空缓冲区
      glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
      // 设置四边形的颜色
      glColor3f(1, 0.5, 0);
    
      // 绘制第一个多边形
      l := 10;
      t := 10;
      w := 64;
      glBegin(GL_QUADS);
      glVertex2f(l, t);
      glVertex2f(l + w, t);
      glVertex2f(l + w, t + w);
      glVertex2f(l, t + w);
      glEnd();
    
      // 绘制第二个多边形
      l := 80;
      t := 10;
      glColor3f(0, 0.5, 0);
      glBegin(GL_QUADS);
      glVertex2f(l, t);
      glVertex2f(l + w, t + w);
      glVertex2f(l + w, t);
      glVertex2f(l, t + w);
      glEnd();
    
      SwapBuffers(FDC); //交换双缓冲区内容,这将把刚绘制的图形翻印到屏幕上。
    end;

    效果图如下:

    源码下载:http://files.cnblogs.com/lin557/OpenGL_04.zip

    2014-07-10 by lin

  • 相关阅读:
    七种性能测试方法
    衡量软件性能三大常用指标及其相互关系
    提高CUI测试稳定性技术
    GUI自动化测试中优化测试用例思维方法
    安装MySQL
    关系数据库基本介绍
    适合做自动化测试的项目
    自动化测试优势与劣势
    如何制定测试计划?
    Selenium1.0与2.0介绍
  • 原文地址:https://www.cnblogs.com/lin557/p/3836150.html
Copyright © 2011-2022 走看看