c语言 opengl入门,零基础入门OpenGL系列教程(一、概述)

前一段时间面试前端岗位碰壁,决定静下心来好好学习提升一下自己。最近入了OpenGL这个深坑,有很多想法想分享给大家。还有一个写这系列教程原因是目前高校的计算机图形学课都用OpenGL做实验,而网上的资源比较少(指早期OpenGL),所以也是给学弟学妹的踩坑经历分享😂。

我对OpenGL的理解

OpenGL本质上是一个渲染图形的API。它是跨平台、跨语言的,并且非常底层可以和GPU直接交流。目前,OpenGL有四个大版本分为两种编程方式—— 固定渲染管线 和 可编程渲染管线 编程方式。同时,OpenGL又是一个规范,它由Khronos组织维护,具体实现则是由各个GPU生产商实现的。

早期OpenGL就是 固定渲染管线 的编程方式的,OpenGL1.0到4.0都支持。它主要以图元的方式渲染制图,这与微软MFC的GDI很相似,就是通过调用不同的函数画不同的图形。而与之对应的现代OpenGL是 可编程渲染管线 的编程方式,它更接近底层的GPU渲染,用户操作起来更自由但是更难上手。本篇教程两者都有介绍。

我对OpenGL相关的理解

GLUT/GLFW

GLUT就是OpenGL的具体API。由于OpenGL过于底层,我们不能对其直接操作,所以我们要借助GLUT中的函数来实现我们想要的具体功能。但是GLUT本身并不是很完善,只能做一些简单的,小规模的程序。而GLFW是GLUT的进化版,虽然实现的功能差不多,但是它更完善与OpenGL4.0更贴切。

GLEW

GLEW是OpenGL的扩展库,它是基于C/C++开发的。当我们需要最新的OpenGL功能时就需要调用这个库内的函数实现。此外,它还包括WGL、GLX的扩展功能。

GLM

GLM是OpenGL的数学库,是用来做图形的变换的(例如旋转、平移和斜切等)。很多时候它就是一个头文件,只要在项目中加载就可以了。

GLSL

GLSL是一种对着色器操作的语言,有点类似C语言,它包含一些针对向量和矩阵操作的有用特性。这在现代OpenGL中经常用到。

接下来就是入手OpenGL了,我打算先从早期OpenGL入手。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值