OpenGL3:开头篇 介绍
零.前言
虽然没想到这么快就开启了OpenGL大坑,但是DirectX学得差不多了,基本内容都有过一遍,是时候两者相互对照着学了,这样自己对图形学的知识会更加精进一步,等后面大师级别就会学OSG和图形学基本原理,看看论文什么的
一.简介
OpenGL(Open Graphics Library,开放式图形库)是用于渲染2D 3D场景的跨语言跨平台的应用编程接口(API),这个接口由350个不同的函数调用组成
由于不同操作系统的差异,OpenGL上下文(类似WinSDK和MFC的关系)的创建过程和IO处理相当复杂,所以freeglut(代替不再维护的GLUT) GLFW是专门用来创建OpenGL窗口
先学freeglut兼容过去的版本,再学GLFW是未来框架的趋势
另外SDL QT也是用OpenGL渲染的
OpenGL ES就是专门为嵌入式设备设计的
WebGL主要应用于网页上
OpenGL可以在三维空间中绘制各种图元(点 直线 多边形等),还支持光照和着色 纹理贴图 混合透明 动画 特殊效果等
OpenGL并不包含任何窗口管理 用户交互 文件I/O等
二.OpenGL库
1.glew和glad
glew(The OpenGL Extension Wrangler Library)是对底层OpenGL接口的封装,可以让你的代码跨平台。
glad与glew作用相同,可以看作它的升级版。
2.Freeglut(glut)和glfw
Freeglut(OpenGL Utility Toolkit)主要用于创建OpenGL上下文、接收一些鼠标键盘事件等等。
glfw(Graphics Library Framework)是Freeglut升级版,作用基本一样
通常来说glad和glfw配合使用,glad + glfw
glew和Freeglut配合使用,glew + Freeglut
四.OpenGL历史
1992年 OpenGL第一个版本
2004年 OpenGL第二个版本
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)