OpenGL入门(一)

本文作为OpenGL系列的第一篇,介绍了OpenGL的基本概念,包括核心模式与立即渲染模式的区别,扩展机制,以及状态机和对象的运用。OpenGL是一个由Khronos Group维护的跨平台图形API规范,其库由显卡制造商实现。学习OpenGL时,我们将侧重于现代的核心模式,尽管难度较大,但更灵活高效。此外,OpenGL支持扩展,允许开发者利用硬件新功能,并通过状态机管理和对象抽象来操作图形上下文。
摘要由CSDN通过智能技术生成

前言

对于C++和OpenGL的学习是同时进行的,因为我觉得相较于简单的编程练习,OpenGL本身就是对于C++的非常好的实践,能够有助于我们进一步理解C++的语言特性。作为OpenGL系列的第一篇文章,本文将会帮助大家建立起对于OpenGL的初步印象。

什么是OpenGL

在我们学习一个东西之前我们第一个疑问就是它是什么?那么什么是OpenGL呢?一些人认为OpenGL是一系列跨平台的操作图像的API,其实这个定义并不准确,准确来说OpenGL是由www.khronos.org 提出并维护的与平台无关的操作图像的规范,OpenGL规范严格规定了每个函数的结果和输出以及运行过程,但是却不包含具体的实现细节,我们熟知的OpenGL库则是基于OpenGL规范的实现,其中包含了大量的操作图像的API。OpenGL库一般是由显卡制造商开发并维护的,例如Apple平台的OpenGL库就是他们自己开发维护的。

基本概念

核心模式vs立即渲染模式

在早期OpenGL采用的是立即渲染模式(Immediate mode,也就是固定管线),在这种模式下能够非常容易的使用提供的方法渲染图像,很多实现的细节隐藏在是OpenGL库的内部,开发者无法控制OpenGL的计算过程。这种模式易于理解和使用但是灵活性差。为了提供更加灵活和有效的开发模式,OpenGL规范提供了核心模式,这是OpenGL规范的一个分水岭,在核心模式中,OpenGL更加关注一些现代化的实践,并移除了所有废弃的功能,如果使用废弃的函数将会引发错误并停止绘制。这种现代化的实践需要开发者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值