DirectX процедурное программирование

Что ж, я изучаю DX11 и надеюсь, что когда-нибудь смогу запустить простой 3D-движок.
Я следую серии руководств и понял, что мне не нужно создавать какой-либо класс для управления моим кодом (в учебниках также используется этот процедурный подход, но я не копирую и не вставляю код учебника, я пытаюсь понять учебник, а затем попробуйте закодировать новые вещи на моем пути), у меня может быть код «нестабильный» только с функциями и глобальными переменными. Поэтому мне интересно, когда у меня достаточно знаний об API и я хочу начать создавать свою собственную библиотеку, может ли этот процедурный подход иметь некоторые недостатки? я должен начать писать некоторые классы?

Благодарю.

1

Решение

В начале я начал с небольшого движка, который состоит только из нескольких процедур. Для первых приложений это работало, и разработка была быстрой. Но чем сложнее приложение, тем больше кода становится нечитаемым и действительно ужасным в обслуживании. Затем я строю то же самое с подходом ООП, и почти все стало лучше. Общая структура программы более проста, и некоторые проблемы решаются очень аккуратно, например. столкновения обнаружения. У вас есть родительский класс, например CollidableObjectи получить много классов, таких как CollidableSphere, CollidableCube или же CollidableLine, Для тестирования столкновений вам нужно работать только с классом CollidableObject и не имеет значения, какой это объект на самом деле. Это не очень хорошо, чтобы справиться с процедурным подходом. Есть много других примеров, где oop полезен, например, Вы можете смоделировать свою систему частиц со множеством различных типов частиц (рекламные щиты, вершинные линии, сетки, источники света), и вам нужно только реализовать заданный шаблон, чтобы просто работать вместе.

В общем, я бы посоветовал начать как можно скорее с занятий, но для первого забавного взлома и изучения процедурного подхода это не красиво, но подходит.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]