我正在学习DX11,我希望有一天我能开始使用简单的3D引擎。 我正在按照教程系列进行操作,我意识到我没有必要创建任何类来保存我的代码(教程也使用这种程序方法,但是我没有复制粘贴教程代码,我尝试理解教程然后尝试以我的方式编写新的东西),我可以使用函数和全局变量来代码“低估”。所以我想知道,当我对API有足够的了解并且我想开始创建自己的库时,这种程序方法是否有一些缺点?我应该开始写一些课吗?
感谢。
答案 0 :(得分:1)
一开始我开始使用一个小引擎,它只包含一堆程序。对于它的第一个应用程序,它的开发很快。但是,应用程序变得越复杂,代码变得越不可读并且维护起来非常糟糕。然后我用OOP方法构建相同的东西,几乎一切都变得更好。程序的整体结构更容易,并且一些问题可以通过oop完全解决,例如碰撞检测。你有一个父类,例如CollidableObject
,并衍生出许多类,例如CollidableSphere
,CollidableCube
或CollidableLine
。对于碰撞测试,您只需要使用类CollidableObject
,它实际上是哪个对象并不重要。使用程序方法处理这并不是很好。还有许多其他例子,其中oop是有用的,例如你可以使用许多不同类型的粒子(广告牌,顶点,网格,灯光)为粒子系统建模,只需要实现一个给定的模式,就可以简单地一起使用。
总而言之,我建议尽快开始上课,但对于第一个有趣的黑客攻击和学习程序方法并不是很合适。