OpenGL入门学习笔记(1)

本文介绍了OpenGL作为图形API的基本概念,区分了核心模式与立即渲染模式的优缺点,强调了OpenGL的拓展性和其作为状态机的工作原理,以及推荐使用C语言学习。
摘要由CSDN通过智能技术生成

前言

        在学习OpenGL前,首先需要对OpenGL的相关领域概念有一定的了解,从而对学习内容有一个大概的理解和把握。

OpenGL

        首先先了解一下OpenGL是什么,一般认为他是一个图形应用API(Application Programming Interface, 应用程序编程接口),包含一系列操作图形图像的函数,事实上,OenGL是一个Khronos组织制定并维护的规范(Specification)。这个规范的生产者一般来源于显卡生产商,并被公开寄存在这个组织当中。

核心模式和立即渲染模式

早期的OpenGL使用立即渲染模式(Immediate mode,也就是固定渲染管线),优点是方便,门槛低,简单易懂,缺点是只能调用已有的函数,很多地方不能自己进行编辑,而是采用早已固定封装好的形式,相对来说效率比较低。是最开始采用的图形渲染模式。

随着需求的发展,对于效率和扩展性等的需求不断提升,核心模式(Core-profile)应运而生,这个模式完全移除了旧特性,同时具有更高的灵活性和效率,但是同时也增加了学习成本,立即渲染模式抽象掉的很多细节都在这里可以进行自己编辑控制,要求使用者真正理解图形编程。

一些总结

OpenGL一大特点就是它的拓展性,当一个显卡公司提出一个新特性或者渲染上的大优化,通常会以扩展的方式在驱动中实现。如果一个程序在支持这个扩展的显卡上运行,开发者可以使用这个扩展提供的一些更先进更有效的图形功能。通过这种方式,开发者不必等待一个新的OpenGL规范面世,就可以使用这些新的渲染特性了,只需要简单地检查一下显卡是否支持此扩展。通常,当一个扩展非常流行或者非常有用的时候,它将最终成为未来的OpenGL规范的一部分。

OpenGL本身是一个巨大的状态机,时时刻刻都在运行,通过函数改变设置状态从而改变整个屏幕的图形处理和显示,还会有对应的状态操作函数,根据一些状态执行对应的操作。

OpenGL本身是由c写的,但是也有其他语言的库可使用,一般来说推荐c语言进行学习,在OpenGL中一个对象是指一些选项的集合,它代表OpenGL状态的一个子集。比如,我们可以用一个对象来代表绘图窗口的设置,之后我们就可以设置它的大小、支持的颜色位数等等。可以把对象看做一个C风格的结构体(Struct)

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值