一种高效、简易、高质量的 2D 游戏 PBR 光照实现方法 2024-8-24 ~ 2024-11-15 Margoo (0) 本文将会介绍一个我正在制作的项目 PaperCraft 中有关游戏 2D 光照的实现。 提供一个低成本的基于有符号距离场可用于实时 2D 光照渲染的可行思路。 本文将会提供一种可能的代码来实现该方法,阐述该方法的优缺点.。 并在本文最后附上 EasyX 实现代码并给出性能测试.[查看全文]
在 EasyX 中使用 Nuklear UI 实现窗口和控件 2024-11-7 K级sc (0) Nuklear 是著名的即时模式 GUI,类似 Dear ImGui,但 Nuklear 对后端的适应更灵活,性能要求也更低。 本文基于 EasyX 编写了 Nuklear 后端,并提供全部源码下载,以及基本的使用方法。[查看全文]
RCEngine:一个基于 EasyX 的伪 3D 游戏引擎 2024-8-2 Margoo (0) RCEngine 是一个基于 EasyX 的伪 3D 游戏引擎,旨在为用户提供一个简单、易于学习的游戏开发环境。它提供了一些基本的 3D 功能,如场景、相机、材质等,以及一些基本的游戏功能,如角色控制、碰撞检测等。用户可以通过学习 RCEngine 的基本概念和 API,快速地创建自己的伪 3D 游戏。[查看全文]
游戏中的刚体碰撞分析 2024-5-11 ~ 2024-7-23 Margoo (0) 本文提供了一种方法(Impulse Method)来处理游戏中几何体间的碰撞处理。主要思路为利用 SDF 与梯度求出反弹法线并计算动量。[查看全文]
Ray Tracing in One Weekend 汉化 2023-12-26 ~ 2024-4-7 Margoo (1) Peter Shirley 教授的 Ray Tracing Weekend 系列书籍一直是我个人十分喜爱的一本入门书籍,在初次阅读完后就萌生了对其进行翻译的想法,鉴于原书是基于 STBImage 的代码,和国内大多使用 EasyX 进行教学的环境有一定出入,因此我对代码进行了一定的“本土化”,并且,我对原著中的图片也重绘翻译,对一些篇章进行了修改,希望可以有利于后来者吧。[查看全文]
用 EasyX 实现 Google Chrome 的小恐龙游戏 2023-12-29 ~ 2024-1-19 ChZL (1) Google Chrome 在断网时的小恐龙游戏,相信大家都有玩过。这一程序通过 500 行左右的代码,实现了这一小游戏,供大家借鉴参考。[查看全文]
HiEasyX——窗口、绘图、UI 的全面升级 2022-8-15 ~ 2024-1-1 huidong (22) HiEasyX 支持创建多绘图窗口,拥有相对完善的控件库,支持透明通道,封装了画布、图层和场景。HiEasyX 只有一个目的——让 EasyX 更易用。[查看全文]
学习 C 语言不推荐阅读《C Primer Plus》、《C++ Primer Plus》 2022-5-20 ~ 2023-9-8 慢羊羊 (0) 当今社会,学习资料极大丰富,如何选择学习书籍很关键,否则会导致浪费很多时间却无法获得较大收益。本文详细说明了为什么不建议阅读《C Primer Plus》、《C++ Primer Plus》等这些被称作国外经典的编程入门书籍。[查看全文]
使用 EasyX 实现的学生成绩管理系统 2022-7-22 ~ 2023-8-1 Qt小徐 (8) 这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生等操作。简单地封装了一下界面,使得程序可以添加按钮、表格等控件,在细节方面处理得也比较到位。代码中运用到了一些类、继承、多态等面向对象特性,值得初学者学习。[查看全文]
可视化 π 2023-2-22 ~ 2023-7-15 无语 (0) 算法实现可视化 π,能调节精度,理论上可以计算到任意位数,精度越高计算越慢,越高的精度需要辅助判断的位数就越多,屏幕大小可以调节。动画结束后可以鼠标拖动移动地图,滚轮缩放地图。[查看全文]
刮刮乐(掩码图的范例) 2022-1-17 ~ 2023-7-14 BestAns (0) 这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。[查看全文]
七彩连珠益智小游戏 2023-5-16 ~ 2023-6-17 古风 (5) 还记得当年经典的 winlinez 小游戏吗?没错,它的规则很简单:通过移动彩球,使相同颜色的彩球以横、竖、斜的方式连成一条线,达到五个或者以上便可自动消除,每移动一次如果没有彩球消除则会自动增加三个彩球,随机分布在棋盘上。 所以,你要做的就是尽可能的减少消除小球所移动次数,策略第一。[查看全文]
用相机观察线条 2023-5-7 ~ 2023-6-16 无语 (0) 有两种投影方法,一种是平行投影,一种是透视投影。如果是平行投影观察一条线,可以直接把线条的每一个端点的位置求出来,然后判断这条线有没有某一部分出现在屏幕上再画,但是透视投影不能这么轻松地求出端点位置,因为是根据顶点距离相机的 Z 轴上的距离作为除数的,除数不能为 0 但是顶点距离相机的距离可以为 0,还有一种情况是顶点在相机背后,这距离一除朝向直接相反。为了解决这个问题,不能单纯根据顶点投影到摄像机屏幕上的坐标来画线,应该对线进行裁剪得到线在屏幕内的部分[查看全文]
魔方 2022-2-9 ~ 2023-4-13 无语 (5) 三维魔方,左键拖动能从不同角度观察一个魔方,右键拖动能拧动魔方。拧动的方式有三种,以 x 轴为旋转轴、以 y 轴为旋转轴、以 z 轴为旋转轴。[查看全文]