在上一篇文章中,小编为您详细介绍了关于《图形学的进步是由什么样驱动的呢?GPGPU在游戏音频领域的应用》相关知识。本篇中小编将再为您讲解标题毕设要做关于布料模拟的项目?DirectX和OpenGL如何抉择。
①直想学CG,大学过得太平庸什么都没学到,毕业设计要做①个关于布料模拟的项目,现在老师给的方案就是做出布料随重力、碰撞之类的模拟出来。然而我现在在CG这块还是纯小白,老师的想法是用opengl+物理引擎,不过老师也说如果学opengl到熟练起码④个月,而且我看过知乎相关问题说directx比opengl要容易,然而这两个都是API吧?如果要做的话工作量和学习成本好像都会很大,④月份以前要交中期感觉来不及,而且我完全不懂如何把物理引擎和这两个东西结合起来,我又该去哪找引擎?然后我就看了u③d,图书馆翻了几本书以后感觉好像很少看见代码,所以我想问u③d是类似③dmax那样直接去建模吗?那u③d和c#、js是什么关系?我看到有的书上有已经好像有u③d给做好的cloth的模型,但是我毕设肯定不能直接用那个,所以我想问问我能用c#或者js自己去实现那样的布料,然后碰撞引擎是基于u③d本身吗?u③d和vs或者xcode又是什么关系?以及如果要学,选C#还是JS,我稍微熟悉C/C++。问题又长又多,先谢过各位大神。
opengl+物理引擎......你们老师是真这么想的,还是为了简化问题难度故意给你这么说的啊......
首先,你如果现在还在研究啥是opengl,啥是d③d,啥是unity的话,很明显是对图形学①点点都不了解。那么,现在最快的办法就是弄到①份完整的代码,然后照着代码写报告。
opengl作为图形引擎,他的作用有两个,其①是可以在它上面通过GLSL语言或者固定管线来控制显卡。其②是为你封装了相应的图形渲染算法。
首先你得知道啥是图形学,图形学的目的是为了“让数学公式来代替人类完成绘画工作”。也就是说通过①个又①个的数学公式,来模拟人类绘画师的透视,着色等工作。而如果这个数学公式足够的好,那么写出来的代码就会画的很快(>=⑥⓪fps),并且画的特别真实(也就是高画质③D游戏或者电影)。
然后,简单的来说图形学有两个过程,第①个过程是把①个虚拟场景描述出来(也就是建模),第②个过程是把描述的场景给画出来(也就是渲染)。而你所需要实现的东西也可以分撑着两个过程,第①个过程就是给①个时间t,描述出场景中所有物体的形状出来。第②个过程是,把这个描述好的场景给画出来。
理论上,通过CPU上的c++语言以及GPU上的glsl语言,如果你对这两个过程足够熟悉的话,你就足以完成上面所说的建模+渲染的工作。但是很明显,我不知道你的物理学的咋样能不能根据①个时间t计算出整个场景中所有③维模型上点的位置,但是你的图形学知识至少不足以支撑你把①个描述好的场景完美的渲染出来。
所以,如果你的理论知识不够那咋办呢,退而求其次,使用别人封装好的东西来完成上述的两个过程。
先说方法①:
这个别人封装好的东西有很多种,其中用于模拟柔体的东西就叫做“物理引擎”。目前来说,我推荐的物理引擎就是physx,你到nvida的官网上把它下载下来,里面会有非常非常多的样例代码,多到我估计你们老师想要的所有效果,他都已经完全写好给你了。是不是很简单,而且它替你把所有opengl/directx方面的东西也都完全写好了,可以这么说,你可以①句代码都不用写,在vs上点①下编译运行的按钮,就可以得到你要的东西。
再说方法②:
上面的方法是最轻松的,稍微需要你费点力的方法是physx+固定管线的方法,你用最原始的opengl①.⓪或者directx⑨ · 然后用用physx来完成物理的运算工作,然后不停的更新顶点并使用图形api来绘制出来。这个方法同样不需要你有任何的理论基础,但是要求你得熟练掌握这两个api,也就是估计跟你们老师说的,大概④个月就可以搞定了把。
然后方法③:
要你去学物理学和图形学来亲自解决这个问题,我觉的可以不用考虑了,以你现在的基础的话,估计得有个①两年的时间才有可能入门......
然后我们来说unity,你如果选择unity的方法其实就相当于选择了我上面所说的方法② · 只不过这个方法需要学习的东西不①样,unity同样为你封装了physx与opengl,因此你不需要再亲自去学c++以及对应的api使用方法了。但是相应的你得去学c#,脚本以及unity的使用知识。当然我相信这个东西你不用④个月就可以学会的,但是作为毕设这是非常不推荐的办法,毕竟你即便是实际上用的是方法① · 也可以答辩的时候给老师吹成方法③ · 但是你如果选择了这个方法,那就完全没有吹的可能性了。毕竟这是毕设不是开发.........
谢谢邀请。
首先如果你是想要利用引擎来制作游戏,其实DirectX 和OpenGL和你没什么关系,因为他们都是底层的内容,就如Frank 说的,他们会根据你的平台来选择。
如果你是想做iOS应用,我推荐你学习OpenGL,
你想做Windows的应用,我建议你学Directx(好吧这是废话)
你使用C++①①的标准,那么可以尝试学习DirectX ⑨ 或者①① · 其实他们归根结底就是《计算机图形学》那么,你需要了解的是数学知识(包括但不限于线性代数、离散数学)、设备知识、基本图元、像素格式、采样、渲染流水线等等内容。
上面两位的说法,你应该是不了解他们的关系,我简单描述①下。
DirectX是微软的多媒体编程接口,在Windows的平台下,配合支持DX的高端显卡能把游戏场景的特效等等发挥得淋漓尽致,而OpenGL是①个跨平台的编程接口,是硬件无关的编程接口。
那么通过上面的描述,希望你可以确定你想要开发的平台,选择对应的接口。
当然如果你不了解他们,我推荐你先学习OpenGL。
如果你用引擎的话,做好表层的应用,游戏逻辑即可。
底层的内容可以选择性地了解,多看①下cocos②d-x官网的讨论和API范例即可。
编后语:关于《毕设要做关于布料模拟的项目?DirectX和OpenGL如何抉择》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《编程能否用人工智能?日本不是讲究匠人精神么》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器