Winner Code
Veni, vidi, programmare!
Veni, vidi, programmare!
29 апреля 2010
Сегодня мы познакомимся с физическим движком Newton Game Dynamics и графическим Ogre3D. Конкретно — с их связкой OgreNewt, которая написана walaber’ом.
Во время написании статьи я брал OgreNewt из svn. Версия была совместима с Newton 2.15 (последняя — 2.17). Надеюсь, автор и далее будет активно разрабатывать библиотеку. Для примера, разрушения мне придётся писать вручную.
Но начнём с самого начала — скомпилируем библиотеку. В исходниках есть project-файл для Visual Studio и файл для утилиты CMake. Для успешного билда нам нужно будет скачать сам физический движок Newton и прописать путь к нему в настройках OgreNewt. Также в зависимостях есть boost.
Надеюсь, подключить всё это вам не составит труда, иначе браться за физику рановато :). В комплекте также идут 9 демо-приложений. Именно их я хочу расписать поэтапно.
29 апреля 2010
Это вторая часть вводной статьи о работе с материалами и шейдерами в render-движке Ogre3D. Все 4 файла нужно скопировать (или писать прямо в них).
Первое, с чем разберемся — вертексный шейдер:
float4x4 matViewProjection; struct VS_INPUT { float4 Position : POSITION0; float2 TexCoords : TEXCOORD; }; struct VS_OUTPUT { float4 Position : POSITION0; float2 TexCoords : TEXCOORD; }; VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output; Output.Position = mul(matViewProjection, Input.Position); Output.TexCoords = Input.TexCoords; return Output; }
29 апреля 2010
Сегодня хочу описать использование шейдеров в render-движке Ogre3d. Делается всё это через материалы. Есть в русском вики-сообществе статья на эту тему, но она довольно некачественная.
Для начала разберемся со структурой. Чтобы использовать шейдер в огре нам нужно 4 файла: пиксельный шейдер, вершинный шейдер, файл материала, файл программы.
Начнём с основ. Если вы ещё совсем незнакомы с шейдерами, есть хорошая книга — Shaders for game programming and artists (ISBN: 1-59200-092-4).
29 апреля 2010
Теперь я начну писать статьи по свободному render-движку Ogre3D. Сегодня мы разберёмся с оверлеями и рендером текста. Для начала разберёмся, что нам нужно будет сделать: