没有不可能 发表于 2018-2-20 11:02:23

FPS游戏GDI方框透视自瞄实现(带源码)

用于实现的游戏是早年的CSS起源,版本是最近国内玩家整合过的版本,非steam。
用于编程的语言是C/C++。

发帖的起因是因为最近很火的一款游戏,导致了我花了2个月时间去学习编程和透视相关的知识。。

我下面说的仅仅限制我目前了解的,不对的地方请指正。
不针对任何人和事。

先说下原理,给一些不懂得人。。。

1.早年的GDI,GDI+,由于使用的是早期的技术,缺点就是CPU占用高,绘制会闪烁。因为透视的绘制和游戏的绘制不同步。
这里说一下双缓冲技术,我的理解是基于透明窗体或者别的窗体上实现,但是双缓冲有点麻烦。所以我没有深入去研究。
如果用的游戏窗体来双缓冲,依旧会闪烁。(如有会用游戏窗体无闪烁的大佬,那么请指导一下!!!!!!!哈哈哈。。)

2.用的还是上面的技术,但是这里多加了一个透明的窗体,什么是窗体,应该不用我多说了吧,就理解为一个窗口就行了,比如你打开了QQ跳出来一个界面,就是窗口。
如果用了透明窗体,并且覆盖你需要透视的游戏,在自己的窗体上面进行绘制,这样不会闪烁。
这个办法容易被检测。这里多说一些,最近很火的一款FPS的辅助,大部分用的也是外部绘制,很多是用steam的窗体来绘制,所以不闪烁。如果早期用辅助的玩家应该知道,很多辅助都会闪啊闪,W7还要开AERO,那些就是用的GDI绘制。

3.D3D绘制,,这个应该是近些年来最多的透视代表了。D3D全称Direct3D。是一个图形接口,由于目前各大游戏基本用的都是Direct3D的开发,所以透视也用的Direct3D接口。
大家听的最多的应该就是HOOK DX,实际上就是获取了游戏内绘制人物时的矩阵,然后用自己的函数来达到一个透视的目的。
Direct3D优点在于不占用CPU,并且游戏内不会掉帧(FPS)。。如果你用辅助和你不用,FPS相差10以内,基本就是用的这个技术了。
反之,你掉帧又卡,那么90%这个辅助用的是GDI绘制,或者E语言写的,再者就是算法太垃圾。
对了,D3D也可以骨骼透视,因为人物的模型也是要画出来的。

方框透视效果
http://www.iqiyi.com/w_19rvnfs2pl.html

**** Hidden Message *****

god888 发表于 2018-2-20 13:47:33

1111111111111111

yy1470419835 发表于 2018-2-21 13:41:40

666666666666666666666

satanas 发表于 2018-2-21 15:20:32

来看一下:lol:lol

xiaoyang 发表于 2018-2-22 21:01:18

1111111111111111111111111

1346785281 发表于 2018-2-26 21:55:05

w呜呜呜呜呜呜呜

song1163825 发表于 2018-3-1 20:10:39

真的不错               

1830857800 发表于 2018-3-3 14:57:25

看看!支持支持

1099001006 发表于 2018-3-8 21:15:20

FPS游戏GDI方框透视自瞄实现(带源码)

xhdds 发表于 2018-3-13 12:03:59

好资料,学习一下。。。。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: FPS游戏GDI方框透视自瞄实现(带源码)