OpenGL3:开头篇 介绍

本文探讨了OpenGL作为跨语言跨平台的API,在2D和3D图形渲染方面的应用,包括其与DirectX的对比学习路径,以及未来的学习方向如OSG和图形学基本原理。文章还介绍了OpenGL的历史,以及FreeGlut和GLFW等工具在OpenGL开发中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零.前言

虽然没想到这么快就开启了OpenGL大坑,但是DirectX学得差不多了,基本内容都有过一遍,是时候两者相互对照着学了,这样自己对图形学的知识会更加精进一步,等后面大师级别就会学OSG和图形学基本原理,看看论文什么的

 

一.简介

OpenGL官网

 

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等

二.FreeGlut

 FreeGlut提供的函数很少,以glut开头主要和窗口有关

#Include <freeglut.h>

真正用OpenGL渲染的函数在SDK里面的gl.h之中,因为微软曾经也是OpenGL的参与者之一,VC编译器只支持OpenGL 1.1

 

OpenGL库总是不断发生变换,制造图形硬件的各个厂商都可能会增加一些新特性,由于这些新特性太新,可能都没有添加到gl.h中,为了使程序员能够使用这些新的OpenGL扩展,可以添加一个 glext.h 的头文件(包含了所有最新版本和扩展函数以及标记)

#include "glext.h"

 当然目前我自己还没碰到需要用这个新特性,初学者可以先不加

 

OpenGL扩展支持库:

调用GLX所提供的函数:#include <X11/Xlib.h>

          #include <GL/glx.h>

 

调用WGL所提供的函数:#include <windows.h>

 

三.GLFW

 

 

四.OpenGL历史

1992年 OpenGL第一个版本

2004年 OpenGL第二个版本

 

转载于:https://www.cnblogs.com/k5bg/p/11138429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值