怎样学习3D游戏开发? Direct X 3D??? 看开放游戏引擎源代码???

时间:2023-02-09 14:14:52
怎样学习3D游戏开发?  Direct X  3D???  看开放游戏引擎源代码???

28 个解决方案

#1


当然应该先看D3D,没有基础,怎么建高楼呢?

#2


想要学习好3d游戏开发的话,最好从基础开始,首先是c++,然后数据结构和算法要知道一些,重要的是计算机图形学,计算机动画,游戏数学这些方面的知识反正涉及到的东西很多,要慢慢学,一开始就看源代码是不可能看明白的,就算看懂了代码,为什么要这么做也不知道

#3


关键是实现思想,思路搞清楚了,就容易上手,C++是基础,部分线性代数也是基础

可先熟悉一种3D开发引擎开发技术,之后别的也容易上手

理论与实践两不误

#4


先写点2D游戏熟悉游戏逻辑

#5


了解一些了。

#6


多写代码

#7


掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#8


楼主应该说说当前自己有些什么基础

#9


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#10


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#11


SDK学好先`~

#12


引用 9 楼 yegoo 的回复:
引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 
 

把Effect学完需要多久

#13


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。


固定管线基本可以丢了,除非你还需要在非常老的硬件(dx8)写程序
不要把shader和effect混为一谈,不使用effect照样可以用shader,实际上非常多的游戏都没有用effect。
市场上90%关于游戏编程的中文书都是垃圾,尽量找英文资料来看

http://blog.csdn.net/soilwork/archive/2009/01/08/3731645.aspx

#14


晕。何故为FVF发愁,早知楼上说的,就不用看DX了。以上说的都不错啊。但是还要有其他方面的知识,如果要一个人开发3D游戏,可真所谓博览群书,知识面宽如海洋啊。

#15


引用 12 楼 wlh2008_cs 的回复:
引用 9 楼 yegoo 的回复:
引用 7 楼 ID_WinMain 的回复: 
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 

赞 
 
把Effect学完需要多久


这要看你固定管线理解的是否深刻,在你理解固定管线中光照模型、纹理过滤、纹理寻址模式、纹理阶段混合状态并且了解汇编语言、能读懂汇编Shader代码、学会顶点HLSL、像素HLSL的前提下,学会Effect应该用不上一周。其实前面所讲是一个过程,不知道你处在这个过程中的哪一个阶段,不同阶段所要经历的时间肯定是不同的。

#16


引用 13 楼 soilwork 的回复:
引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 
 

固定管线基本可以丢了,除非你还需要在非常老的硬件(dx8)写程序 …


学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度有点高,在开始的时候可以随便找些DX的中文书看,就当时看翻译过来的DX文档了,等有经验了在去翻看外文书籍我觉得会取得更好的效果。

#17


需要一定数学和图形方面的基础,C++基础, SDK学好先。
知道点COM

#18


引用 16 楼 ID_WinMain 的回复:
学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度有点高,在开始的时候可以随便找些DX的中文书看,就当时看翻译过来的DX文档了,等有经验了在去翻看外文书籍我觉得会取得更好的效果。


fixed function实际上是把整个pipeline封装起来了,对于实际了解整个pipeline并没有多少帮助。而shader才能真正让你了解GPU是如何工作的。就像我之前说的,好像你把shader和effect,hlsl混为一谈了。我说的并不是用asm来写shader,对于dx10来说,已经不允许用asm写shader了。hlsl和asm都只是用来写shader的语言,并不等于shader。至于Effect是对DX里基本的VertexShader和PixelShader,GeometryShader的进一步封装,仅仅只是为了让使用shader更方便而已。公正的说Effect确实很好,但并不完美,特别是在效率和可控性方面。你可以常识pix一下市面上流行的游戏,大部分都直接使用SetVertexShader,SetPixelShader来使用shader,而不是effect。

#19


引用 18 楼 soilwork 的回复:
引用 16 楼 ID_WinMain 的回复:
学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度…

我pix了一些常见游戏,的确没发现用Effect的,谢谢你指出我的问题,之前我没有理解你说的意思。请问你是做游戏开发的吗?

#20


我也想知道看看有没快的方法

#21


老婆,快来看,楼上一群高人!!!!!

#22


难啊! 

#23


学openGL感觉来的更快,平台兼容性更好,性能也不比DX差.而且在直觉和逻辑上更容易让人受用

#24


dx学习,引擎封装,找人交流、学习~~做了一些简单的基础工作,现在急待解决的是资源管理器的问题,有兴趣的朋友可以看看,想加入的请联系我。详情见帖子:
http://topic.csdn.net/u/20090331/21/23289e26-d1e1-49bb-a707-11ab5b6263c6.html

#25


学习一下

#26


游戏公司招人最低应该学到哪个阶段?

#27


学习游戏制作
第一要学的肯定是C++基础 
第二学习DirectX流程  《3D网络游戏开发》其中有渲染、光栅化(HLSL)  
第三学习脚本语言      phthon脚本等  

#28


学opengl快!

#1


当然应该先看D3D,没有基础,怎么建高楼呢?

#2


想要学习好3d游戏开发的话,最好从基础开始,首先是c++,然后数据结构和算法要知道一些,重要的是计算机图形学,计算机动画,游戏数学这些方面的知识反正涉及到的东西很多,要慢慢学,一开始就看源代码是不可能看明白的,就算看懂了代码,为什么要这么做也不知道

#3


关键是实现思想,思路搞清楚了,就容易上手,C++是基础,部分线性代数也是基础

可先熟悉一种3D开发引擎开发技术,之后别的也容易上手

理论与实践两不误

#4


先写点2D游戏熟悉游戏逻辑

#5


了解一些了。

#6


多写代码

#7


掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#8


楼主应该说说当前自己有些什么基础

#9


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#10


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。

#11


SDK学好先`~

#12


引用 9 楼 yegoo 的回复:
引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 
 

把Effect学完需要多久

#13


引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。


固定管线基本可以丢了,除非你还需要在非常老的硬件(dx8)写程序
不要把shader和effect混为一谈,不使用effect照样可以用shader,实际上非常多的游戏都没有用effect。
市场上90%关于游戏编程的中文书都是垃圾,尽量找英文资料来看

http://blog.csdn.net/soilwork/archive/2009/01/08/3731645.aspx

#14


晕。何故为FVF发愁,早知楼上说的,就不用看DX了。以上说的都不错啊。但是还要有其他方面的知识,如果要一个人开发3D游戏,可真所谓博览群书,知识面宽如海洋啊。

#15


引用 12 楼 wlh2008_cs 的回复:
引用 9 楼 yegoo 的回复:
引用 7 楼 ID_WinMain 的回复: 
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 

赞 
 
把Effect学完需要多久


这要看你固定管线理解的是否深刻,在你理解固定管线中光照模型、纹理过滤、纹理寻址模式、纹理阶段混合状态并且了解汇编语言、能读懂汇编Shader代码、学会顶点HLSL、像素HLSL的前提下,学会Effect应该用不上一周。其实前面所讲是一个过程,不知道你处在这个过程中的哪一个阶段,不同阶段所要经历的时间肯定是不同的。

#16


引用 13 楼 soilwork 的回复:
引用 7 楼 ID_WinMain 的回复:
掌握DirectX固定管线的基础上好好学习shader,shader的学习最好汇编shader和HLSL一起学,进而掌握Effect,用Effect搭渲染框架,多写程序,基础的书籍读中文的,一步步联系读外文书,为学高级技术大基础。基础的东西都掌握之后找外文原版书籍如GPUGame、ShaderX3 Advanced rendering with Directx and opengl等等继续学习。 
 

固定管线基本可以丢了,除非你还需要在非常老的硬件(dx8)写程序 …


学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度有点高,在开始的时候可以随便找些DX的中文书看,就当时看翻译过来的DX文档了,等有经验了在去翻看外文书籍我觉得会取得更好的效果。

#17


需要一定数学和图形方面的基础,C++基础, SDK学好先。
知道点COM

#18


引用 16 楼 ID_WinMain 的回复:
学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度有点高,在开始的时候可以随便找些DX的中文书看,就当时看翻译过来的DX文档了,等有经验了在去翻看外文书籍我觉得会取得更好的效果。


fixed function实际上是把整个pipeline封装起来了,对于实际了解整个pipeline并没有多少帮助。而shader才能真正让你了解GPU是如何工作的。就像我之前说的,好像你把shader和effect,hlsl混为一谈了。我说的并不是用asm来写shader,对于dx10来说,已经不允许用asm写shader了。hlsl和asm都只是用来写shader的语言,并不等于shader。至于Effect是对DX里基本的VertexShader和PixelShader,GeometryShader的进一步封装,仅仅只是为了让使用shader更方便而已。公正的说Effect确实很好,但并不完美,特别是在效率和可控性方面。你可以常识pix一下市面上流行的游戏,大部分都直接使用SetVertexShader,SetPixelShader来使用shader,而不是effect。

#19


引用 18 楼 soilwork 的回复:
引用 16 楼 ID_WinMain 的回复:
学习固定管线只是为了加深对DX的理解,掌握好固定管线对以后学习Shader技术有很大帮助。Effect是一个框架,封装了顶点HLSL和像素HLSL以及DX状态设定,而HLSL最终是翻译成汇编Shader语言再翻译成类似SIMD形式的机械码,我觉得应用Effect是将来游戏开发的趋势,现在的好多游戏的确很多都没有用Effect,而是直接写汇编Shader代码。市面上中文垃圾书的确很多,但是要求一个初学者直接去看外文书籍难度…

我pix了一些常见游戏,的确没发现用Effect的,谢谢你指出我的问题,之前我没有理解你说的意思。请问你是做游戏开发的吗?

#20


我也想知道看看有没快的方法

#21


老婆,快来看,楼上一群高人!!!!!

#22


难啊! 

#23


学openGL感觉来的更快,平台兼容性更好,性能也不比DX差.而且在直觉和逻辑上更容易让人受用

#24


dx学习,引擎封装,找人交流、学习~~做了一些简单的基础工作,现在急待解决的是资源管理器的问题,有兴趣的朋友可以看看,想加入的请联系我。详情见帖子:
http://topic.csdn.net/u/20090331/21/23289e26-d1e1-49bb-a707-11ab5b6263c6.html

#25


学习一下

#26


游戏公司招人最低应该学到哪个阶段?

#27


学习游戏制作
第一要学的肯定是C++基础 
第二学习DirectX流程  《3D网络游戏开发》其中有渲染、光栅化(HLSL)  
第三学习脚本语言      phthon脚本等  

#28


学opengl快!