个人作品

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下

纯软件算法实现 3D 渲染(by 桌子)

这个项目用 EasyX 实现了软件渲染器,模仿了很多 OpenGL 的 API 定义(类似 OpenGL 运行库),然后在 main.cpp 里面写用户自己的模型及贴图代码。在源码中有详尽的说明。

软件运行可以得到如下的效果:

主要实现的功能:

  • 一些简单的数学运算(矩阵相乘,向量叉乘等)
  • 使用扫描线多边形填充算法绘制多边形
  • 线性插值(linear interpolation)
  • 透视校正插值(perspective correct interpolation)
  • 深度测试(用于消隐)

一些我想到的但是暂时没实现的功能:

  • 不支持 ddx 和 ddy,所以没有 Mipmap,因为实现起来比较麻烦。
    ddx 和 ddy 是指在屏幕空间上求
...

Line Way 一笔画游戏(by Smileyan)

Line Way 是一个简单有趣的一笔画游戏。

玩家只需要用鼠标移动到方格上,使游戏角色将所有路径走遍即可过关。

目前游戏共有 25 关。

游戏执行效果如下:

  

源代码编写环境:Visual C++ 6.0,EasyX(20190219)

完整的游戏源代码在 github 上:https://github.com/smile-yan/LineWay

作者:Smileyan
QQ:837764072
邮箱:837764072@qq.com

引力球模拟程序(by blue丶1ris)

这个程序模拟了知名游戏“引力球”。

按空格键开始游戏。

游戏执行截图如下:

完整的游戏源代码,作者分享在 github,地址:https://github.com/blue1ris/gravitational_ball 。

作者:blue丶1ris
邮箱:197041868@qq.com

墨攻棋阵 - 黑白棋中的 AI(by 千千)

到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都在最后几周,加上数据结构的课程设计就没有时间做这个啦~

刚开始打算做成UWP应用的,可是网上的教程都是C#,并且用C++做的话某些功能和C#不一样,所以就这样拖了好多周,省赛前一点儿也没有开始做,等到省赛结束之后,别人都差不多完成啦!而我才开始准备查找资料……

然而一周过去了,进度还是0%。噫,1%吧!

眼看就要开始验收了,算了,还是用最简单的 EasyX 做吧!以后的 C# 课程设计再考虑 UWP。

周一开始敲代码,整整一周的课余时间,都在努力做这个,现在想起来,那个时候真的好累唉,居然没有感觉到~

最初做这个游戏是因为想起来 秦时明月 中的 墨攻棋阵 ,也就是黑白棋,努力还原动漫中的场景,周末的时候终于完成了。

先附图:

...