OpenGL入门

2020-07-02  本文已影响0人  ZAREMYDREAM

简介

OpenGL是用于渲染2D、3D矢量图形的跨语言,跨平台的应用程序编程接口(Api),主要用于PC端。

其他图形API

1.OpenGL ES:OpenGL的子集,主要用于移动设备,主机等。去除部分不必要以及性能较低的Api。
2.DirextX:不只是单纯的图形Api,是Windows平台下的多媒体框架,包含声音,图形,网络,输出等部分,只能用于Windows平台。
3.Metal:WWDC2014,Apple推出解决3D渲染的图形API

OpenGL专有名词解释

为了能学习好OpenGL,必须先了解其各个专有名词的含义

状态机,用于记录当前状态,接收输入并改变输出。
打个比方,context可以理解为汽车仪表盘,显示汽车行驶中的各种状态。踩下油门就相当如输入,仪表会显示速度与转速的改变,这为输出。
图片数据绘制到屏幕的整个过程
屏幕是由很多的像素点组成,图形数据转化为图像就是对这些像素点进行填充。要确定填充区域就需要填充的形状数据。
确定形状最重要的就是顶点,顶点数组就是用于存储这些顶点数据的数组。
顶点数组存储在内存中。
为了提高效率,GPU显存中也会进行顶点数据的存储。
与CPU类似,CPU读取硬盘数据,CPU有一块缓冲区,CPU从缓存区读取数据,硬盘的数据传入缓存区,提高效率。
屏幕由像素点组成,图形要在屏幕上显示则要将图转化成由像素点组成的图形即为位图。
一张120*120的PNG图片转化为位图大小为:120*120*4位
管线又叫渲染流水线,表示整个渲染流程
分为固定管线,可编程管线
由OpenGL提供的一套固定的流程,只能设置Api提供的固定的参数,来改变渲染流程。
由开发者自主设计渲染流程
方法\函数是由CPU使用代码片段。
而着色器是由GPU使用的代码片段
封装好的Api,只能调用,不能修改
自定义的GPU代码块
用于改变顶点参数的相关代码片段
主要功能:图形定位、缩放、偏移、旋转等
处理像素点相关的代码
主要功能:修改颜色、饱和度等
CPU用C/C++等语言,GPU则使用GLSL等语言进行调用
确定图片在屏幕上的像素位置,并确定每个像素点对应的颜色。
这个过程是不可编程的。
颜色合在一起生成新的颜色的计算过程
平移,旋转,缩放使用的矩阵
3D图形转换到二维坐标使用的矩阵

OpenGL环境配置

参考这里

上一篇 下一篇

猜你喜欢

热点阅读