Text Warp (for UTF-8)

本文介绍了如何对UTF-8编码的字符串进行Warp。

Text Warp是游戏和GUI开发中不可或缺的一个技术,说白了就是自动换行:给定一个长度,当你渲染的字符串超过这个长度时需要自动从下一行开始渲染。
对ASCII码组成的字符串进行Warp很简单,但是对于UTF-8的编码就会麻烦一点。

Nim语言使用感想

Nim的主要口号是:

高效、优雅、富有表现力

官网的介绍是:

Nim 是一种静态类型的、编译型、系统编程语言。 它结合了其他成熟语言的成功概念。 (如 Python、Ada 和 Modula)

安装的一些Hexo插件(用法备忘)

这里是本博客安装的一些Hexo插件,主要是记录下来要怎么用和一些坑,防止后面忘了。

hexo-github

吧github仓库上面某一个提交的时间线拉出来:

Bresenham算法

对于Bresenham算法的解释

Bresenham算法

Bresenham算法是一种绘制直线和曲线的方法。这里主要是介绍如何绘制直线。

XenEngine制作心得

XenEngine

XenEngine是我的本科毕业设计,是一个基于OpenGL的游戏引擎,仓库在这里
这次就来说一说我制作这个引擎的心得

OpenGL中的错误处理

OpenGL中的错误处理方法有两种,一种是所有版本都能用的glGetError(),这个函数每次调用只会返回一个错误值,如果没有错误会返回GL_NO_ERROR。而4.3及之后的版本中有glDebugMessageCallback()函数,通过这个函数给OpenGL注册一个回调函数,可以在每次发生错误的时候OpenGL以人类可读的方式在屏幕上打印出错误。

对Vulkan各个结构的解释

这里是我学习完Vulkan基本操作后的一个总结,主要讲述了各个部分的功能。

用SDL实现IMGUI

什么是IMGUI

我们平常使用的GUI,像是QT和wxWidgets这种,属于保留型GUI(Retianed Mode GUI,简称RMGUI),即它们将和GUI有关的状态都保存在内部,如果你想要改变状态的话,需要使用一系列的Set函数去更改。