
GLKit实战 第03话 变换
疑惑
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2020/01/30/183.html
在第02话中,已经绘制出来了一个三角形,那么可能就会有以下的疑问:
为什么三角形中相互垂直的两条边,长度不一致?
如何才能实现三角形中相互垂直的两条边长度一致?
关于这些疑问,均受到顶点位置、模型视图矩阵、投影矩阵、视口的影响,因此,在解决问题之前,会对...

GLKit实战 第02话 三角形
整体步骤
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2020/01/29/166.html
绘制出一个图形,大体需要以下步骤:
创建上下文,并将其指定为当前的上下文
创建GLKBaseEffect对象,并对其进行相应的配置
创建并绑定VAO(vertex array object,顶点数组对象)
创建并绑定VBO(vertex buffer ...

GLKit实战 第01话 引言
GLKit是什么?
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2020/01/28/162.html
在iOS 5之前,开发OpenGL ES程序,需要编写大量的底层代码,极大影响开发效率。为了加快OpenGL ES应用程序的开发,自iOS 5起,苹果提供了一个名为GLKit的框架。
当创建新的基于着色器的应用程序时,或者对已存在的、且依赖于固...

VSCode集成CMake
VSCode集成CMake
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2019/08/07/157.html
安装CMake
建议通过源码进行安装:https://cmake.org/download/,不赘述。
安装扩展
选中“扩展”标签,搜索并安装以下扩展:
C/C++ 扩展,是微软提供的用于支持C、C++文件及其项目的扩展,提供自动完...

SDL - 安装
SDL 安装
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2019/02/11/145.html
安装方式有以下几种:
源码
Homebrew
Advanced Packaging Tool
Yellow dog Updater, Modified
通过源码进行安装
下载相关的源码压缩包,解压,在终端中切换到源码目录,执行以下命令:
./co...

SDL - 初识
SDL 初识
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2019/02/10/142.html
SDL的全称是Simple Directmedia Layer,它是一个跨平台的开发库,通过OpenGL及Direct3D,可以提供针对音频、键盘、鼠标、游戏杆及图形硬件的低级访问,在开发视频播放软件、模拟器及游戏时,都可以使用它。
官方支持以下平...

某月的天数
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2018/08/26/139.html
计算某年某月份中的天数,对于多数人来说,都是很简单的事情。但能否把程序写得足够简洁,就是另外一回事了。
先给出最终的代码:
#include <stdbool.h>
#include <assert.h>
_Bool isLeapYear...

UIImage与CVPixelBuffer互转
UIImage与CVPixelBuffer互转
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2018/06/23/123.html
UIImage转CVPixelBuffer
有两种方式可供选择:
CoreGraphics中的相关函数
CoreImage中的相关方法
CoreGraphics
步骤:
创建一个CVPixelBuffer(pi...

YUV
YUV
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2018/06/23/117.html
YUV是电视广播视频信号的原生格式,其亮度信息(Y)与色度信息(U和V或Cb和Cr)是分离的。
之所以会存在YUV,是因为早期的黑白电视只能传输亮度信息(也就是说,当只有Y分量时,图像就会显示为黑白的)。为了与现有的视频接收设备兼容,专门增加了一个新的色差...

Four Character Code
Four Character Code
本文首发于Daniate的个人网站,文章链接:https://daniate.com/2018/06/22/119.html
Four Character Code简称FourCC,是由4个单字节字符构成的代码。
常被用于定义一些音频格式、图像或像素格式。
Apple 平台
在MacTypes.h头文件中,有以下typedef:
#if __LP6...