直接过程编程

directx procedural programming

本文关键字:编程 过程      更新时间:2023-10-16

嗯,我正在学习DX11,我希望有一天我可以开始一个简单的3D引擎。我遵循教程系列,我意识到我不需要创建任何类来维护我的代码(教程也使用这种过程方法,但我不复制粘贴教程代码,我试着理解教程,然后试着用我的方式编码新的东西),我可以让代码"可理解",只有函数和全局变量。所以我想知道,当我对API有了足够的了解,我想开始创建自己的库时,这种过程化的方法会有一些缺点吗?我应该开始写一些类吗?

谢谢。

一开始我用一个小引擎开始,它只由一堆过程组成。对于第一个应用程序,它是有效的,并且开发速度很快。但是,应用程序越复杂,代码就越难读,维护起来也就越糟糕。然后我用面向对象的方法构建了同样的东西,几乎一切都变得更好了。程序的整体结构更简单,一些问题用面向对象的方法很好地解决了,比如碰撞检测。您有一个父类,例如CollidableObject,并派生出许多类,如CollidableSphere, CollidableCubeCollidableLine。对于碰撞测试,您只需要使用类CollidableObject,它实际上是哪个对象并不重要。用过程方法来处理这并不是很好。还有许多其他的例子,oop是有用的,例如,你可以用许多不同类型的粒子(广告牌,顶点线,网格,灯)来建模你的粒子系统,只需要实现一个给定的模式,简单地一起工作。

总而言之,我建议尽快开始上课,但对于第一次有趣的黑客和学习过程方法并不漂亮,但适合。