`
izuoyan
  • 浏览: 8949570 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

是不我也应该写点自己的想法

阅读更多

一直以来这个blog不是转载的就是学习笔记啥的, 没多自己真正思考的东西

可能因为自己还有另一个写生活的blog, 劳骚全发那上面了

不过看各位业内大牛在博客上写的一些自己思考的东西, 看了很有感触.

自己也应该写点自己的想法吧, 起码有些朋友看了会留个评论, 呵呵

今天在读A Shader Appoach, 算是巩固一下基础知识吧

看到一个函数:D3DXVec3Hermite. 突然想到不是有个Hermit Curve吗? 呵呵, 这下做来画曲线方便大了. 想想自己上次写的那个B-样条曲线的算法老是担心效率问题, 呵呵.

看到平面相关时, 有个判断点面关系的函数:D3DXPlaneDotCoord. google了一下, 发现一个Frustum Cull用到了它. 看了一下Nebula3的做法, 是直接把点乘了view-projection矩阵, 再判断是不是在[-1, 1]范围内. 到底哪种方法好呢? 我想应该是后者. 一来更好理解一些(就是屏幕上能看到的才在Frustum内), 二来矩阵乘法是很快的, 很多库也对它做过优化(比如D3DXVec3Transform).

另一个问题就是Pure Device.书上说这样效率会提高, 不过那些device->GetXXX()的函数就没用了. 还有它必须用Hardware Vertex Processing, 这样有些显卡就不支持了(如intel那些@_@). 而且pure device不会对重复的状态设置进行过滤, 这样如果设计不好反而会影响效率. 虽然速度快, 但不太实用, 呵呵.

再就是Device Lost了, 可能用DirectX的人都对这东西感到不爽. 一般都是用TestCooperativeLevel()判断的吧.不过在Nebula3里试了一下, 竟然Crash了,囧. 改了一下Present, 不Crash了,但是不画东西了-_-.开DEBUG版的DirectX, 原来是RenderTarget没有释放, 导致Reset()一直失败. 看来作者还没有把这块儿资源管理整合进去, RenderEventHandler还没有进行处理.

顺便关注了一下Nebula3的官网, 代码竟然更新了, 晕. 有空从SVN check个新的.

还有就是RenderQueue的问题. 一直没找到nebula3里相应的部分, 那么它做shadow map是咋做的呢? 看了一下, 是PSSM算法. GameDev上搜到算法的出处, 是香港中文大学. 去年看TSM算法时搜到作者是新加坡大学的, 一看照片很眼熟, 仔细一看, 这不是我们外教吗? 汗, 华人都怎么跟影子算法搞上关系了, 还一个比一个牛. 不过PSSM有例子程序, 哈哈. ogre好像也是用的这个. 看例子阴影质量还不错, 再弄个高斯模糊就完美了^_^. 记录一下链接: http://appsrv.cse.cuhk.edu.hk/~fzhang/pssm_vrcia/

shader approach里的input是用的DirectInput. nebula3里的鼠标也是用的这个. 为什么呢? 一直没想明白. 可能DirectInput可以支持手柄? 还有就是可以处理更灵活的消息. 原来在激战里那个摄像机移动就可以把鼠标往一个方向一直拖, 不会停下. 而如果用Windows MsgProc的话拖到屏幕边缘就拖不动了. 反正也不复杂, 这东西还是要抽时间学学.

到底有没有必要写一个自己的引擎呢? 可能自己太懒了, 所以一直以来也没什么代码积累. 但是写了又觉得跟这些开源的差别太大, 觉得没意义, 不如直接用开源的. 先写个像DXUT那样的框架吧, 至少自己写DEMO用. 参考一下这些优秀引擎的设计, 嘿嘿. 设计模式也该认真学学, 唉, 前面的路还很长.........

分享到:
评论

相关推荐

    08年自己写的实习报告

    我所做就把网络上的网站下载下来,建好文件夹,在把下载的网页分类归好,在Dreamweaver里建站点,然后开始把自己的东西上传上去加以修改,每一步都要很细心的去做,错了一个链接都是很麻烦的,有的虽然是套用了别人...

    人工智能的黎明:从信息动力学的角度看ChatGPT| 观点

    过去几个月,人工智能的新闻目不暇接,我感到自己好像是三体世界的一个居民,在看着地平线上的朝霞,知道一定有什么要发生,却不知道将要升起的是一轮还是两轮太阳。 在这样一个时刻,个人的思考也许没什么用,但是...

    如何写出让自己满意的代码

     我在回复里刚写了几句,意识到140个字很难把我的想法说清楚,本着知无不言言无不尽的好为人师精神,我决定把我的回答写成一篇博文。  首先要说明的是,我写这篇博客并不代表本人觉得自己的代码写得有多好。事实...

    我的教学成果推荐书含科研经验

    这些点子足够写很多的论文了,希望不要照搬,虽然本人不吝啬自己的创新想法,不会因为没有挂我或者没有引用而追究你的责任,但是,假如有几个人同时做一样的事情的话,就会出问题了,而且说不定哪天有空了我也会整理...

    迷宫算法(DLL)及测试程序

    自己写的迷宫算法,我把它做成DLL,还有一个windows的测试程序,用的算法是帮我自己想的,大概就是确定迷宫墙的根,然后生成若干个墙,从而构成一个完整的迷宫,测试程序是C写的windows窗体,不是控制台,想要源码...

    Kotlin for android developers中文版翻译

    我会在感兴趣的点 停下来通过与Java1.7对比的方式讲讲Kotlin的一些概念和特性。用这种方法你就能 知道它们的不同之处,并且知道哪部分语言特性可以让你提高你的工作效率。 这本书并不是一本语言参考书,但它是一个...

    单片机工程师

    学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人 提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来 ^_^。 。“卖弄...

    peercast分析

    这点上我是有些惭愧的,因为很多不成熟的想法和不正确的观点可能会误导大家,也希望大家能够分辨吧。本来想形成一份比较完整的注释版,但后来由于毕业以及转变研究方向等因素已经没有继续做下去了。不过核心的代码我...

    游戏画面就弹出内存不能为read修复工具

    例五:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为 “read”,终止程序请按确定。解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方...

    在vc++6.0和windows2000下学生信息管理系统

    看到有一些看过我写的文章的朋友们对我提出了一些意见和改进的看法。因为,我在前段时间在考虑修改,但是因为给学校开发软件,没有太多的时间,所以拖到现在才来完成,对www.vckbase.com上的朋友对我提出的意见做出...

    Java面试突击-V2.0

    (你可千万这样介绍:“我叫某某,性别,来自哪里,学校是那个,自己爱干什么”,记住:多说点简 历上没有的,多说点自己哪里比别人强!) 2. 自己面试中可能涉及哪些知识点、那些知识点是重点。 3. 面试中哪些问题会被...

    Calculater.java

    本文主要写的是java实现的一个简易计算器,有基础的加、减、乘、除、乘方、小括号以及清零功能,支持负数和小数的计算,代码完全是自己编写,使用自己的想法实现其功能,如果写的有不好的地方希望大家体谅。...

    ChartGPT4的新思考

    经过了一段时间摸索,我发现了ChartGPT确实是一个比较不错的工具,而且还挺厉害,于是就想写点什么。 下面,我先给大家展示一下GhartGPT的威力。 图片 上面是我提的问题,下面是Chart自己出来的答案。 它是一行...

    用java写的MyDB数据库管理器演示程序

    整个MyDB的开发时间都是我利用晚上22点到2点之间,以及周末的空余时间来进行的,因此进展缓慢,且效率不高。 计划在3年内将其实现完整,可以应用于实际生产环境。 MyDB采用的是纯java的技术实现,网络通讯部分...

    MingGeJS1.7.2

    4:文件体积20K左右,后期升级可能会维持在40K左右,我自己的想法就是希望不超过40K。 5: minggeJS后期的发展,更多是想往手机端发展,即管战不胜JQUERY,能战胜zepto也是赏心悦目的事。再者就是动画方面,打算...

    MingGeJS1.7.1类库-国产JQUERY

    4:文件体积20K左右,后期升级可能会维持在40K左右,我自己的想法就是希望不超过40K。 5: minggeJS后期的发展,更多是想往手机端发展,即管战不胜JQUERY,能战胜zepto也是赏心悦目的事。再者就是动画方面,打算...

    如何判断自己是否到了该辞职的时候

    我发现有必要把我的这点经验写一写,希望能给那些有跟我一样想法的人一点忠告和见解。我想辞职。但不知道是否应该辞职?  大约6个月前,我辞去了投资公司的工作,去和我的朋友Adrian一起做一个网站。我发现有必要把...

    JAVA自学之路

    有不少的同学发信给我,和我探讨java的自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。 这个路线图是给那些为了就业的人准备的,如果只是兴趣,不一定照...

    MingGeJS1.7类库

    4:文件体积20K左右,后期升级可能会维持在40K左右,我自己的想法就是希望不超过40K。 5: minggeJS后期的发展,更多是想往手机端发展,即管战不胜JQUERY,能战胜zepto也是赏心悦目的事。再者就是动画方面,打算...

Global site tag (gtag.js) - Google Analytics