博文

[置顶] 我的技术博客:游戏编程 实时渲染(2009-01-12 01:25:00)

摘要:技术博客:http://blog.sina.com.cn/gamerendering......

阅读全文(1174) | 评论:0

CS才是王道(fps游戏Demo)说明及D3D总结(2009-01-08 12:19:00)

摘要: CS才是王道(fps游戏Demo)说明及D3D总结 作者:   insky(李文耀)
主页:gamecoding.cn
下载
ps: 做了半个学期的东西,总想写篇文章,不过现在考试十分繁忙,慢慢写吧,当年终总结了。
  
  CS才是王道是一款模仿CS的游戏Demo,这是我写的第一个3D游戏作品。拖拖拉拉的写了2个多月吧,最终的效果跟CS自然是天壤之别,不过作为学习娱乐,提高对整个D3D流水线的认识,以及整个引擎结构的搭建,却也是收获颇多。游戏里的资源均来自互联网一起其他网友的游戏Demo,进供学习参考,请勿用于商业用途o(∩_∩)o...。

一,程序最终效果及实现的功能
  效果图如下:
  实现的功能与技术如下:
1,地形系统
2,粒子系统(雨雪)
3,角色动画系统(梦卡皮动画,骨骼动画),纹理动画
4,引擎对动静态角色都有很好的支持,可以很方便的导入新模型
5,碰撞处理与简单物理引擎
6,天空盒
7,另外还有一些琐碎的技巧,alpha test, 二维,广告板,多级纹理阶段等等。

二,D3D9.0固定流水线的学习总结
三,引擎整体框架
四,地形子系统 + 天空盒
五,粒子子系统
六,动画子系统
七,角色子系统 + 物理引擎

我想以后慢慢补上吧,今天开个头好了(2009-01-08)。 ......

阅读全文(3500) | 评论:1

一个简单的软件渲染引擎(2009-01-08 12:17:00)

摘要: 软件渲染引擎实现说明
作者: insky(李文耀)
主页:gamecoding.cn
下载
  本程序实现了一整套3D渲染流水线,首先抽象出一个画点函数DrawPoint( int x, int y, DWORD color ),后继模型的所有绘制操作都是通过调用DrawPoint来完成的。实现功能及流程可由下图表示:





1  软件效果及速度


       算法实现的最终效果如上图所示,在扫描线Z缓冲算法基础上增加了T&L,背面剔除,屏幕空间裁剪,颜色插值,全屏反走样等一整套3D渲染流水线。最终效果跟D3D9固定流水线的渲染效果已经相当接近,除了一些少数的黑点无法剔除,主要原因是顶点浮点坐标跟屏幕整型坐标的转换带来的锯齿。另外在速度上,对于有92856个面片的兔子模型,软件渲染依然有6.16 fps. 测试电脑配置如下:
      CPU             显卡      内存
Intel Core 2 E7300(双核,2.66GHz)  NVIDIA GeForce 9600 GT  2G

2 编程环境,操作说明
         ①编程环境为
    vs 2005 + Directx 9.0(c) + DXUT(跟glut类似,DX框架)。
  ②用户界面使用说明
    中间是当前查看的OBJ文件模型,可以通过鼠标左键旋转模型,也可通过右键水平移动模型以及通过滚轮前后  移动模型。
    右边是功能按钮,单击 打开文件 按钮会跳出文件选择对话框,用于加载新的OBJ模型。也可通过 下拉框 直  接选择程序默认的4个OBJ模型。
    选择按钮允许用户选择使用D3D9渲染还是使用软件渲染。下面是一堆渲染选项开关:自动旋转,使用光照模   型,全屏反走样,背面剔除,深度测试。

3 软件渲染过程中使用的数据结构与算法说明
  所有的操作都封装在类ZLBuffer中,代码1000行左右,其接口只有......

阅读全文(3656) | 评论:1

隐形的BUG(转)(2008-11-21 16:48:00)

摘要:  每一次
都在RE,TLE中坚强
每一次
就算全WA光
也不闪泪光
我知道
我一直拥有隐形的bug
让我WA
给我绝望

不去想
他们拥有AC的太阳
我看见
每天的rank
也会有变化
我知道
我一直拥有隐形的bug
让我WA
给我绝望

我终于看到
所有提交都AC
追逐的年轻
算法多漂亮

我终于AC
反复提交不害怕
哪里有这题
我就提交吧

隐形的bug
让WA恒久比天长
留一个
愿望
让自己想象
--
我终于看到
所有提交都AC
追逐的年轻
算法多漂亮

我终于AC
反复提交不害怕
哪里有这题
我就提交吧

隐形的bug
让WA恒久比天长
留一个
愿望
让自己想象
-
我终于看到
所有提交都AC
追逐的年轻
算法多漂亮

我终于AC
反复提交不害怕
哪里有这题
我就提交吧

隐形的bug
让WA恒久比天长
留一个
愿望
让自己想象
......

阅读全文(2278) | 评论:1

CS才是王道(添加雨雪效果.12-28)(2008-11-09 10:15:00)

摘要: 查看博主的其他项目 DEMO下载(右键目标另存为): 作者:  insky 项目主页: http://www.gamecoding.cn email: yjandlwy@163.com   ************************************************************************
//、、、、、、、、、、、、、12月28 、、、、、、、、、、、
  增加了下雨和下雪两个粒子效果。forgive。。。 //、、、、、、、、、、、、、12月05 、、、、、、、、、、、      通过2周的努力,终于学会用milkshape导出cs里面的.mdl模型。有些模型导出会有问题,大部分是行的通的。此次导出飞机与匪徒guerilla,以后会逐步增加,改进了骨骼动画系统,可以设置播放模式,once or loop,动画结束时的事件处理,声音播放等等系统都预留了完善的接口。下面是几张新的截图       //、、、、、、、、、、、、、11月23、、、、、、、、、、、、、 新增加了简单的物理引擎,不但冲突碰撞更加和谐了,而且主角可以二连跳,稍微练下就可以跳到房顶了。如下图: 另外,可以通过左右键来切换跟踪对象,按回车回到主角。 //、、、、、、、、、、、、、11月16 、、、、、、、、、、、、、 我过了一周非人类在生活,除了吃喝拉沙,不出房门半步,不为别的,只想着尽快在把手头在DEMO做完,做的漂亮,也许这就叫作修真。 好了,进入主题吧,先看几张DEMO在截图,如果你感觉JUST SO SO,那么就没有必要再看下去浪费时间。当然这个是一周内做在粗超无比在DEMO。以后我会逐步完善,
@!##$$%$$$$#@¥%¥%¥…………%&…… ………………………………####### 现在我们把这只烦人的insky赶走。。。   1, AK47   2, AWP     全部代码都是用D3D9.0 固定流水线做的,没有涉及SHADER。使用了很多小技术: 如: 纹理动画......

阅读全文(3476) | 评论:0

谈谈我对攻读计算机研究生的看法[转载](2008-08-12 09:14:00)

摘要:回复CSDN和KAOYAN诸位网友的几点看法,(为避免吵架,郑重声明,本人不是高手,只是有感而发的一点个人陋见,欢迎指正,事先感谢):
  
  就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。
  
  如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。
  
  你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读书;2)高手不可能想去混一个学历;3)高手不可能认为晋升是因为学历的原因。
  
  还需要说明的是,考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有(上海育碧,图形特效算法设计)。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问“研究生毕业能拿多少?”,要问“像我这种水平的人,研究生毕业能拿多少钱?”这样人家才能够准确地回答你。
  
  所谓“有实际开发工作经验”是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重......

阅读全文(5109) | 评论:0

三个百度不为人知的变态秘密!(太绝了)(2008-06-22 00:12:00)

摘要:三个百度不为人知的变态秘密!(转载) 1、试试把百度反着打,超有趣!
  就是www.UDIAB.COM.CN看看会出现什么情况!
  搞笑死了
  而且注意一下任务栏里~
  再随便打个词进去看看
  好玩啊,今天才知道的
  2、用baidu 搜索SB , 第一个显示的是google . 用GOOGLE搜索SB,"百度"排第一位,但链接不是百度的.
  3、大家都知道百度的网址是 www.baidu.com
  但是,谁能想到他们居然还有另外一个域名:
  http://www.mamashuojiusuannizhucedeyumingzaichangbaidudounengsousuochulai.cn/  域名是拼音,翻译成中文是:"妈妈说就算你注册的域名再长百度都能搜索出来"......

阅读全文(1727) | 评论:0

进百度之星复赛了(2008-06-09 01:35:00)

摘要:感觉做的一般,但分数还勉强,第一场58,第二场41.75。 终于得偿所愿了:) 我的T恤......

阅读全文(2478) | 评论:1

2008百度之星a*star预赛第一场(2008-06-03 16:06:00)

摘要:1. 广告排名区间(10分) 问题背景
shifen广告消费预估系统可以估计出一段时间内一个特定的广告在检索结果中排在各个位置的几率。比如系统对某广告的输出如下:
p1 = 0.03, p2 = 0.08, p3 = 0.04 ……
这说明该广告展现在第1位的概率是 3%,展现在第2位的概率是 8%,展现在第3位的概率是 4%……
问题是:如何给出一个排名估计区间[i, j],使得广告出现在该区间中的概率大于或等于一个预设值p,同时这个区间所包含的元素尽可能的少。也可用数学语言来描述:给定数p和数列 p1, p2, … , pn,求 i和 j (1 <= i <= j <= n),在满足pi + pi+1 + … + pj >= p的前提下让j-i 最小。
一般来说,pi只需保留6位小数就足够了。这样,若令ai=106pi,a=106p,则a和所有的ai均为[0,106]之间的整数。这样就避免了对实数的处理。
输入格式
第一行包含一个整数n (1 <= n <= 100,000)。
以下n行每行包含一个[0,106]内的整数,依次为a1,a2,…,an。这n个整数之和保证不超过106。
最后一行包含一个[0,106]内的整数a。保证所有ai之和不小于a。
输出格式
输出仅一行,包含一个整数,即j – i的最小值。
样例输入
7
5
8
4
7
10
5
2
18
样例输出
2
样例解释
a2=8, a3=4, a4=7之和为19,满足条件。而任何两个相邻数之和均小于18。 2. LZW网页判重(20分) 问题背景
有一种简单的网页判重的方法,通过求两个网页内容的最长公共子序列(LCS)长度来判定两个网页的相似程度。如:
(网页A)老师:请用“果然”造句。
(网页B)学生:先吃水果,然后喝汽水……
它们的最长公共子序列为“果然”,长度为2。注意这里的“子序列”并不要求连续。
类似的,下面两个网页:
(网页A)老师:请用“果然”造句。
(网页B)学生:先吃水果,然后喝汽水,果然拉肚子……
最长公共子序列还是“果然”,长度为2。但不难看......

阅读全文(1913) | 评论:0

俄罗斯方块,AI五子棋(大二项目)(2008-06-03 00:33:00)

摘要:项目:AI五子棋(点击图片下载) 查看博主的其他项目 AI五子棋   这是大二写的,年代久远,有点生疏了。关键就是ROBOT类,一个简单的人工智能,当时还没学搜索算法。所以只写了个估值函数,相当于是只搜一层了,完全贪心了。棋力教差,基本都是防守的,但是不仔细下也会让你吃不了兜着走。   项目:俄罗斯方块(点击图片下载) 查看博主的其他项目 俄罗斯方块   这也是大二写的,我很喜欢这个游戏,感觉软件还是具有一定的可玩性的。为了让软件富有神秘感,我还特别加了个隐藏模式,具体嘛就不透露了,自己摸索吧。 项目主页: http://insky.5tf.net/......

阅读全文(3017) | 评论:1