ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: peerAt
7. июня 2011 03:11

Оригинал статьи здесь.

А это автор - Jere.

Ogre 3D – это кросс-платформенное SDK для создания графических приложений. Она имеет довольно обширные возможности, такие как полная поддержка OpenGL и Direct3D, полная совместимость с платформами Windows, Linux, Mac OS X и iOS, поддержка широкого выбора файловых форматов, продвинутая система частиц, программирования GPU и всех шейдерных языков высокого уровня и многое другое. Если стало интересно, то прошу под кат.

Вы спросите, почему именно Ogre 3D? Я не буду утверждать, что это самая лучшая фришная библиотека для работы с графикой, но могу привести явные ее достоинства:

  1. Огромное комьюнити (это форум, это вики, неофициальные локализации сайта и т.п.);
  2. Библиотека довольно легкая в управлении при этом по возможностям не уступает дорогим графическим движкам;
  3. Лицензия MIT;
  4. Поддержка большого кол-ва платформ;
  5. Есть «порты» и «враперы» для языков C#, Java, Python, Ruby, и т.д.

Хочу подчеркнуть, что эта библиотека создана для рендеринга трёхмерной графики и не является «игровым движком», так как часто сталкивался с ошибочным мнением. Вот пример высокоуровневой архитектуры типичной для многих игр:

Ogre представляет собой объектно-ориентированный фреймворк, который включает все части процесса рендеринга в объектной модели. С объектно-ориентированным подходом к рендерингу геометрии, необходимость во взаимодействии с ней напрямую совершенно отпадает. Также Ogre не требует знаний полной своей архитектуры. Вы можете написать приложение зная Ogre очень поверхностно, а можете изучить его вдоль и поперек, все зависит от того что вам нужно и насколько сложный проект Вы хотите написать. Для манипуляции объектами в библиотеке используются интуитивно понятные методы, в отличие от обычного 3D API, в котором, например, для вращения объекта вам нужно добиться правильной трансформации матрицы, вместо просто вызова метода с указанием оси вращения и градусов (радиан). Традиционно, для рендеринга своих сцен и объектов, вы устанавливали состояние рендера с помощью различных API-вызовов, отправляли геометрическую информацию с помощью ещё нескольких API-вызовов, и ещё одним API-вызовом указывали API и GPU отрисовать геометрию. Короче говоря — «Lather, rinse, repeat». Давайте рассмотрим отношение между структурой графа сцены и её содержимым:

Объекты Entity, содержат один или более объектов SubEntity. Эти subentity как раз и являются отрисовываемыми объектами. Сами узлы сцены могут существовать без каких-либо прикрепленных к ним отрисовываемых объектов (если Вам, конечно, это нужно). MovableObject просто прикрепляется к узлу, то есть движимые объекты не являются созданными подклассами от узла, что конечно же дает некие преимущества.

Еще одна особенность Ogre – система плагинов. Дело в том, что библиотека проектировалась расширяемой, то есть, спроектирована как набор связных компонентов, которые взаимодействуют друг с другом через определенные интерфейсы. К примеру Ogre взаимодействует с графом сцены на уровне интерфейса, и вы наверняка уже догадались что реализация графа сцены может быть «подключена» к библиотеке Ogre (в случае необходимости). Плагины не требуют пересборки самой библиотеки, так как Ogre предоставляет простые средства загрузки библиотек-плагинов.

Также Ogre имеет очень мощную систему материалов. Система скриптинга материалов Ogre — одна из самых гибких и мощных, доступных в данном классе ПО. Самая впечатляющая особенность системы материалов Ogre — это дизайн автоматического фоллбека; Ogre может автоматически применить «лучшую» технику, доступную материалу, и продолжить искать далее вниз по списку техник, пока не найдёт ту, которая совместима с используемым графическим аппаратным обеспечением. Ogre также сделает всё возможное для реорганизации пассов в технике, если графическая карта не поддерживает даже наименее зависящую технику в материале. Например, если данное аппаратное обеспечение поддерживает только одну единицу текстуры в своем конвейере, а ваша самая простая техника требует как минимум двух текстурных единиц, Ogre разобьёт проход на два отдельных и совместит два результата для получения такого же эффекта. Вы не ограничены одним только скриптингом в управлении материалами. Все классы и методы, которые Ogre использует для создания материалов из скрипта, полностью доступны вашему приложению; вы можете создавать материалы полностью в коде, процедурно, и, фактически, так делается весьма часто.

Ogre поддерживает три типа анимации: скелетную, морфинг-анимацию и анимацию поз. Все виды анимации могут рассчитываться как программно, так и аппаратно, с использованием вертексных программ.

Относительно новое дополнение в багаже возможностей Ogre — это Композиционный фреймворк, дающий пользователю возможность создавать сложные, двухмерные, полноэкранные эффекты пост-обработки на вьюпорте. Например, вьюпорту можно добавить полноэкранный эффект свечения, или фильтры чёрно-белого тонирования или сепии, или изображение можно сделать «рисованным», штрихованным, с резкими краями, и т.д. Всё, что вы ни задумаете, может быть сделано при помощи фреймворка.

Пример Работы Ogre3d в связке с PhysX:



Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Сколько вы стоите, или как вести переговоры о зарплате
Не в деньгах счастье. Многие добавят «но в их количестве». Можно долго рассуждать о преданности любимому делу, заводить разговоры о стремлении к профессиональному росту и работе в сплоченном коллективе. Но это, скорее, прелюдия к главному и насущному вопросу «сколько?». И от полученного ответа зависит либо дальнейший энтузиазм в разговоре, либо плохо скрываемое ...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Комментарии

 
peerAt 07.06.2011 3:42:22 #

Варианты движка под Net - проекты: OgreDotNet и MOGRE.
http://www.ogre3d.org/tikiwiki/OgreDotNet
http://www.ogre3d.org/tikiwiki/MOGRE

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий