OGRE Manual / Руководство OGRE: 1.1 Object Orientation - more than just a buzzword
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Название отражает суть. OGRE (Object-Oriented Graphics Rendering Engine) значит Объектно-ориентированный движок визуализации (рендеринга) графики, чем он по сути и является. Ладно, но почему? Зачем я взялся за это дело? jfox 07.07.08 в 12:14 |
|
|
Сейчас графические движки походят на другие большие программные системы. Начинается всё с малого, а потом они раздуваются в чудовищные комплексы, в которых с первой попытки и не разберешься. Чертовски тяжело управлять системами таких размеров, а еще сложнее вносить изменения, что особо важно, когда новые техники и методы меняются каждую неделю. Построение систем вокруг громадных файлов, набитых си-функциями, уже не решает проблему -- даже если всё написано одиним человеком (что не желательно), уже через пару месяцев будет нереально найти неуловимые куски кода, особенно, если они перепутаны друг с другом. jfox 07.07.08 в 12:32 |
||
|
Объектное ориентирование является очень популярным методом решения сложных проблем. Это шаг от неорганизованного кода к отдельным функциям, группировка функций и данных вместе внутри классов, которые разработаны для представления реальных идей. ООП позволяет вам скрыть сложность решения внутри понятных пакетов с концептуально простым интерфейсом, дающим ощущение кирпичиков, которые вы собираете вместе. Они легко организуются, давая похожие результаты на выходе, но пути их достижения могут разниться, уменьшая тем самым количество проблем для разработчиков, так как им приходиться изучать только один интерфейс. jfox 07.07.08 в 17:29 |
||
|
Я не собираюсь учить вас ООП, -- это тема для отдельной книги. Но достаточно сказать, что я видел много успехов ООП в бизнес-системах и был удивлен тем, что большинство графического кода оказалось написано в стиле функций Си. Я заинтресовался, смогу ли я применить мой опыт разработок в других типах программого обеспечения, в области, которые долго занимали место в моём сердце -- движках трехмерной графики. Некоторые из тех, с кем я говорил, считали, что использование чистого C++ не будет достаточно быстрым для графических движков реального времени, но другие (включая и меня) придерживались мнения, что, при должном внимании, объектно-ориентированная структура можеть быть эффективной. Мы оказались правы. jfox 07.07.08 в 18:50 |
||
|
В кратце, вот преимущества объектно-ориентированного подхода, примененного в OGRE: jfox 07.07.08 в 18:52 |
||
|
Абстракция. jfox 07.07.08 в 18:54 |
||
|
Инкапсуляция. jfox 07.07.08 в 19:11 |
||
|
Полиморфизм.
jfox 07.07.08 в 19:21 |
+1 |
