[工具] 记一次Hugo+Github Pages自动部署的艰难险途

关于博客,我捣鼓了很多次,比如在2017年尝试过手写界面和JavaWeb服务端实现,也试过各种静态网站生成工具。但后来发现要么维护成本过大,要么写文章不方便。期间我也一直在寻找更合适、更稳定且维护成本不大的方案,经过几次对比验证,我最后选择了Hugo,其建站方便,根据Markdown自动生成Html静态页面,符合原先习惯,文章易于管理和迁移,官方支持很多主题定制,界面都挺简洁漂亮。最终就留下一个问题,就是更新博客后如何自动部署?怎么给小伙伴们访问呢?除了购买云服务器外,从经济实惠角度,我觉得GithubPages是一个很好的选择。不过我在配置GithubPages自动发布的过程中还是遇到了很多问题,所以本文就简单记录一下如何将Hugo项目自动发布到GithubPages,并支持自定义域名访问。

Continue reading...

Learn_Vulkan04_渲染框架实现_材质系统设计

网格(Mesh)用作定义虚拟物体的形状,材质(Material)则是描述这些物体表面的外观,需要借助纹理和材质参数,参数包括光照参数、UV偏移、基础颜色等等。在渲染系统渲染某个网格体时,将对应材质参数传递给着色器,即可完成不同表面的渲染。

Continue reading...

Android跨进程渲染-HardwareBuffer

图片流交换是非常常见的需求,为了保证程序的健壮性,可以将这些步骤分为各个进程分别处理,防止中间步骤错误导致主进程crash从而降低用户体验。比如人脸识别、场景识别、直播等场景,这些图片数据可能要经过很多个步骤流转,在各步骤中执行格式转换、图层叠加、图片畸变、颜色矫正等,比如直播中常见的特效和相机图片叠加。

Continue reading...

OpenGL或Vulkan渲染YUV格式数据

YUV是一种广泛应用于视频和图像处理的颜色空间格式,它通过将亮度和色度分离来表示颜色信息,以提高压缩效率和适应人眼感知。为了深入了解YUV格式及其应用,本文将分为几个部分来讨论。

Continue reading...

Learn_Vulkan02_渲染框架实现_开篇

距离上一次认真写一点东西,又过了1年之久,深感自己拖延症愈加严重,每次定好的计划总是无法做到真正的执行,这期间也可以给自己找个借口,那就是工作很忙,但也有大部分原因是因为感觉自己经验尚浅,想着要后面会不会推翻当下的方案,后面就是不知道从哪开始记录了,最后就进入了焦虑 -> 躺平 -> 焦虑的恶性循环。

Continue reading...

Learn_Vulkan00_第一个三角形

本文将描述一个基于C++/Vulkan渲染彩色三角形的案例。因为Vulkan API较为底层,对象也繁多,所以我尽可能只保留必要内容,目的是梳理出来一个Vulkan程序的基础框架,也是对Vulkan各个对象的初步理解。当然也出于这个关系,本文不会对每个API参数都进行详细解释。

Continue reading...

Hello OpenXR - 第一个OpenXR程序

本文目标是实现一个最小化OpenXR应用程序,只渲染一个三角形,渲染库采用的是OpenGL,窗口管理使用GLFW,OpenXR Runtime使用的是Monado。因为Monado目前支持的是安卓和Linux平台,本人测试使用的是Ubuntu系统,所以这个DEMO可以在Ubuntu系统下正常运行,但别的系统还没有经过严格测试。

Continue reading...

OpenGL渲染器04_绘制点线面

上一篇《OpenGL环境搭建》给接下来的内容创造了基础,我们拥有了glfw提供的窗口,也有了ImGui提供的GUI,接下来就磨刀霍霍向猪羊,准备大干一场。 不过,最开始,我们还只能绘制简单的东西:点、线、三角形和四边形。

Continue reading...