zoukankan      html  css  js  c++  java
  • 3D引擎相关和书籍

       首先是语言方面,这个问题没有太多的选择的余地,基本上只有用C++(现在还在坚持用纯C来写引擎的估计只有卡马克同学了),语言的功底是特别重要的了;大规模项目的编写能力也是很重要的,推荐看<<大规模C++程序设计>>
           软件工程方面,你可能要了解一些单元测试,系统级设计的方法;但是流行的软件方法,比如敏捷,我觉得,如果是你一个人得工程,用处可能不大,但是了解一点总没有坏处.最重要的地方就是设计和测试了.
           图形方面,你需要了解至少一种图形api(比如openGL或者DirectX),建议开始还是不要写多个api的渲染器,现完成一个,以后有时间再写另外的版本.在设计的时候多花一点时间,设计良好的纯虚类,这样可以很方便的被不同的图形api渲染器继承,当然,开始你要作的只是实现其中一个派生类.
           如果以前都没有接触过3D图形方面的编程,建议你还是花较多的时间学习一种API,记住,只是一种!不管是openGL还是DirectX,写好了一种再学另一种都是很简单的.但是就游戏引擎的要求来看,这方面要有比较高的水平了,因为渲染器部分是游戏引擎质量的直接体现.
           物理方面,基本上你可以放弃了,这不是程序员能够搞得定的事.你可能还可以抄一下别人的算法,但是这对物理和数值计算方面的理论知识要求也比较高,所以还是建议,用别人的物理库比较好.个人觉得Novodex比较强,有免费的个人版;其他开源的引擎比如ode等等也是比较好的选择.物理方面的虚拟技术马上会有爆炸式的发展,可交互性,是其中比较热的技术,因为这可以让玩家的感觉更真实.
           网络方面,这个我一点都不了解,所以不多说了.但是强调一下,现在的游戏引擎如果没有网络功能,就是失败的游戏引擎.而且网络和物理一样,在引擎编写的初期就要设计好,现在最后再整合是特别难的事情了.
           还有很多关键的技术.脚本技术,可以看一下<<game scripting mastery>>,看完这本书基本上可以自己设计一个脚本解析器了(我还没看完,呵呵);地形,<< focus on 3d terrain >>,也有开源的地形引擎,比如gaia,这方面的资料特别多;模型和动画,<<focus on 3d models>>和<<advanced animation with directx>>是入门最好的书了,但是这两本书都只能帮你入门,书中的技术用在现在的游戏还算可以,以后的引擎肯定不会还用这些技术,最好了解一下现在前沿的技术(在unreal 2, 3,  doom3,quake4中我们已经看到了这方面最新的研究成果的应用);还有,最好可以了解HLSL或者Cg,这样你就可以看得懂别人写出来得shaders,自己也可以尝试写一些特效了,sm 4的新标准可能成为引擎的又一挑战,所以shaders的高级语言会越来越重要.
           如果只想写一般的小引擎,上面说的东西,你完成一半已经很不错了,但是如果要写出商业品质的引擎,这些还是远远不够的.你需要了解到,现在的技术每天都在发展,很多都可以应用到你的引擎中,但是这些技术都来自于论文,比如Siggraph报告会,GDC开发大会和IEEE的期刊.马上是vista和64位的时代,sm4.0和direct10引入了光线跟踪的高效实现,图形芯片飞速发展的神话还在继续,物理芯片的引入也令人侧目......所有这些都是可以让你的引擎脱颖而出的特性.

    太难了,不是?因为游戏引擎几乎不可能一个人写得出来的.除非你是卡马克那样的天才.
    不过不要太难过,坚持不懈的努力,每个人都可以超越卡马克的.
    Don't think you are.Know you are!

    Advanced Animation with DirectX
    这本书主要讲的是怎样用DirectX9来完成游戏中的动画,主要是移动、骨骼动画等等,也涉及了不少的3d模型的知识。这本书起步比较的高,没有讲太多的DirectX9的基础,但是章节安排得十分合理,由简入难,是一本初学者和高手都比较适用的书。

    Focus On 3D Models
    说起游戏中的3d模型,这本书讲得十分透彻。也对各种知名游戏中的模型作了介绍。只是感觉这本书的高度不够,没有站在引擎的角度来看游戏中的模型的处理。技术比较专,偏于实用。

    3D Game Engine Design
    这本书应该比较早就有了,最近才开始看。觉得理论的方面讲得比较到位,数学和物理的内容相对讲得多一点。具体的代码没有过多的涵义,因为这本书的价值就在于它的理论。

    3D Game Engine Programming
    与上面的那本书比起来,这本书以具体的一个游戏引擎为背景,讨论了具体实现时需要注意的各种问题。比较全面和直观的讲解了游戏引擎的细节。但是在引擎最重要的环节-图形部分,没有太多的讨论,在效率方面也没有给读者带来什么惊喜。

    Game Scripting Mastery - 游戏脚本设计完全掌握
    不可多得的好书。整本书围绕游戏脚本中的技术来谈。从lua到python,从汇编到高级语言的解析器,几乎涵盖了脚本的方方面面。该书又不拘泥于技术,而是教给读者能设计并实现自己的游戏脚本的能力。部分专题又站在引擎的高度,对引擎有兴趣的读者必定会受到不少启发。

    Shaders for Game Programmers and Artists
    初学者比较适用,没有过于深奥的理论,用了RenderMonkey作为开发shader的工具,从头讲解shader技术,以及hlsl。是shader比较好的入门书。

    Game Coding Complete
    开发者的指南。全面地介绍了游戏开发中的各种细节,文中的实例给人印象极深,各处的补注和注意事项也丰富了书的含量。不仅给门外汉上了第一课,也能让许多开发者意识到自己长期以来没有发现的错误。

    Data Structures For Game Programmers
    这绝不是一本枯燥无味的数据结构的书。书中提到的方方面面都以游戏为背景,代码和例程也用游戏Demo的形式出现在读者面前。

    Microsoft DirectX9 Programmable Graphics Pipeline
    微软出版,几乎就是工业标准的一本书。如果你想从头学习shader,或想了解shader更底层的技术,你就应该看这本书。同时,这也是一本工具书。

    3D Math Primer for graphics and game development
    不论是数学理论还是具体实现,都讲得十分详尽。对于迫切需要提高数学水平的开发人员来说是不错的教科书。另外还有这本书的缩略版,内容上面没有删减多少,只是少了具体化实现的代码。

    Programming Multiplayer Games
    比较深入的谈到了多人联机游戏中的技术专题,是网游开发爱好者的指南。

    Programming Role-playing Games With DirectX
    虽然说是DirectX8时代的书,但书中的知识丝毫没有落后于当前的技术。代码也十分优雅。还从游戏设计的方面讲解了rpg开发中需要注意的问题。

  • 相关阅读:
    unix改变shell显示颜色
    实习三个月的地一个完整项目总结
    Can&#39;t open named pipe to host: . pipe: MySQL
    OpenGL 与 GLSL 版本号
    牛腩新闻系统(二)——原型图、数据库文档
    【Android开发学习之路】
    JAVA多线程的问题以及处理【转】
    Class.forName的作用以及为什么要用它【转】
    java的集合类【转】
    JAVA的包装类 【转】
  • 原文地址:https://www.cnblogs.com/kex1n/p/2571644.html
Copyright © 2011-2022 走看看