嗯,我正在学习 DX11,我希望有一天我可以开始一个简单的 3D 引擎。 我正在学习教程系列,我意识到我不需要创建任何类来维护我的代码(教程也使用这种过程方法,但我不复制粘贴教程代码,我尝试理解教程然后尝试以我的方式编写新东西),我可以让代码“不稳定”,只有函数和全局变量。所以我想知道,当我对 API 有足够的了解并且我想开始创建自己的库时,这种过程方法会不会有一些缺点?我应该开始写一些类(class)吗?
谢谢。
最佳答案
一开始我从一个小引擎开始,它只包含一堆程序。对于第一个应用程序,它起作用并且开发速度很快。但是应用程序变得越复杂,代码就越难读并且很难维护。然后我用面向对象的方法构建了同样的东西,几乎一切都变得更好了。程序的整体结构更简单,一些问题用 oop 解决得非常巧妙,例如碰撞检测。你有一个父类,例如CollidableObject
,并派生出许多类,如 CollidableSphere
、CollidableCube
或 CollidableLine
。对于碰撞测试,您只需要使用 CollidableObject
类,它实际上是哪个对象并不重要。用程序方法处理这并不是一件好事。还有许多其他示例,其中 oop 很有用,例如您可以使用许多不同类型的粒子(广告牌、顶点线、网格、灯光)为您的粒子系统建模,并且只需要实现一个给定的模式,就可以简单地一起工作。
总而言之,我建议尽快开始上课,但对于第一次有趣的黑客攻击和学习,程序化方法不是很好但很合适。
关于c++ - directx过程式编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14003765/