平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

抢占IE状态栏

Google Notebook那个在IE状态栏上加的图标很有意思,我研究了一下发现被蒙了,那个按钮根本不是在状态栏上,而是个完全浮动的窗口.于是我学着作了一个.

Source Code:
http://www.cnitblog.com/Files/linghuye/MyNoteBook.rar

使用Release目录里的RegMyNoteBook.bat注册

posted @ 2006-05-25 13:39 linghuye 阅读(487) | 评论 (1)编辑 收藏

5月杂记

一个月都快过了,没发一帖.除了和女友敦敦我们的伟大友谊外,现在就是忙着写项目程序.即使这个项目作不成,写好的代码仍然是一笔财富.

研究了一下GLIntercept和ogle,用来拦截OpenGL API,同时衍生出Debug,Image Extract,Model Extract等能力,而且开放源码,挺好玩的.用自己的MyWarCraftStudio试了一下,发现ogle拦截不下我渲染的模型,只是因为glVertexPoiner没有在渲染帧周期内被调用.以后研究其他的游戏就又多了一个好工具.

google出了个Google Notebook,正和我意,我之前拿Gmail的草稿作notebook来着,程序的思路和材料的备忘都可以随手写上.在状态栏上加了个记事薄样子的图标按钮,用Spy++一拖,WTL_BmpBtn,呵呵,看来在抢占完IE的工具条后,新一轮抢占状态条位置的风潮就要来临.

Give me GDK/Novdex/Metoolkit and take my soul,物理引擎是我现在的瓶颈,瓶颈总是让我心烦.

发现暴风影音来源于MPC,而MPC是sourceforge上的开源项目,就是说以后看影片就用mpc了,download下源码又是一笔可用的财富.

搜索到一篇wow水面渲染的文章,确认了自己的几个想法,高兴.
http://noslopforever.blogchina.com/blog/4935335.html
用最简单的技术实现最酷的效果,确实,这是研究玻璃渣游戏的一个基本思路,也很有韵味.

这样拼凑一下,5月的Blog帖就不为空了.

posted @ 2006-05-22 13:14 linghuye 阅读(910) | 评论 (3)编辑 收藏

www.wowguru.com/wiki

新的Wow wiki,欢迎拜访!

New wow wiki site, welcome to have a visit!

http://www.wowguru.com/wiki/index.php/Main_Page

posted @ 2006-04-28 10:23 linghuye 阅读(1314) | 评论 (0)编辑 收藏

被一根数据线整得死去活来

最近两周都在修复计算机,真是衰透了.

最终追其根由只是硬盘数据线坏了,但现象却是Windows启动时报告pci.sys文件被破坏,而重装Windows,安装程序在一开始检查硬盘时就报告一个unexpected error,连故障控制台都进不去.

于是把我吓的魂都没了,认定硬盘坏了,马上光盘启动,使用了一大堆的硬盘修复工具,一个一个试过去,Partition Magic报告硬盘严重错误,句柄错误,更新序列错误,一堆的错误.

最奇怪的是在纯Dos下加载NTFS驱动后,又都能看见所有的盘里的数据,于是决定先恢复数据要紧.使用另一台机器,使用硬盘盒外挂这块硬盘,认出了所有数据,欣喜若狂,然而在转移备份完程序源码数据后,所有的分区突然都出现了"文件或目录损坏且无法读取"现象,试了多个工具后,最后EasyRecovery成功地恢复了大部份的数据,但无法恢复其中一个游戏分区的数据.200G的硬盘数据恢复啊,几个通宵的运行.

然后准备开始低格硬盘时突然发现,在新机器上对硬盘安装Windows都没有报错,而一放到原机器就报错,于是拆内存,拆网卡,显卡,最后拆到硬盘数据线,换了一根后,安装程序通过了.

于是我开始吐血,吐完了流着泪开始回导数据.

经历过了太多的苦恼和烦闷,我于是养成一种习惯,在苦闷时总是以外观者的心态俯视且怜悯着挣扎的自我,嘲讽着自我.

posted @ 2006-04-28 10:14 linghuye 阅读(750) | 评论 (2)编辑 收藏

第三只眼看中国网游(觉得对我胃口,转载)

第三只眼看中国网游( On The Outside, Looking In )

作者:杰西卡·玛丽甘( Jessica Mulligan )
2005 年 8 月 25 日

  你们中的某些人或许认识我,我开发网络游戏约有将近 20 年,写过辛辣的业界专栏,与布利特·帕彻斯凯合著过一本关于网游开发的书,并在全球发行,包括中国的两个版本。所以,在很大程度上,正如人们常说的,我是一个过来之人。 

  过去这几年,我密切关注着网络游戏业在亚洲的爆发式成长。感谢弘亚世代的编辑给了我一个表述观点的平台,这个专栏每月或多或少都会有所更新。下面就让我们开始吧。 

  请容我先对中国网络游戏业的同仁们说上一句:你们疯了。 

  疯得很到位。狂野而充满实验的味道,一次次将这个行业推向崭新的高度。正如历史上那些失去理智的伟人们,如居里夫人、爱迪生、郑和、特斯拉和福特,你们遵从着同样的疯狂理念:用力去推动某一事物,直到它轰然倒下,再从废墟上建造起一件更牢固、更优良的事物。 

  我很钦佩这种品质,也很欣赏你们的疯狂。 

  六年前,如果你告诉我未来会有 2000 万中国人愿意付费玩网络游戏,我会当面嘲笑你。但这能怪我吗? 1999 年 8 月,全世界只有不到 50 万人在付费玩网络游戏。我想大家应该能够原谅我僵化的思维。即便今天,你们的 2000 万的数字仍然比整个美国和欧洲的付费玩家数高出六倍甚至更多,而且差距在不断扩大。 

  你们让我们这些西方人感到惊讶。你瞧,三十年前是我们创造了网络游戏业,我们以为我们能够一直统治它。今天,争夺网游控制权的战争就像上世纪 60 年代各国之间的太空竞争,我们始终坚信最先登月的必定是我们国家。你可以想象一下,假如我们的宇航员在 1969 年登上月球后,发现你们已经在月球上建造并经营起了几座城市,还穿着“月球欢迎尼尔和埃德温(译者注:人类首次登上月球的两名美国宇航员)”的 T 恤,手里拿着飞往火星的打折飞船票,站在外面迎接我们,我们会是怎样的感受? 

  这简直让人感到羞耻。当然,一款西方的产品——《魔兽世界》——已经成为时下全球最火爆的网络游戏。但别忘了,至少有一款来自中国本土的游戏击败了《魔兽世界》,其峰值同时在线比《魔兽世界》高出一倍(译者注:指《梦幻西游》)。这意味着什么?如果你们的市场继续以过去六年来的速度成长,那么在未来六年里,中国将占据全球市场。这些日子我们在美国学会了一句中国话:“我们不再是世界市场领导。” 

  我们作为美国和欧洲网游行业的一员,并没有因此而感到痛苦。相反,我们很羡慕你们。羡慕你们拥有充满激情的用户;羡慕你们的年轻和敢于拓荒;羡慕你们低廉的开发成本,这让你们能够尝试各种新的风格和类型;羡慕你们愿意尝试一切的心态;甚至羡慕你们政府毫无保留的支持——他们宣布投入 10 亿元人民币用于开发 100 款游戏,以帮助开发者更快地成长起来。这在美国永远不会发生,除非哈里伯顿( Halliburton )或埃克森( Exxon )也开始成立网络游戏事业部(译者注:美国的两家石油巨头)。 

  既然如此,我还能对你们说些什么? 

  事实上有很多。你们还没有学会从我们所犯的错误中汲取教训,相信我,你们还有很多需要学习的地方。我们将在未来的几个月里讨论这些问题,不过现在,请允许我先给你们三个简短的忠告。 

  1 、数量不等于质量。我之所以这么说是因为我觉得你们正在犯下一些错误,这些错误我们在上世纪 90 年代已经犯过——尽可能多地开发网络游戏,寄希望于其中几款能够获得市场的认可,使自己一举成为市场领导者。这种做法就像是拿着一把散弹枪去射杀一只苍蝇,也许你能做到,但在做到之前你需要耗费大把大把的弹药。 

  以我的经验来看,这是一个巨大的错误。无论怎样的市场,无论 MMORPG 还是休闲游戏,最终吸引玩家的都将是产品质量。这里的产品质量包括多个方面,例如游戏性、客户服务、便捷性、收费模式等。与其以散弹枪的方式同时开发三款游戏,不如拿出三倍于此的时间开发一款游戏,以保证这款游戏在上述几个方面都能做好。 

  回顾历史,你会发现美国公司追求数量的时期是在 1994 年到 1998 年,这一做法不仅宣告失败,更糟糕的是,它留下了一个加州大小的冒着烟的巨大弹坑。那时约有 130 多款网络游戏被投入研发,最后能够运营的只有不到 10 款。这足足浪费了 2 亿美元的研发费用,无论以怎样的标准衡量,损失都是惨重的。这等于是驾着小船跑到离岸 200 公里的海上,投下 16 亿人民币,然后把船敲沉,自己再游回岸边。 

  这个故事告诉我们:数量不等于质量。 

  2 、越小越好。我之所以说“越小越好”,因为我认为最优秀的创意和游戏往往来自那些以热情去工作的小公司。这一点在我们这里已经被证实了很多次。成功往往意味着创造力的日渐消逝,与之相伴的是不断增加的派系斗争和一无是处的官僚作风。没有人希望看到这一切,但它确实会发生,这是公司这头野兽的天性。 

  看看网游领域内的任何一家美国或韩国公司,在最初的成功后,有谁还能继续开发出真正成功的游戏?只有那些规模较小的外部工作室,他们能做到这一点。 

  在分配政府拨款,或是门户网站和运营商们决定如何在网游开发上投钱的时候,请记住这个教训。 

  3 、别在游戏还没做好前就把它们推向市场。这是几年来我们在美国和欧洲一直犯的另一个错误,而且未来也会定期犯类似的错误。看看现在在美国和欧洲运营的那些游戏,有多少因为不稳定的技术而崩溃,或是遗漏了关键的功能,或是两者兼具。对此没什么可辩解的,即便是“没钱了”也不能拿来作为你的借口。 

  除了做到技术上的稳定,以及拥有被我们的竞争对手训练出来的、大部分或所有玩家都在期待的游戏特性外,要在今天如此拥挤的市场上取得成功,你的游戏还必须有一些独特之处。这里所说的“独特之处”可能很简单,例如在某些特性上比其它游戏作得更好,或是拥有全球最优良的、反应最迅速的客户服务系统;也可能很复杂、有着很高的风险,例如加入其它游戏中从未出现过的特性。 

  仅仅依靠抄袭现有的东西已经远远不够了,市场的先发优势已经丧失,要想成功,你就必须击败对手,而不是效仿对手。


“太多低劣的游戏会扼杀产业” ——杰西卡·玛丽甘专访

记者:是什么促使您写了这篇专栏? 

杰西卡:我一直都在记录自己对网络游戏业的看法。 Skotos.net 网站上有我的“ Biting the Hand ”专栏,这个专栏我坚持写了六年。 2001 年到 2002 年,布利特·帕彻斯凯和我合著《网络游戏开发》的时候,我们花了些时间来考察亚洲市场,之后我就被这块市场迷住了。我发现西方人已经经历过的许多事情,今天的中国网游市场正在经历。所以我决定写点东西,帮助东、西方两块市场在研发和商业方面走得更近。   

记者:您现在对自己半年前的这篇文章有没有什么新的看法? 

杰西卡:有。不过我会把我的更新放到另一篇文章中去谈。(笑)   

记者:为什么您认为中国的网游业过于重视数量而忽视了质量? 

杰西卡:很简单,中国的网游业仍然很年轻,仍然在成长,仍然有很多可感知的机会。每个人都想尽快进入这块市场,希望赚到大钱。同样的事情在 1994 年到 1997 年之间的美国和欧洲也曾发生过,今天随着中国和韩国网游市场的兴起,全球的网游开发规模又开始了新一轮的扩张。你们应该从美国所犯的错误中汲取教训,要知道, 90% 甚至更多的开发中的游戏不会取得成功,甚至不可能走到商业化运营这一步。这对于分析师和风险投资商来说是在烧钱,钱会很快烧光。   

记者:对于仍处于初级阶段的中国游戏研发业来说,没有烂游戏的存在,就不可能有好游戏的出现。从这个角度看,数量是否仍然很重要,至少它给了更多的人一个犯错误并从错误中汲取教训的机会? 

杰西卡:的确如此。不过,太多低劣的游戏会扼杀产业,或是减缓产业的前进步伐。这在上世纪 90 年代中期的美国网游业身上已经得到了证实。看看 1984 年著名的“雅达利冲击”( Atari Shock )对于美国家用游戏机市场的打击,就是因为众多劣质游戏充斥市场而导致的。因此,我们有必要在数量和质量之间保持某种平衡,而我个人更倾向于偏重质量一些。   

记者:您认为《梦幻西游》为什么能击败《魔兽世界》? 

杰西卡:简单谈几个原因: 

A. 董瑞豹(网易公司首席运营官)和网易的团队可以说是这个行业中最聪明的一群人,不仅仅在中国,在全球范围内也是如此。他们很聪明,知道应该培养自己的内部研发力量,这使得游戏的维护变得更方便,对用户和整体市场的需求的反应速度也更快。 

B. 《梦幻西游》从一开始就是一款为中国人定做的游戏,游戏的特色和游戏性准确命中了中国玩家的需求,而且设计师聪明地把《西游记》的背景故事融入了游戏世界之中。 2004 年我第一次来中国的时候,和几十个中国玩家一起吃了顿饭,我问他们在 MMO 中最想要的是什么?几乎每个人都回答说:“中国的历史和神话。”可见这对于中国玩家来说是重要而有意义的。 

我本人也非常喜欢《西游记》这部小说,现在正在读第二遍。我很崇拜美猴王,也很想和猪八戒一起做任务。   

记者:盛大有着庞大的研发团队,但他们开发的几款大型网络游戏并不能算成功。您认为原因何在? 

杰西卡:盛大也在培养他们的自主研发力量,这一点还是明智的。但从中我们也可以了解到,即便你每个环节都做对了,玩家还是可能不喜欢玩你的游戏。这并不稀奇,许多欧美人开发的针对欧美玩家的游戏最后也失败了。这是一个残酷的行业。   

记者:现在盛大已经暂停了 MMO 的开发,专注于休闲游戏,尤其是 EZ 系列平台上的休闲游戏。您对此作何评价? 

杰西卡:我很羡慕盛大的野心,他们的胃口很大!(笑)不过他们选择了一件最难做的事情去做,一旦你踏入硬件相关的开发和支持,你会发现你所需要面对的问题和风险在呈几何级数增长。 

至于休闲游戏,基于自己的硬件平台做开发,这对于盛大来说是合理的一步,我认为是明智之举。如果换作我,我不会完全放弃 MMO 的开发。不过盛大向来善于物色并代理第三方的游戏,所以他们在产品线上可以做到既有新的 MMO 游戏在运营,又能保证内部工作室专注于 EZ 和休闲游戏的开发。   

记者:当您说“越小越好”的时候,您是不是在警告网易和盛大这样的公司? 

杰西卡:这无疑是一种警告。我的意思是,如果开发团队过于直接地被高层管理者控制,就会丧失他们的创造力和创新意识。如果高层管理者过多地介入研发,开发团队就会去设计那些能够被管理层认同的游戏,而不是设计玩家真正需要的游戏。这就是为什么你会在市场上找到 100 款《魔兽世界》的克隆品,却找不到一款出色的新游戏。 

当然,管理层需要知道研发正在做些什么,并提出“继续”或“停止”的商业决策。但他们必须小心,不要过度卷入创意的过程,否则开发团队的热情和经验会变得一无用处。我在欧美的许多大型发行商中曾多次目睹过这样的错误,这不是什么让人愉快的事情。   

记者:开发者为什么要急于把未完成的游戏推向市场?您对此有何建议? 

杰西卡:根据我的经验,这主要有三个原因: 

A. 许多规模较小的、处于起步阶段的开发者在最初启动项目的时候就没有足够的资金,当投入的资金耗尽后,绝望中的他们不得不把未完成的游戏推向市场,希望吸引足够多的用户,这样就会有其他投资商愿意继续往里投钱,以保证他们存活下去。 

B. 对于运营商的内部开发团队来说,高层管理者常会强迫游戏提早开始运营,通常是因为这些游戏的开发成本过高,他们需要或者说希望尽快看到投资回报。 

C. 在某些情况下,过早地运营游戏仅仅是由于经验缺乏。开发团队以为游戏已经完成了,事实上他们的游戏还没有经过充分测试,或是游戏的平衡性还存在问题,这会导致许多不良后果的产生。 

基于上述三个原因,我的建议是: 

A. 在启动项目前确保你的开发计划拥有足够的资金,否则,你应该把重心放在尽快制作出原型( prototype )上,用它去吸引更多投资。 

B. 如果你是一位主管,记住,与其投入大笔金钱,然后又逼着游戏仓促上市,不如及早砍掉这款游戏。你可以每周或每两周对游戏的开发进度进行检查,这时你可以提一些严厉的问题,别害羞。如果你无法确定游戏的开发状况,那就请一些有经验、开发过一款以上的 MMO 的外部人士来,让他们对游戏的开发状况进行检查。 

C. 如果这是你所在的公司或工作室开发的第一款 MMO (即便你拥有有经验的开发人员),千万不要以为没发生爆炸就等于一切平安。尽快开始你的第一次封闭 Alpha 测试,看看那些有经验的玩家是如何评价你的游戏的。如果你不得不对原有设计或特性作重大修改,就在这个阶段进行,千万不要等到封闭 Beta 测试后再去改。

================================================================
读后很对我脾胃,想想自己这些年的开发经验:

任何一个有质量的游戏项目不论开发期拖了多长,总是成功的.当前的投资商不要,下一个投资商会要,投资商总是心血来潮地说市场要求4个月完成游戏,4个月后又有一个投资商说市场要求4个月完成这个游戏,每个人对市场地认识不同而已.有质量的项目在自己手里就是个固定资产,带来的是长期收益.

而一个没有质量的项目即使按时完成,应付了当前的投资商,也注定它失败的命运,最终难免崩盘的一天.作100个没质量的项目,最终还是两手空空,没有任何累积性的长远利益.

要有质量而又按时完成的游戏项目?世界上没有这种项目!

什么是有质量的游戏项目,开发组的每个成员都真心地觉得自己开发的这款游戏有点cool,自己想玩.

posted @ 2006-04-25 09:11 linghuye 阅读(3071) | 评论 (8)编辑 收藏

不平则鸣,利益双输.

今天要准备上传<Collision Detection in Interactive 3D Environments>时,才得知网易的FTP空间服务要停了,这意味着我以前发布的一些程序和代码链接都将报废掉,有的链接则必须浪费大量的时间一一地修正过去,还有随之而来的琐事.

而我也知道,网易的律师肯定能从原先购买的服务协议里找出一项让网易从法律上推卸掉它的责任的条款.
而为了自身的利益就可以牺牲用户的利益,为了群体的利益可以牺牲少部分人的利益,这也是理性的商业行为,存在即合理嘛.

然而我是再也不会购买网易的服务了,而且我的利益也不能这样地被白白牺牲,这会让我觉得自己象个傻子一样被耍了,所以我会很口水地劝我的朋友都不要用网易的服务,凡是网上出现不利于网易的事件我都要力所能及地跟着起哄拆台一下,这样多多少少也能让网易付出一些损失,聊以弥补我作为个体的利益损失和心中的不平之气,让我能心平气和地继续我的程序研究.

如此一写,心中就平和了许多,程序员的定力就是这样修炼出来的.

posted @ 2006-04-01 10:11 linghuye 阅读(640) | 评论 (3)编辑 收藏

ffmpeg的编译

最近耗费了些时间捣鼓ffmpeg影像播放,个人是Linux和开源运动的忠实追随者,但却很少在linux下编程,因为实在讨厌那个命令行的make编译,操作繁琐,我又经常打错字,要花大量时间捣鼓那些./configure,实在不适合我这种懒人.

Linux下的make都是又臭又长,而且搞不懂为什么编译出的东西关联都那么多,目标文件又大,ffmpeg默认编译生成8M多的dll,使用如下./configure,支持各种MPEG4格式.

./configure  --disable-static --enable-shared --enable-memalign-hack --disable-encoders --disable-debug --disable-audio-oss --disable-audio-beos --disable-v4l --disable-v4l2 --disable-bktr --disable-dv1394 --disable-network --disable-lzo --disable-zlib --disable-simple_idct --disable-vhook --disable-muxers --disable-mpegaudio-hp --disable-ffserver --disable-ffplay --disable-decoders --enable-small --enable-decoder=MPEG4 --enable-decoder=SNOW --enable-decoder=MSMPEG4V1 --enable-decoder=MSMPEG4V2 --enable-decoder=MSMPEG4V3

编译完avcodec.dll仍然有1.06M(不知有谁能编译出支持MPEG4的更小的版本),只支持MPEG4格式,用Aspack压缩一下354k,这样的DLL才可以用,虽然结果简单,但没有文档,捣鼓这些参数浪费了大量时间,真是不值得.另外,很烦别人问我程序的编译问题,繁琐而没有多少技术含量,纯粹的体力活.最后为了找一个影片开始播放时会出现马赛克的Bug,修改ffplay.c,做了个VC下可以调试编译的版本,和我的程序做对比,最后调试发现av_read_packet的解码有问题,改成av_read_frame了事,结果是就只改了几个字母解决了Bug,过程却相当的痛苦.

研究的副产品是发现TortoiseCVS这个CVS工具很好用,集成入Windows Shell,而WinCVS表面是Windows GUI,骨子里仍然是Linux的繁琐,状态栏那几条死鱼说明了一切.又发现了Fraps这个游戏视频捕捉工具,直接截获游戏目标画面,显示游戏帧数,直接捕捉显卡内容录制avi,cool!

Linux下的东西就比Windows有技术含量么,我看未必.

posted @ 2006-04-01 00:25 linghuye 阅读(1945) | 评论 (2)编辑 收藏

程序启动内存分析报告

1.DM游戏程序进程Windows环境初始后3.7兆,考虑到使用了众多底层的初始化,且libavcodec.dll体积较大,正常.
2.启动OpenGL环境后激增到10.9兆,消耗7M内存,比较大,尚能接受.
   ChoosePixelFormat: 耗费1.1M
   wglCreateContext:  耗费0.5M
   wglMakeCurrent:    耗费5.3M
3.lua脚本环境,脚本执行后消耗不到500K,cool!
4.载入一般格式纹理消耗68M内存,达到78.5M内存消耗,不能容忍,必须使用压缩格式.
   a.对支持GL_ARB_texture_compression的显卡采用纹理压缩,启动时间变得稍微延长,尚能接受.
   消耗内存骤减至17M,达到28M内存消耗.
   b.glTexSubImage作用于压缩纹理时,对子块纹理的大小也有强制要求,虽然不需要2的n次方,但需要是4的整数倍,否则在不支持NPOT显卡上会失败,INVALID_OPERATION.后来测试发现,各种显卡的这个能力都很不稳定,甚至导致程序崩溃,另外纹理载入时间较长,所以使用预压缩的纹理是最终的解决方案.
5.载入一个大小的字体消耗4M内存,到82.6,再载入一个大小字体又4M内存,达86.7M,不能容忍.FTGL的实现对中文支持的纹理内存消耗上有重大设计问题.
    a.修改FTGL对中文支持中的错误,把中文当英文处理,结果分配了4096*1024的大纹理,浪费啊,改为512*512,消耗骤减至256k.
6.音效系统和声音文件消耗4M内存,尚可.
    a.需要优化
7.最终程序30M内存消耗.

posted @ 2006-03-21 13:50 linghuye 阅读(1383) | 评论 (1)编辑 收藏

显卡调试信息

// 台式
09:41:17.000 -- Graphic Card: NVIDIA GeForce FX 5200
09:41:17.328 -- **** OpenGL Information *******************
09:41:17.328 -- GL_EXT_framebuffer_object is found!
09:41:17.328 -- GL_ARB_pixel_buffer_object is found!
09:41:17.328 -- GL_ARB_vertex_shader is found!
09:41:17.328 -- GL_ARB_fragment_shader is found!
09:41:17.328 -- GL_ARB_texture_non_power_of_two is NOT found!
09:41:17.328 -- *******************************************

// 台式
21:35:49.568 -- Graphic Card: NVIDIA GeForce 6200 
21:35:50.458 -- **** OpenGL Information *******************
21:35:50.458 -- GL_EXT_framebuffer_object is found!
21:35:50.458 -- GL_ARB_pixel_buffer_object is found!
21:35:50.458 -- GL_ARB_vertex_shader is found!
21:35:50.458 -- GL_ARB_fragment_shader is found!
21:35:50.458 -- GL_ARB_texture_non_power_of_two is found!
21:35:50.458 -- *******************************************

// 笔记本
13:41:19.397 -- Graphic Card: Intel(R) 82852/82855 GM/GME Graphics Controller
13:41:19.547 -- **** OpenGL Information *******************
13:41:19.547 -- GL_EXT_framebuffer_object is NOT found!
13:41:19.547 -- GL_ARB_pixel_buffer_object is NOT found!
13:41:19.547 -- GL_ARB_vertex_shader is NOT found!
13:41:19.547 -- GL_ARB_fragment_shader is NOT found!
13:41:19.557 -- GL_ARB_texture_non_power_of_two is NOT found!

//  笔记本,支持到OpenGL1.3
09:45:53.445 -- Graphic Card: SiS M661MX  
09:45:53.495 -- **** OpenGL Information *******************
09:45:53.505 -- GL_ARB_texture_compression is found!
09:45:53.505 -- GL_EXT_framebuffer_object is NOT found!
09:45:53.505 -- GL_ARB_pixel_buffer_object is NOT found!
09:45:53.505 -- GL_ARB_vertex_shader is NOT found!
09:45:53.505 -- GL_ARB_fragment_shader is NOT found!
09:45:53.505 -- GL_ARB_texture_non_power_of_two is NOT found!

//IBM笔记本,连多重纹理都不支持
16:41:31.633 -- Graphic Card: S3 Graphics Savage/IX 1014
16:41:32.174 -- **** OpenGL Information *******************
16:41:32.174 -- GL_ARB_texture_compression is found!
16:41:32.184 -- GL_EXT_framebuffer_object is NOT found!
16:41:32.184 -- GL_ARB_pixel_buffer_object is NOT found!
16:41:32.184 -- GL_ARB_vertex_shader is NOT found!
16:41:32.194 -- GL_ARB_fragment_shader is NOT found!
16:41:32.194 -- GL_ARB_texture_non_power_of_two is NOT found!

// 台式
18:22:41.546 -- Graphic Card: RADEON 9550
18:22:41.890 -- **** OpenGL Information *******************
18:22:41.890 -- GL_ARB_texture_compression is found!
18:22:41.890 -- GL_EXT_framebuffer_object is found!
18:22:41.890 -- GL_ARB_pixel_buffer_object is NOT found!
18:22:41.890 -- GL_ARB_vertex_shader is found!
18:22:41.890 -- GL_ARB_fragment_shader is found!
18:22:41.890 -- GL_ARB_texture_non_power_of_two is NOT found!
18:22:41.906 -- *******************************************
//GL_ARB_pixel_buffer_object 不支持,我晕.

// 台式
20:11:24.671 -- Graphic Card: ATI RADEON XPRESS 200 Series
20:11:25.562 -- **** OpenGL Information *******************
20:11:25.562 -- GL_ARB_texture_compression is found!
20:11:25.562 -- GL_EXT_framebuffer_object is found!
20:11:25.562 -- GL_ARB_pixel_buffer_object is NOT found!
20:11:25.562 -- GL_ARB_vertex_shader is found!
20:11:25.562 -- GL_ARB_fragment_shader is found!
20:11:25.562 -- GL_ARB_texture_non_power_of_two is NOT found!
20:11:25.562 -- *******************************************

// 台式集成,驱动程序intel_845g_141034342
14:25:49.067 -- Graphic Card: Intel(R) 82845G/GL/GE/PE/GV Graphics Controller
14:25:49.107 -- ****OpenGL Information *******************
14:25:49.107 -- Vendor: Intel
14:25:49.107 -- GL_ARB_texture_compression is found!
14:25:49.117 -- GL_EXT_framebuffer_object is NOT found!
14:25:49.117 -- GL_ARB_pixel_buffer_object is NOT found!
14:25:49.117 -- GL_ARB_vertex_shader is NOT found!
14:25:49.117 -- GL_ARB_fragment_shader is NOT found!
14:25:49.117 -- GL_ARB_texture_non_power_of_two is NOT found!
14:25:49.117 -- Max Texture Units is  4
14:25:49.117 -- Max Texture Size is  2048
14:25:49.117 -- *******************************************
不支持全屏抗锯齿采样

// 浦城网吧
14:55:24.476 -- Graphic Card: NVIDIA GeForce 7300 GT
14:55:24.601 -- **** OpenGL Information *******************
14:55:24.601 -- GL_ARB_texture_compression is found!
14:55:24.601 -- GL_EXT_framebuffer_object is found!
14:55:24.601 -- GL_ARB_pixel_buffer_object is found!
14:55:24.601 -- GL_ARB_vertex_shader is found!
14:55:24.601 -- GL_ARB_fragment_shader is found!
14:55:24.601 -- GL_ARB_texture_non_power_of_two is found!
14:55:24.601 -- *******************************************

// 家门口网吧
20:42:20.679 -- Graphic Card: NVIDIA GeForce 7300 GS
20:42:21.101 -- **** OpenGL Information *******************
20:42:21.101 -- GL_ARB_texture_compression is found!
20:42:21.116 -- GL_EXT_framebuffer_object is found!
20:42:21.116 -- GL_ARB_pixel_buffer_object is found!
20:42:21.116 -- GL_ARB_vertex_shader is found!
20:42:21.116 -- GL_ARB_fragment_shader is found!
20:42:21.116 -- GL_ARB_texture_non_power_of_two is found!
20:42:21.132 -- *******************************************

// Diamond Viper 550
16:04:12.747 -- Graphic Card: NVIDIA RIVA TNT
16:04:14.009 -- **** OpenGL Information *******************
16:04:14.009 -- GL_ARB_texture_compression is NOT found!
16:04:14.009 -- GL_EXT_framebuffer_object is NOT found!
16:04:14.009 -- GL_ARB_pixel_buffer_object is NOT found!
16:04:14.009 -- GL_ARB_vertex_shader is NOT found!
16:04:14.009 -- GL_ARB_fragment_shader is NOT found!
16:04:14.009 -- GL_ARB_texture_non_power_of_two is NOT found!
16:04:14.009 -- *******************************************

// NV4 系列
21:06:56.953 -- Graphic Card: NVIDIA GeForce4 Ti 4600
21:06:57.078 -- **** OpenGL Information *******************
21:06:57.078 -- GL_ARB_texture_compression is found!
21:06:57.078 -- GL_EXT_framebuffer_object is NOT found!
21:06:57.078 -- GL_ARB_pixel_buffer_object is found!
21:06:57.078 -- GL_ARB_vertex_shader is found!
21:06:57.078 -- GL_ARB_fragment_shader is NOT found!
21:06:57.078 -- GL_ARB_texture_non_power_of_two is NOT found!
21:06:57.078 -- *******************************************


// MMX 440
11:42:17.937 -- Graphic Card: NVIDIA GeForce4 MX 440 with AGP8X
11:42:21.000 -- **** OpenGL Information *******************
11:42:21.000 -- GL_ARB_texture_compression is found!
11:42:21.000 -- GL_EXT_framebuffer_object is NOT found!
11:42:21.000 -- GL_ARB_pixel_buffer_object is found!
11:42:21.000 -- GL_ARB_vertex_shader is found!
11:42:21.000 -- GL_ARB_fragment_shader is NOT found!
11:42:21.015 -- GL_ARB_texture_non_power_of_two is NOT found!
11:42:21.015 -- *******************************************

18:51:08.578 -- Graphic Card: RADEON 9250
18:51:08.734 -- **** OpenGL Information *******************
18:51:08.734 -- GL_ARB_texture_compression is found!
18:51:08.750 -- GL_EXT_framebuffer_object is NOT found!
18:51:08.765 -- GL_ARB_pixel_buffer_object is NOT found!
18:51:08.765 -- GL_ARB_vertex_shader is NOT found!
18:51:08.781 -- GL_ARB_fragment_shader is NOT found!
18:51:08.781 -- GL_ARB_texture_non_power_of_two is NOT found!
18:51:08.796 -- *******************************************
09:18:28.250 -- Graphic Card: RADEON 9250
09:18:28.296 -- **** DirectX Information *******************
09:18:28.312 -- Texture Compression is found!
09:18:28.312 -- Vertex Shader 1.1 is found!
09:18:28.328 -- MaxVertexShaderConst is 192!
09:18:28.328 -- Pixel Shader 1.4 is found!
09:18:28.343 -- NON-POWER-OF-TWO texture is NOT found!
09:18:28.343 -- *******************************************

00:04:43.859 -- Graphic Card: NVIDIA GeForce2 Ti
00:04:44.187 -- **** OpenGL Information *******************
00:04:44.187 -- Vendor: NVIDIA Corporation
00:04:44.187 -- GL_ARB_texture_compression is found!
00:04:44.187 -- GL_EXT_framebuffer_object is NOT found!
00:04:44.187 -- GL_ARB_pixel_buffer_object is NOT found!
00:04:44.187 -- GL_ARB_vertex_shader is NOT found!
00:04:44.187 -- GL_ARB_fragment_shader is NOT found!
00:04:44.203 -- GL_ARB_vertex_buffer_object is found!
00:04:44.203 -- GL_ARB_texture_non_power_of_two is NOT found!
00:04:44.203 -- Max texture units is  2
00:04:44.203 -- Max texture texture is  2048

posted @ 2006-03-13 21:34 linghuye 阅读(1154) | 评论 (0)编辑 收藏

暂停所有程序技术研究,专心研究如何哄女朋友开心.

恋爱症候群 - 黃舒駿
     曲︰黃舒駿
     詞︰黃舒駿

关于恋爱症候群的发生原因
至今仍然是最大的一个谜
不管性别年龄职业体重学历长相和血型
没有一个人可以免疫
有些专家学者研究后相信
恋爱是内分泌失调所引起
却有别人认为恋爱属于过滤性簿
像感冒无药可救但会自动痊愈
不管你同不同意
自古到今许多例子证明
恋爱不但是一种病态
它还可能是一种变态

一般发病后的初期反应
会开始改变一些生活习性
洗澡洗得特别干净刷牙刷得特别用力
半夜里突然爬起来弹钢琴
有人每天站在阳台对路人傻笑
有人突然疯疯癫癫突然很安静
有人一脸痴呆对著镜子咬著指甲打喷嚏
有人对小狗骂三字经

女人突然改变发型
男人开始每天练著哑铃
食欲不振歇斯底里四肢萎缩神经过敏发抖
抽筋都出现在这时期
随著病情越来越变本加厉
人会变得格外敏感勇敢和恶心
写的唱的说的都像天才诗人一般才华洋溢
愈肉麻愈觉得有趣

有人恋爱之后每天躲在厕所哭泣
有人开记者会宣布恋爱的消息
有人总是喜欢两个人躲在黑漆漆的地方
像做了不可告人的事情
每天忙著找人算命
挖空心思改变自己配合对方的习性
把每天都当作记念日
把自己当作记念品

每天漫无目的腻在一起
言不及意也决得好有趣
走著坐著躺著趴著都行影不离
像是两人三脚又像连体婴
心里想的只有爱你爱你爱你爱你
也不管家里米缸有没有米
也不管路上有人示威抗议
只管爱你
心里想的只有爱你爱你爱你爱你
也不管海峡两岸统一问题
也不管埃塞俄比亚多少难民
只管爱你

经过一段轰轰烈烈热恋时期
不久就会开始渐渐痊愈
两人开始互相厌倦互相攻击对方缺点
所有甜言蜜语都随风而去
然后开始从错觉和误解中清醒
惊讶自己为何如此不聪明
为了爱情不管一切
不顾父母朋友姐妹兄弟
开始感到后悔不已
然后开始感到疲惫沉闷气喘心悸牙痛头痛梦呓
然后是精神不济瞳孔放大脾气暴躁四肢麻痹
终于受不了要分离

虽然结果颇令人伤心
了解之后也没什么了不起
爱情终究是握不住的云
只是我想要告诉你

哦...
在我落寞的岁月里
你的温柔解脱我的孤寂
带给我深深的狂喜
如此颤动著我的心灵
轻轻诉说爱你爱你爱你爱你
不管是黑夜或是黎明
不管是梦中或是清醒
深深爱你
我要对你说爱你爱你爱你爱你
不管是黑夜或是黎明
不管是梦中或是清醒
深深爱你
多么幸福
让我遇见你
呜...

posted @ 2006-03-13 12:51 linghuye 阅读(2787) | 评论 (5)编辑 收藏

仅列出标题
共23页: First 7 8 9 10 11 12 13 14 15 Last