3D游戏开发学习之路

fanrenyilove 2012-09-05 01:05:54
发帖目的:如何学习3D游戏开发
本人情况:大二学生,网络工程专业,学过C,C++,数据结构,JAVA正在学,看了前5章,基本和C++没啥区别,一个晚上看完。photo会使用基本操作。使用过的工具:PSCS5,VC6.0
由于对3D游戏开发感兴趣,前几天学长给了我一本书《ogre 3D 1.7》作者 Felix Kerger.翻了几页,晕头转向的,新名词一大堆,书中使用的工具是VS2008,郁闷,还要再去熟悉下这个工具。
需求:
学长介绍的那本书对目前的我来说估计难度有点高,有什么书可以让我补下基础。这条路该怎么走

最后再补充一个问题:我的目的是想做游戏中的编程部分,同时深入点学习C++,令一个学长对我说要去学习下3dmax,我需要去学习建模的知识吗?
...全文
259 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanrenyilove 2012-09-07
  • 打赏
  • 举报
回复
感谢上面所有人的回答
weiwuyuan 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
关于图形这方面,我的老师要我去学学MFC,但是实验室的学长说MFC跟做游戏没有多大关系,而且差不多过时了,那我现阶段应该如何学习?跟着大学的课程走,太慢了,而且基本这学期要教的课程都大概浏览一遍了。更令人蛋疼的是走的是偏软件的路,课程老是跟硬件挂钩,什么电路分析,模电,数电等等
[/Quote]

mfc并不要紧,他只是一个工具,我觉得当你需要他的时候,你就自然会去学一学怎么用.
比如你需要为你的游戏写一个音乐文件封包,解包,播放的编辑工具,你就可以用MFC做界面,当然,你也可以用你自己写的一套GUI系统做界面.

比如,你要为你的游戏做一个launch界面,就可以用MFC来写,当然,你也可以用你自己的GUI系统去写,但是,如果这游戏是公司安排你做的,而且给了你一个mfc的样板,让你在他的基础上改一个launch出来,那你就只能用MFC了.

给你一个直接了当的答案:
1:如果你要写个GDI图形模块,那只需要知道一个函数:SetDIBitsToDevice
2:如果你要写个ddraw的图形模块,到网上随便下一个ddraw演示程序,你再封装一下,就差不多了.

这是第一步,
下面就是如何优化你的模块的问题,你会发现,你写着写着,就什么都懂了。
weiwuyuan 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 2 楼 的回复:

"想做游戏中的编程部分,同时深入点学习C++"

关于这一点,我觉得2D或许更适合你,因为在图形的实现方面,相对容易,你可以更多的精力去做游戏相关的内容

然而,以我的经验来看,想写一个高性能的2D游戏接口,也不是那么简单的.需要很好的代码编写功力.

如果往2D方面发展的话,有哪些书籍是我这新手可以看的,推荐几本,谢谢
[/Quote]

2D游戏实在弄本书的话,也有,可以看看《windows游戏编程大师技巧》第2版, 只看其中所涉及的gdi和ddraw部分就可以了,后面的3D不用看,
但是,我也觉得,不看也没什么,因为ddraw部分没什么可学的,就是知道怎么填充像素到屏幕就够了,
而实际上,这对于GDI,只需要一个函数就能实现,那就是:SetDIBitsToDevice()
也就是说,你只需要这一个函数,就能绘制出各种各样的图像.

也就是说,关于接口方面,你只要查查资料,看看是怎么调用的就够了,更多的是代码设计,所以,我说,也不用看什么书.因为他不像3D那样复杂.
fanrenyilove 2012-09-05
  • 打赏
  • 举报
回复
关于图形这方面,我的老师要我去学学MFC,但是实验室的学长说MFC跟做游戏没有多大关系,而且差不多过时了,那我现阶段应该如何学习?跟着大学的课程走,太慢了,而且基本这学期要教的课程都大概浏览一遍了。更令人蛋疼的是走的是偏软件的路,课程老是跟硬件挂钩,什么电路分析,模电,数电等等
fanrenyilove 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

"想做游戏中的编程部分,同时深入点学习C++"

关于这一点,我觉得2D或许更适合你,因为在图形的实现方面,相对容易,你可以更多的精力去做游戏相关的内容

然而,以我的经验来看,想写一个高性能的2D游戏接口,也不是那么简单的.需要很好的代码编写功力.
[/Quote]
如果往2D方面发展的话,有哪些书籍是我这新手可以看的,推荐几本,谢谢
weiwuyuan 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
如果楼主不是走独立开发游戏这条路,3dmax不需要了,3dmax主要就是了解一下模型的转换吧(转obj模型或者x模型之类的),毕竟新手的心思是在编程方面。
[/Quote]

说的是,不过,3dmax也可以像photoshop一样,成为一个便利的工具,毕竟3D模型不太好找,或者,有时想急于找到一个模型做测试,如果熟悉3dmax的话,可以临时画一个出来.
我有空就摆一摆弄3dmax,呵呵。
gamenpc 2012-09-05
  • 打赏
  • 举报
回复
如果楼主不是走独立开发游戏这条路,3dmax不需要了,3dmax主要就是了解一下模型的转换吧(转obj模型或者x模型之类的),毕竟新手的心思是在编程方面。
weiwuyuan 2012-09-05
  • 打赏
  • 举报
回复
"想做游戏中的编程部分,同时深入点学习C++"

关于这一点,我觉得2D或许更适合你,因为在图形的实现方面,相对容易,你可以更多的精力去做游戏相关的内容

然而,以我的经验来看,想写一个高性能的2D游戏接口,也不是那么简单的.需要很好的代码编写功力.
weiwuyuan 2012-09-05
  • 打赏
  • 举报
回复
3d学的不是dx,也不是opengl,更不是ogre
而是要能做到,只给你一个往屏幕写像素的接口,你就能构建出3D世界。

显然:
·要知道向量,矩阵等数学工具怎么构建和使用
·知道空间变换是怎么回事
·知道像素着色是怎么回事
·知道纹理映射是怎么回事
·知道光照在顶点上是怎么计算出来的,然后又是怎么影响面片纹理的.

细节很多哦.

另外,对于希望研究3D图形的人,我强力推荐《3D游戏编程大师技巧》,

3D图形非常复杂,因为他是建立在空间几何模型下的,操作起来,绝不是像2D游戏简单的贴像素那样容易.
所以如果你并没有做好研究3D图形的准备,那还是不要搞3D,因为在我看来,要学就要全身心的学,否则只能是浪费时间,或者高不成低不就,反而耽误了你.
零资源分下载,分享精神至上~ 一个综合型的Direct3D示例程序,用键盘上W,A,S,D,I,J,K,L,↑,↓,←,→12个键加上鼠标在美丽的三维空间中翱翔。包括了Direct3D初始化,DirectInput输入处理,顶点缓存,光照与材质,文字输出,颜色,纹理贴图,四大变换,网格模型,X文件载入等等知识(当然还有默认被开启的深度缓存)。 其中的3D人物模型使用的是PS3版《真三国无双6》中的王元姬 ,一袭蓝衣,很美。 背景音乐为雅尼的《兰花》。 源码的配套博文是 《【Visual C++】游戏开发笔记四十七 浅墨DirectX教程十五 翱翔于三维世界:摄像机的实现》 ,文章地址为http://blog.csdn.net/zhmxy555/article/details/8657656, 点击Debug下的exe文件可以直接看到运行效果,运行需要DirectX运行库的支持。报缺少D3D的DLL系列错误的童鞋们请google/百度一下 “DirectX 9.0c runtime”,下载并装个最新版的。 报缺少MVCR100D.Dll错误的朋友们去下一个安装就可以了,或者直接点击sln打开工程再次编译一次。 如果是想调试并运行源代码,但是报错了,请去下载最新版DirectX SDK并进行DirectX开发环境的配置。 编写环境:VS2010 我的博客地址是http://blog.csdn.net/zhmxy555,源码结合配套文章一起看效果更佳。 希望能和大家一起交流,共同学习,共同进步。 by浅墨

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧