OpenGL

《OpenGL ES 3.x 游戏开发》 裁剪测试及注意点

在 OpenGL 中启用裁剪测试可以在屏幕或者帧缓冲上指定一个矩形区域,然后在该矩形区域内绘制,只有在该区域内的片元才有机会最终进入帧缓冲,不在该区域内的将会被丢弃。
2018-07-03
2 min read

《OpenGL ES 3.x 游戏开发》 3D 模型加载和渲染

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/OCcTOJArxipvY-v_HuD0Eg 在使用 OpenGL 绘制时,我们最多绘制的是一些简单的图形,比如三角形、圆形、立方体等,因为这些图形的顶点数量不多,还是可以手动的写出那些顶点的,可要是绘制一些复杂图形该怎么办呢?
2018-07-02
4 min read

OpenGL 的 glDrawElements 绘制方法

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/WcWdYE5j8Ycw2dtJYS-Cxg 在之前的绘制中,我们都是通过 glDrawArrays 方法来实现的,它会按照我们传入的顶点顺序和指定的绘制方式进行绘制。 回顾一下之前提到的绘制类型: 绘制类型 绘制方式 GL_POINTS 将传入的顶点坐标作为单独的点绘制 GL_LINES 将传入的坐标作为单独线条绘制,ABCDEFG六个顶点,绘制AB、CD、EF三条线 GL_LINE_STRIP 将传入的顶点作为折线绘制,ABCD四个顶点,绘制AB、BC、CD三条线 GL_LINE_LOOP 将传入的顶点作为闭合折线绘制,ABCD四个顶点,绘制AB、BC、CD、DA四条线。 GL_TRIANGLES 将传入的顶点作为单独的三角形绘制,ABCDEF绘制ABC,DEF两个三角形 GL_TRIANGLE_STRIP 将传入的顶点作为三角条带绘制,ABCDEF绘制ABC,BCD,CDE,DEF四个三角形 GL_TRIANGLE_FAN 将传入的顶点作为扇面绘制,ABCDEF绘制ABC、ACD、ADE、AEF四个三角形
2018-05-25
3 min read

OpenGL 学习系列---观察矩阵

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/0cWh3IF_7wa5PHoGsh8ZcQ 在 OpenGL 投影矩阵 这篇文章中,讲述了 OpenGL 坐标系统中的投影矩阵,有两种类型的投影矩阵,分别是正交投影和透视投影。 这两种投影实质上是两种类型的裁剪空间,分别创建对应视景体对物体坐标进行裁剪,位于裁剪空间内的才会被映射到屏幕上,如下图所示:(图片来源:https://glumpy.github.io/modern-gl.html) 当定义裁剪空间视景体时,我们都需要提供近平面和远平面的距离,这里的近和远都是指相对于视点的,视点也就是我们这篇文章要讲到的摄像机。
2018-05-22
5 min read

OpenGL 学习系列---纹理

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/Y3FsQrJJWQogD3PWWo1cVQ 接下来探索纹理了。
2018-03-21
6 min read

OpenGL 学习系列---投影矩阵

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/AVyNmsO7s6rGPZw3WH5kcA 在 OpenGL 坐标系统 文章中,根据点的坐标变换得出了如下的公式: 这个公式每左乘一个矩阵,都代表了一种坐标系的变换。 转化为着色器脚本语言如下: attribute vec4 a_Position; uniform mat4 u_ModelMatrix; uniform mat4 u_ProjectionMatrix; uniform mat4 u_ViewMatrix; void main() { gl_Position = u_ProjectionMatrix * u_ViewMatrix * u_ModelMatrix * a_Position; } 本篇文章就主要是对投影矩阵来分析的。
2018-01-24
4 min read

OpenGL 学习系列---坐标系统

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/0HZgyZra90LQLFAq6dQJ9A 在前面绘制基本图形中,遇到了很明显的问题,圆形不像圆形,正多边形不像正多边形?就像下面图形一样: 好好的正五边形却东倒西歪的,这就是因为我们前面的绘制都是把它当成 二维 的绘制,而在 OpenGL 中却是绘制 三维的。在二维和三维之间还有个转换,而之前为了方便学习则忽略了这个转换,现在就要开始理解它了 —— 坐标系统!!
2018-01-23
8 min read

OpenGL 学习系列---基本形状的绘制

在之前的一篇博客中,讲述了 OpenGL 绘制一个点的流程及相关的代码,其中关于 OpenGL 程序编译部分都是可以在其他项目中接着复用的,接下来会讲到如何去绘制其他的基本图元。
2017-12-22
5 min read

OpenGL 学习系列---基础的绘制流程

避免图片丢失,建议阅读微信原文: https://mp.weixin.qq.com/s/H6p3cLGpKys5ihF7ymBhJw 终于要开始探索奇妙的 3D 世界了,OpenGL 搞起。
2017-12-22
12 min read