用openGL怎么做3D游戏?
用openGL做一些基本的图形建模简单,但是那么复杂的游戏人物是怎么实现的,那些模型坐标是怎么获取实现的?或者说openGL或者3Dmax在游戏中是如何使用的?QQ:12...
用openGL做一些基本的图形建模简单,但是那么复杂的游戏人物是怎么实现的,那些模型坐标是怎么获取实现的?或者说openGL或者3Dmax在游戏中是如何使用的?QQ:1298488512 希望有人能简单指导一下,现在学的好慢。
展开
4个回答
展开全部
学DirectX吧,opengl的资源大部分都更新比较快,所有书本老早就过时了。而且文档一点都不规范,学起来根本毫无重点,虽然它能跨平台,渲染速度有比DirectX快一点。但是入手特别慢,特别是在国内。
复杂的模型就是通过maya或者3DMAX这样的软件做好了之后,在opengl或者DirectX中用程序读入,然后用opengl或者DirectX的绘制方式显示出来就行了。你如果只知道glBegin什么的就不用绘制了,这都是书上的函数,1千个面不到就会卡。高级的东西在网络上,也得自己找资料。
我没学过DirectX,我做了三年的opengl。但是感觉DirectX的文档比opengl的规范很多,而且微软提供很多例子,专门为游戏做的。
opengl兼顾的使命太多,所以文档很乱。你甚至都不能从官方直接获取最新的SDK,官方的解释说:oh~不好意思,我们只开发核心库,至于完整的opengl你可以从别的开源项目中获取,你如果没有自己找过opengl库,你用的只不过是微软上自带的opengl1.1的版本(那时候微软也参与了opengl项目。),但自从它搞了DirectX就退出opengl了。
对于opengl来说,读入的方式就是你自己去找各种模型的二进制文件格式,然后用C或者C++读二进制文件的方式读入。很简单的,最后你获得的数据都是顶点啊、法线啊、纹理坐标啊、还有如何把顶点连接成面的信息,模型的材质文件是渲染模型获得真实感的关键。
有一种模型文件不是二进制的,就是obj格式文件,你可以用文本文档打开看,你就知道里面写的些啥了,只不过是一些你不愿意在程序里面做的一些繁琐的数据。入门级别就先拿obj格式练练手吧。
复杂的模型就是通过maya或者3DMAX这样的软件做好了之后,在opengl或者DirectX中用程序读入,然后用opengl或者DirectX的绘制方式显示出来就行了。你如果只知道glBegin什么的就不用绘制了,这都是书上的函数,1千个面不到就会卡。高级的东西在网络上,也得自己找资料。
我没学过DirectX,我做了三年的opengl。但是感觉DirectX的文档比opengl的规范很多,而且微软提供很多例子,专门为游戏做的。
opengl兼顾的使命太多,所以文档很乱。你甚至都不能从官方直接获取最新的SDK,官方的解释说:oh~不好意思,我们只开发核心库,至于完整的opengl你可以从别的开源项目中获取,你如果没有自己找过opengl库,你用的只不过是微软上自带的opengl1.1的版本(那时候微软也参与了opengl项目。),但自从它搞了DirectX就退出opengl了。
对于opengl来说,读入的方式就是你自己去找各种模型的二进制文件格式,然后用C或者C++读二进制文件的方式读入。很简单的,最后你获得的数据都是顶点啊、法线啊、纹理坐标啊、还有如何把顶点连接成面的信息,模型的材质文件是渲染模型获得真实感的关键。
有一种模型文件不是二进制的,就是obj格式文件,你可以用文本文档打开看,你就知道里面写的些啥了,只不过是一些你不愿意在程序里面做的一些繁琐的数据。入门级别就先拿obj格式练练手吧。
追问
首先谢谢你,你答得很好,看了你写得东西,可能自己有一些认识了,自己想做图形学方面的工作 比如仿真软件的制作等等,这些东西是不是和做游戏差不多呢。
追答
感觉差别还是有一点的,游戏需要视觉效果很好,所以需要跟美工配合,不一定需要特别高超的技术。
但是仿真软件就不一样,分析数据是关键,每一步模拟不是可以用什么捷径忽悠一下就可以了的,所以研究型的东西会比较强,算法比较重要,编程技巧也是好算法得到很好实现的关键。就拿碰撞检测来说,市面上的游戏还有用2000年以前的特别古老的一种场景管理办法做的。
但是如果做有限元分析的软件,分析水流、气流啥的,肯定是不够的,或许还要求你使用opengl直接控制显卡做大规模并行运算,跟Cuda那种并行运算差不多。而游戏里面什么水流、气流,让美工画几张图,放到合适的角度一贴就可以的。
展开全部
那些模型通常是通过 3DMax 或 Maya 之类的软件设计出来的,然后安装写组件导出你要的模型文件格式在程序里调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是OpenGL和D3D 。3Dmax是建模软件。。
小游戏直接用代码写就可以了,至于你说的大游戏,那必须先写 人物编辑器、地形编辑器。,,
那些游戏里的场景看上去很大很复杂,本质还是用基本图元实现的。
你可以下个虚幻3引擎看下,免费的。。。
小游戏直接用代码写就可以了,至于你说的大游戏,那必须先写 人物编辑器、地形编辑器。,,
那些游戏里的场景看上去很大很复杂,本质还是用基本图元实现的。
你可以下个虚幻3引擎看下,免费的。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同问!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询