воскресенье, 14 сентября 2008 г.

Создаем заготовку проекта в Visual Studio 2005

Запускаем Visual Studio 2005, заходим в меню и выбираем File -> New -> Project. В открывшемся окне выбираем “Win32 Project”, пишем название проекта и щелкаем по кнопке “Ok










В следующем окне выбираем “Application Settings” и ставим галочку “Empty project”, этим мы указываем студии, то что нам нужен пустой проект, без автоматически создаваемых файлов. Щелкаем по кнопке “Finish”.










Теперь создадим файл main.cpp, в котором будет точка входа нашего приложения. Для этого в панели Solution Explorer щелкнем правой кнопкой мышки по папке Source Files и контекстном меню выберем Add->New Item. В открывшемся окне выбираем С++ File и введем имя файла main.cpp. Щелкаем по кнопке Add.









Набираем код:

#include "windows.h"

#ifndef _DEBUG

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )

#else

int main()

#endif

{

     return 0;

}

Здесь небольшая хитрость в отладочном режиме у нас будет консольное приложение, а в релизе консоль создаватся не будет. Теперь необходимо настроть проект. Заходим в свойства проекта (Project->Propertis) во вкладке General ставим «Use Multi-Byte Character Set», этим мы указываем что не  будем использовать Юникод. В вкладке Linker->System ставим «Console (/SUBSYSTEM:CONSOLE)» (только для конфигурации Debug). Также желательно поставить в C/C++->Code Generation->Runtime Library  Multi-threaded Debug (/MTd))” для конфигурации Debug и “Multi-threaded (/MT)” для конфигурации Release, тогда ваша программа не будет требовать наличия библиотек Visual Studio 2005.

Возможности Огра

Возможности Ogre равны и даже превосходят некоторые возможности коммерческих движков 3D графики:

полная и равная поддержка OpenGl и Direct3D;

полная поддержка платформ Windows, Linux и Mac OS X;

простой и расширяемый фреймворк, легко встраиваемый в существующие приложения;

автоматическое управление состояниями рендера (render state) и иерархическое отсечение;

мощная скриптовая система управления материалами, позволяющая изменять материалы не меняя не единой строчки кода;

полная поддержка как фиксированного графического конвейера, так и программируемого, позволяя создавать шейдерные программы на ассемблере и языках высокого уровня, таких так Cg, HLSL и GLSL;

поддержка большого количества графических форматов включая PNG, TGA, DDS, TIF, GIF, JPG. Так же поддерживаются одномерные, трехмерные, кубические и сжатые текстуры;

полная поддержка техник рендера в текстуру и проективного тектурирования (декалей);

полная поддержка уровня детализации (Lod) и мипмапинга для материалов;

оптимизированный бинарный формат мешей, поддерживающий ручную и автоматическою генерацию лодов;

экспортеры для основных коммерческих и свободных пакетов 3D моделирования;

полный доступ с вершинным и индексным буферам и декларации вершин;

полная поддержка скелетной и вершиной анимации;

поддержка как программного, так и аппаратно ускоренного скиннинга;

поддержка групп статической геометрии;

поддержка биквадратных кривых Безье;

основанная на плагинах структура сцены, позволяющая использовать наиболее подходящий граф сцены для вашего приложения;

поддержка нескольких техник рендера теней;

автоматическое управление прозрачными объектами;

расширяемая система управления ресурсами, включающая поддежку файловой системы, архивов ZIP и PK3.