Just another WordPress.com site

最近的

这撒感觉?

    这个应该要叫撒感觉,我一直表达不出来,所以我一直没有留下任何的文字记录。失败感,挫折感,心灰意冷,这些东西就是交织在一起的感觉。哽咽到我已经懒的去想,去分辨这到底是什么样的感觉,什么样的滋味。

    好吧,今年,大概注定是不会让我顺利的一年。还有谁想站出来给我打击的?尽管放马过来好了,还有什么事可以让我难过的,也尽管招呼吧,爷不在乎啊,反正已经体无完肤了。

    我们都说,累了就会放弃。但我为什么呢,我不是累了,但大概我的极限就这点,我承受不住了。我想放弃,但不是因为累了,只是想逃开,我不想面对了。不想在强迫自己去坚持,为什么我一定每次都要对自己说加油,对自己说再坚持一下,再去相信什么东西呢。也许我是知道答案的,只是人对于希望这种东西向来都不是轻易容易舍去的。我真的想放弃,放弃很多东西,工作,生活,追求,包括自己吧。因为我不快乐,我努力追求,寻觅,想抓住让自己可以快乐的事,但最终一切还是那样子,我不开心,所以,能不能放弃,至少不会让自己更不快乐呢。

    有希望才会更会失望,所以,我想放弃的是希望。能不能不报希望的去做一件事呢,能不能不报希望的去生活下去呢。我有点羡慕行尸走肉,至少没有要思考的东西,也就不会为之所累。我很烦躁,但唯一的发泄方式就是把自己绑在自己的世界里,然后让名为希望的巨石把我沉入更深的虚渊。

     对外,我要自制,不能让父母操心,不能让人看出自己的崩溃,我们每天都在装B,装坚强,装无所谓,装着放开,装着看破人生,装着我们生活的很快乐。隐藏自己的感情,不能让自己的感情流入在脸上,我不能生气,因为他们说,在生活上这是不成熟的,在工作中是不理智的,在事业上是于事无补的,在人际关系中这只会把问题搞的更麻烦的。我不能选择放弃,逃离,因为人总是很难死心的,因为我是有责任的,因为我还是那个会去坚持相信的傻瓜。也许,真的是傻瓜,相信着,只要熬过去,就会好起来。

    突然,我很想离开这一切,未来的二十年,三十年,过的好不好,我真的不在意,因为我甚至都没有办法在现在开心起来,未来不过是自己给自己画的一块饼而已。悲哀的是,被不甘心和害怕绑在了不能后退的战车上。

    他妈的,今年什么日子,每一件顺利的事。

    我真的很想走,很想离开。追求的东西,梦想?这种东西,即使实现了又如何,没有现在,给我未来又如何。而现在的我,只是想对一切放手,妈的,我真的活腻了。无聊的世界。一切都很无聊,再说,该做的事,我也做过了,经历了过了,人生,还有什么好玩的嘛,无非就是成家立业,虽然我没有完成任何一个目标,不过至少经历过过程了,那么结果重要吗。如果不重要,那么谁告诉我接下来的三十年,还有什么能出其右的其他的事情可以做,三十年,我都嫌长了。

强烈推荐Rendermonkey

这个工具非常出色,可以方便的在前期查看到要显示的图形效果,而且极少的程序量,并且可以把所见效果导出数据,从而完美的导入到游戏内。另外对于研究图形技术也提供了一个非常直观的平台。最近正使用它研究shader。

编辑器完成场景加载

      差不多一个月没有新的东西更新了,总算完成了编辑器对场景数据的加载,接下就是做场景显示了。
      这20多天中,主要是做了XML系统的重构,原来的模块,解析XML的能力没有现在这么强大,解析方式也不够好,挺混乱的,本来只想改解析XSD和xml的两个接口,没想到引发了对整个模块的一次重构。现在当然要比以前那个满意多了,更加面向对象,支持的语法格式也更多,结构有更合理,当然,不是完全没有问题了,我觉得还有进一步重构和优化的可能。但是,知行合一,先用着吧,在实践中不断修改。
      另外对整个游戏框架有做了部分调整,随着场景加载流程的加入,有些原先的设计暴露出了不足。老实说,这种重构很痛苦,天天在思考大局,但要顾到全局又非常难,所以不停的重构,大概就是宿命吧。虽然有思想准备好的结构不是一次成型的,但这当中的压力和枯燥真是差不多把我累死了。
      场景数据加载的完成,意味着从数据,到程序中的数据对象的流程走通,以后只要换数据模板,添加相应的数据解析结构,和做数据,基本这一块的框架完成了,所以其实完成的还是很大一块东西,本来想打算后期做的,做着做着发现和解析数据关系紧密,便一起实现了,这也是用了这么长时间的原因之一。

关于使用lib

      周末打算把数据解析和属性修改的内容做完的,不过一如既往的,还是没有完成目标T_T,发现涉及的XML库的调用挺麻烦,所以权衡再三,决定对这个库做小部分的重构,因此,周末的时间就在重构上用完了。写了有些时间的东西,要重构起来就有点回忆不清,这次重构完,有必要留一套比较全的UML设计文档了。

      另外在编译,和重新启动单元测试程序后,对库的链接出了点问题。

      一。是一定要慎用#pragma comment来加载库,因为这东西的路径是相对与自己的,一旦是link多个库,代码里的这个路径很容易出问题。

      二。使用库的时候一定要注意 ,编译时的/MTD /MD选项要一致,否则容易报LNK2005很莫名的错误。我花了一个晚上检查代码,最终也还是没有查出LNK2005的重定义从何而来,最后才发现时项目中的一个设置在版本控制时被覆盖了,结果造成一个库用的/MTD,一个/MD,改成一致后,莫名的LNK2005就解决了。

数据解析

      昨天开始抽空写了数据解析程序,原本的XML系统中的数据节点的设计部太适合我目前想做的关于自解析和填充数据的用法。其实这个问题早在设计游戏内的数据结构时我就发现了,也想好怎么改了,只是一直没有进入数据结构加载阶段,也就没动这块程序。昨天把XML系统中的设计修改了,把rpg引擎里的基类结构写完。用了一种pump的推动方式来自动加载数据对象中所有数据。今天想把从游戏初始化到加载数据的部分都做完。不知道晚上我的笔记本床上桌到了没,否则就可以在床上写程序了。

      另外研究了下位移贴图,和细分曲面,不错,长知识了。发现自己对曲面的计算几何还是不行,完全看不懂论文里的计算,要补习下

泄漏解决

    把泄漏搞定,发现文件系统中有一个不太方便的接口调用,修改了下,下午开始写数据导出结构,为XML系统的加入做准备……

泄漏,泄漏!

    哦,又是内存泄露。昨天今天,在发布能编辑文档后,突然发现了5个内存泄露,其中三个是因为我有意暂时不加释放程序,造成的。还是习惯不好啊。后面两个就诡异了。一个是在DLL内部调用的。其诡异表现在一个丝毫没有被执行到的new,造成了泄漏。百思不得其解,和riger前辈交流了一下午,没有结果,最后认为是编译器bug。今天早上还是不死心,心里总有个疙瘩。抱着再试一次的想法,我依旧使用_CrtSetbreakAlloc试图定位。(昨天试过,结果没断下来)。经过一个早上的折腾,最后发现没定位下来的原因,是其内存分配的ID早于我的CRT调试函数,提醒我了,所以在构造APP的时候调用,结果定位,最后发现造成泄漏的是我给静态变量来了个new,而恰好没有调用相应的释放函数。而两个内存泄露,一个是因为我包含了含该变量的cpp文件,而在DLL内因为再次调用,但不在同一地址空间,因为两次执行。最后还是自己粗心了。不过编译器的报告确实存在误导,它根本没有检查出静态变量的泄露,而是报我成员函数内new的泄露,这算编译器一个警告的不完善的bug吧。
     哎,不过还是有内存泄露,今天后来去拿笔记本了,明天还得把电脑修修,估计晚上才有时间改这两个bug吧,我实在很讨厌内存泄露啊。

XML显示

    旅游归来,一切照旧,公司里忙着解决音效的问题,回到家电脑坏了,工作不得。加上有点心事,在周四开始稍微空点后,才开始写了点东西。调整了下加载游戏逻辑的DLL加载结构,然后将文本内容显示出来,同志们,你们可以编辑XML了。

windbg+vmware单机调试内核

    最近玩debug有点走火入魔了,这两天一直在搞内核调试,希望对内核的分析可以帮助找到应用崩溃的线索。试了下用windbg+vmvare虚拟机调试内核,一开始windbg怎么都连不上vmware,最后发现vmware虚拟的串口要设成The end is server,我设成client了,T_T

windbg内核调试

    windbg进行内核调试,一般要双机,很多时候是用来调试驱动,或是操作系统内核的。但是最近查了很多网上资料,本机内核调试应用程序的dmp文件的话,能提供非常多的有用信息。双机调试环境毕竟有点困难,要么用windbg+vware。但windbg非常奇怪,切换到kenerl mode后不能attach process也算了(这是user mode)。但居然连dmp都不让打开。所以如果用windbg进行本机内核调试,要使用.opendump命令,手动加载dmp文件。
加关注

Get every new post delivered to your Inbox.