一种高效、简易、高质量的 2D 游戏 PBR 光照实现方法 银牌收录

本文将会介绍一个我正在制作的项目 PaperCraft 中有关游戏 2D 光照的实现。 提供一个低成本的基于有符号距离场可用于实时 2D 光照渲染的可行思路。 本文将会提供一种可能的代码来实现该方法,阐述该方法的优缺点.。 并在本文最后附上 EasyX 实现代码并给出性能测试.

RCEngine:一个基于 EasyX 的伪 3D 游戏引擎 银牌收录

RCEngine 是一个基于 EasyX 的伪 3D 游戏引擎,旨在为用户提供一个简单、易于学习的游戏开发环境。它提供了一些基本的 3D 功能,如场景、相机、材质等,以及一些基本的游戏功能,如角色控制、碰撞检测等。用户可以通过学习 RCEngine 的基本概念和 API,快速地创建自己的伪 3D 游戏。

Ray Tracing in One Weekend 汉化 银牌收录

Peter Shirley 教授的 Ray Tracing Weekend 系列书籍一直是我个人十分喜爱的一本入门书籍,在初次阅读完后就萌生了对其进行翻译的想法,鉴于原书是基于 STBImage 的代码,和国内大多使用 EasyX 进行教学的环境有一定出入,因此我对代码进行了一定的“本土化”,并且,我对原著中的图片也重绘翻译,对一些篇章进行了修改,希望可以有利于后来者吧。

使用 EasyX 实现的学生成绩管理系统 银牌收录

这是一个使用 C++ 和 EasyX 绘图库实现的学生成绩管理系统,里面包含了查看学生、搜索学生、添加学生等操作。简单地封装了一下界面,使得程序可以添加按钮、表格等控件,在细节方面处理得也比较到位。代码中运用到了一些类、继承、多态等面向对象特性,值得初学者学习。

可视化 π 银牌收录

算法实现可视化 π,能调节精度,理论上可以计算到任意位数,精度越高计算越慢,越高的精度需要辅助判断的位数就越多,屏幕大小可以调节。动画结束后可以鼠标拖动移动地图,滚轮缩放地图。

刮刮乐(掩码图的范例) 银牌收录

这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。

七彩连珠益智小游戏 银牌收录

还记得当年经典的 winlinez 小游戏吗?没错,它的规则很简单:通过移动彩球,使相同颜色的彩球以横、竖、斜的方式连成一条线,达到五个或者以上便可自动消除,每移动一次如果没有彩球消除则会自动增加三个彩球,随机分布在棋盘上。 所以,你要做的就是尽可能的减少消除小球所移动次数,策略第一。

用相机观察线条 银牌收录

有两种投影方法,一种是平行投影,一种是透视投影。如果是平行投影观察一条线,可以直接把线条的每一个端点的位置求出来,然后判断这条线有没有某一部分出现在屏幕上再画,但是透视投影不能这么轻松地求出端点位置,因为是根据顶点距离相机的 Z 轴上的距离作为除数的,除数不能为 0 但是顶点距离相机的距离可以为 0,还有一种情况是顶点在相机背后,这距离一除朝向直接相反。为了解决这个问题,不能单纯根据顶点投影到摄像机屏幕上的坐标来画线,应该对线进行裁剪得到线在屏幕内的部分

魔尺 银牌收录

魔尺小游戏,鼠标左键拖动能观察各个角度下的魔尺,鼠标左键点击能拧动魔尺块。24块魔尺块,可以拧成一颗球。

魔方 银牌收录

三维魔方,左键拖动能从不同角度观察一个魔方,右键拖动能拧动魔方。拧动的方式有三种,以 x 轴为旋转轴、以 y 轴为旋转轴、以 z 轴为旋转轴。