美文网首页
OpenGL入门

OpenGL入门

作者: ZAREMYDREAM | 来源:发表于2020-07-02 20:28 被阅读0次

    简介

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

    其他图形API

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

    OpenGL专有名词解释

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

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

    OpenGL环境配置

    参考这里

    相关文章

      网友评论

          本文标题:OpenGL入门

          本文链接:https://www.haomeiwen.com/subject/fifdqktx.html