
[OpenGL]
星球特约旅行家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[OpenGL]OpenGL简介及MacOs下环境配置
OpenGL简介 OpenGL全名Open Graphics Library,译名为开放图形库,用于渲染2D,3D矢量图形的跨语言、跨平台的应用程序编程接口(API) OpenGL不仅与语言无关,而且平台无关。除了核心API要求的功能之外,GPU供应商可以通过扩展形式提供额外的功能。 Mac OS环境下配置OpenGL 1.首先我们先安装brew(mac下的一个包管理工具) 打开终端,输入 ...原创 2019-02-24 18:07:37 · 6664 阅读 · 6 评论 -
[OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换)
1.模型变换(Model transformation)---- 视点不变,变物体 我们在OpenGL中通过定义一组顶点来定义一个模型,我们遇到的平移、缩放、旋转等变换都可以理解为模型变换,视点不变,主要对物体进行操作。 在OpenGL中,我们使用glMatrixMode(GL_MODELVIEW)来处理模型变换,我们知道OpenGL使用堆栈管理矩阵,所以我们有不同的堆栈进行管理,有模型变换矩阵...原创 2019-06-11 14:59:32 · 1182 阅读 · 2 评论 -
[OpenGL]OpenGL着色器基础知识及应用
1.着色器概念 着色器是运行在GPU上的小程序,这些小程序为图形渲染管线的某个特性部分而运行。着色器是一种把输入转化为输出的程序。着色器也是一种非常独立的程序,因为它们之间不能相互通信,它们之间唯一的沟通只有通过输入和输出 2.着色器的结构 着色器的开头总是要声明版本,接着是输入和输出的变量,uniform和main函数。每个着色器的入口点都是main函数,在main函数中,我们处理所有的输入变量...原创 2019-06-15 12:29:52 · 528 阅读 · 0 评论 -
[OpenGL]OpenGL纹理
1.纹理 纹理是一个2D图片,甚至有可能是1D 和3D纹理,纹理是用来添加物体的细节,可以想象纹理是一张绘有砖块的纸,贴在一面白色的墙上,这样看起来墙就有砖块外表了。 纹理除了图像以外,纹理可以被用来存储大量的数据,这些数据可以发送到着色器上 纹理坐标在x和y轴上,范围为[0,1](用的2D纹理图像),使用纹理坐标获取纹理颜色叫做采样,纹理坐标起始于(0,0),也就是纹理图片的左下角,终于(1,1...原创 2019-06-19 16:59:10 · 1214 阅读 · 0 评论 -
[OpenGL]OpenGL顶点着色器、编译着色器、片段着色器
1.顶点着色器(Vertex Shader) 顶点着色器:几个可编程着色器中的一个。 OpenGL用GLSL编写着色器,GLSL看起来很像C语言。 #version 330 core layout (location = 0) int vec3 aPos; void main() { gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0) } ...原创 2019-06-14 17:33:17 · 5313 阅读 · 1 评论 -
[OpenGL]OpenGL渲染管线
图形渲染管线的整个处理流程可以被划分为几个阶段,上一个阶段的输出数据作为下一个阶段的输入数据,是一个串行的,面向过程的执行过程。每一个阶段分别在GPU上运行各自的数据处理程序,这个程序就是着色器 顶点数据:顶点的集合,顶点一般都是是三维坐标 基本图元(primitives):点,线段,三角形等,构成实体模型的基本单位 顶点着色器(Vertex Shader):包含对一些顶点属性的处理 基本图元装...原创 2019-06-13 17:30:21 · 289 阅读 · 0 评论 -
[OpenGL]OpenGL中VAO、VBO、EBO概念及应用
1.VBO(顶点缓冲对象 Vertex Buffer Objects ,VBO) VBO:顶点缓冲对象,是在显卡存储空间中开辟出的一块内存缓存区,用于存储顶点的各类属性信息,如顶点坐标,顶点向量,顶点颜色数据等。在渲染时,可以直接从VBO取出顶点的各类属性数据,由于VBO在显存而不是在内存中,不需要从CPU传输数据,处理效率更高。 可以开辟很多个VBO,每个VBO在OpenGL中有它的唯一标识ID...原创 2019-06-13 15:21:39 · 1559 阅读 · 0 评论 -
[OpenGL]OpenGL基本语法
1.OpenGL函数的命名规则 详细的命名规则巴拉巴拉的,就不写了(实际上寡人就是懒),但是不写又感觉不好意思,毕竟标题都写了( 那啥都脱了你给我看这个??),既然这样,那就上个例子: 老板来杯拿铁,不加奶 2.OpenGL数据类型 哎呦,这一大堆的东西,看的寡人头都大了,脑阔疼。。。 看到这,肯定会有小哥哥或者小姐姐心想,明明C/C++里面就有int byte float这乱七八糟一大顿...原创 2019-06-05 16:36:14 · 1996 阅读 · 0 评论 -
OpenGL--基础知识(1)
1.基础渲染管线 在OpenGL中,最基础的元素就是点,一些点组合在一起,按照预定的方式连线,另外加上光照、贴图、颜色等就组成了我们在屏幕上所看到的图形图像。例如,一个顶点的基础就是一个点,只是这个顶点包含位置、颜色等属性;一个三角形的基础就是三个点,按照预定的方式进行连线。我们来看一个大致的渲染流程图(摘自OpenGL SuperBible): 这是一个简化版本,我们可以看到,渲染管线把三个顶...原创 2019-05-17 12:04:18 · 381 阅读 · 0 评论 -
[OpenGL]OpenGL几何变换的秘密--投影(透视投影、平行投影、正投影)
1.透视投影 如下a图,透视投影是从某个投影点将物体投影到单一投影面上所得到的图形,透视投影符合人们心理习惯,即离视点近的物体大,离视点远的物体小,远到极点即为消失。在透视投影中,同一灯光下,改变物体的位置和方向,其投影也跟着发生变化 2.平行投影 如下b图,平行投影是在一束平行光线照射下形成的投影。在平行投影中,同一时刻改变物体的方向和位置,其投影也跟着发生变化;投影大小与物体和投影面之间的距离...原创 2019-06-12 11:20:43 · 6757 阅读 · 0 评论