教程:计算机视觉库OpenGL初体验笔记(一);

这是我窝关于OpenGL(C++版本)零基础入门笔记的草稿!本系列文章主要通过每次一个小案例从而由浅至深地带你入门!本次文章主要内容为简单概述OpenGL的语法、库以及显示窗口的范例。

OpenGL概述

OpenGL(开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。通过它可以在一些计算机上描述图元、属性、几何变换、观察变换等其它操作。属于计算机图形学的范畴。

OpenGL语法概述

OpenGL的核心库中的函数名要以gl为前缀、函数名中每一个组成词的第一个字母要大写(如glBegin)。

有些函数要求一个或多个变量用符号常量赋值,如参数名、参数的值或特定的模式。这些常量均以GL开头并全部大写,单词间用_隔开(如GL_2D)。

OpenGL函数也有专门的数据类型,并且部分函数支持数组(比如多维坐标)。大写GL开头,小写字母表示标准数据类型名(如GLint)。

OpenGL库概述

OpenGL除惹核心库外还有一些用于处理专门操作的附加库。比如实用函数库(GLU)、窗口扩充(GLX)、实用工具包(GLUT)等等,比较模块化。

在微软VS2015下部署环境

新建项目-C++空白项目-创建C++文件;

工具-NuGet包管理器-包管理器控制台;

Install-Package nupengl.core

完成。

使用GLUT进行显示窗口管理

#include <GL/glut.h>

void init(void) {

  glClearColor(1.0, 1.0, 1.0, 0.0);

  //初始化颜色(RGB值)

  glMatrixMode(GL_PROJECTION);

  //正坐标

  gluOrtho2D(0.0, 200.0, 0.0, 150.0);

  //x坐标值(0-200)y坐标值(0-150)

}

void lineSegment(void) {

  glClear(GL_COLOR_BUFFER_BIT);

  //创建颜色缓存变量

  glColor3f(0.0, 0.4, 0.2);

  //为场景添加三个浮点颜色RGB值

  glBegin(GL_LINES);

  //开始画线

      glVertex2i(180, 15);//左

      glVertex2i(10, 145);//右

  glEnd();

  glFlush();//刷新一把

}

void main(int argc, char** argv) {

  glutInit(&argc, argv);

  //对实用函数工具包初始化

      glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

      //窗口显示模式(RGB)

      glutInitWindowPosition(50, 100);

      //显示位置(左50像素、右100像素)

      glutInitWindowSize(400, 300);

      //显示大小(400像素x300像素)

      glutCreateWindow("An Example OpenGL Program");

      //窗口标题

      init();

      glutDisplayFunc(lineSegment);

      //显示何内容

      glutMainLoop();

      //显示出来

  }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容