当前位置:首页 > > 正文内容

OpenGL(一)

admin5年前 (2020-09-19)7794

OpenGL一般认为是一个API,包含了一系列可以操作图形、图像的函数,但是实际上仅仅是一个规范,OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值。具体里面每个函数的实现由库的开发者去实现,这里的开发者主演是显卡厂商。函数的实现细节并没有规定,只要最后与函数的功能相匹配就可以。简单的说就是OpenGL制定函数,由显卡厂商实现函数。

早期的OpenGL使用立即渲染模式,也就是固定渲染管线,此模式下绘图方便,但是缺乏灵活性,效率还低,于是在OpenGL3.2开始,规范废弃了立即渲染模式,并鼓励使用核心模式下开发。

OpenGL可以描述为一个巨大的状态机(state machine):通过一系列的变量描述来告诉OpenGL当前改如何运行。OpenGL状态通常被称为OpenGL上下文(Context)。通常通过以下方式来更改状态:设置选项、操作缓冲,最后使用当前OpenGL上下文来渲染。

OpenGL库是C语言写的,同时也支持多种语言的派生,但其内核仍是一个C库。由于C的一些语言结构不易被翻译到其它的高级语言,因此OpenGL开发的时候引入了一些抽象层。“对象(Object)”就是其中一个。

在OpenGL中一个对象是指一些选项的集合,它代表OpenGL状态的一个子集。比如,我们可以用一个对象来代表绘图窗口的设置,之后我们就可以设置它的大小、支持的颜色位数等等。可以把对象看做一个C风格的结构体(Struct):

struct object_name {
    float  option1;
    int    option2;
    char[] name;
};

 

 来自于此网站https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/

扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://www.lovedm.club/?id=80

标签: OpenGL
分享给朋友:
返回列表

上一篇:齐次坐标

下一篇:OpenGL(二)

“OpenGL(一)” 的相关文章

齐次坐标

齐次坐标

听了一下闫令琪的现代计算机图形学入门课程第三节的内容,关于坐标变换这一节真的是令人耳目一新。视频在此:https://www.bilibili.com/video/BV1X7411F744?p=3transformation 变换,包括坐标的平移与旋转放缩等,从二维开始着手,首先看放缩:由 ...

OpenGL(四)

OpenGL(四)

以下内容均来自处网站:https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/本文的主要内容是绘制第一个OpenGL的三角形。首先记住三个词:顶点数组对象:Vertex Array Object,VA...

一些linux软件下载地址

装一个在这里记录一个,以备用,链接若失效请邮箱告知 WPS Office:https://linux.wps.cn/ 谷歌浏览器:https://www.google.cn/chrome/ (自动检测系统类型) cajviewer:http://cajviewer.cnki.net/downl...

2020双十一小结

今年买的东西不多,一共买了7个东西,不到一千块钱吧。闪迪的CZ880早就到了,这优盘一如既往的高质量体验,实测读写都300MB+,爽的飞起,话说15年买的CZ80折腾到现在没有任何问题,年初还丢过一个CZ48,14年买的,心疼。华擎的B150M HDS,小板子,但不是ITX的,比ITX稍大一点,不过...

bt做种

bt做种

现在bt真是不怎么好搞了,要速度怕是只能走迅雷了。下面这个种子情况实在是不乐观,没有人自觉做种基本上就废了,迅雷用户之间可能会好些吧(大概...)。还是老老实实的走pt吧。...

有关坐标系的问题

地理坐标系地理坐标系(GCS)用三维球面来定义地球表面的位置,通过经纬度表示地球上的位置。地理坐标系的组成有:参考椭球体(确定基准面)、角度单位、本初子午线,这里一个椭球体可以定义多个基准面。我国常用的有:北京54坐标系(BJZ54)、西安80坐标系、2000国家大地坐标系(CGCS2000)、WG...