В августе 2012 года вышла новая версия среды разработки Microsoft Visual Studio 2012, которая порадовала программистов новым стандартом С++11, а кого-то огорчила отсутствием С++\CLI для WinForms. Но речь сейчас не о новых возможностях или недостатках Visual Studio. Предоставив среду, Майкрософт еще не обеспечила совместимость с ней всех существующих инструментов. А конкретно, пока отсутствует новая версия XNA Game Studio. И интернет заполонили вопросы, что же делать желающим перейти на новую студию, и в то же время продолжить работать с XNA. Более-менее опытные разработчики вообще не заметили никаких проблем. Ведь для них XNA не более, чем набор библиотек, и в их использовании нет ничего необычного. В этой статье я продемонстрирую самый простой способ работы с XNA в новой Visual Studio 2012.
В 3D графике мешем является любой рисуемый трехмерный объект. Получил он свое название от английского mesh (сетка), потому что трехмерный объект состоит из точек, вершин, соединенных линиями, в результате выглядит как сеть. На этом уроке мы научимся загружать созданные ранее в зд редакторе меши, а также собирать их вручную из вершин.
Как в мире реальном человеческое зрение работает,
улавливая отраженные от объектов световые лучи, так и в мире виртуальном. За одним отличием, если
не использовать свет, то все объекты в мире будут белые и плоские. Поэтому
сейчас нам нужно рассмотреть такую важную составляющую LeadwerksEngine, как освещение.
Данная статья – отчет автора о реализации им казалось бы сумасшедшей идеи – Создать РПГ игру за неделю. Он подробно описывает, что и как делал, что получилось, что нет, какой опыт извлек из процесса разработки. И делится всем этим с читателем. Статья местами может показаться нудной, но советую дочитать ее до конца, там находятся весьма ценные выводы.
Знаете ли вы что такое костыли? В первую очередь это слово ассоциируется у меня с мотоциклом, на котором я стабильно раз в год чето себе ломаю. Так вот мы поговорим не об этих костылях, а о «костылях» в программировании. Заметили что пишу в кавычках, дальше будет без кавычек потому что лень кнопки нажимать(Это тоже своего рода костыль). Костылем называется кусочек кода, иногда громадный кусище, призванный замаскировать баг.
В движке Windmill engine поддержка сети для всех языков писалась индивидуально. Причины для этого везде были разные. Например в C# было довольно проблематично реализовать функции обратного вызова, передаваемые в нативный код. На таком принципе были построены сетевые события. Они работали, но почему-то через раз. Если где то портилась память, все ссылки съезжали и получалось черте что. Помучившись, было решено написать сетевой код на C#.
Для более эффективного использования движка будет не лишним узнать, как же он работает, что происходит «за кадром» с момента вызова функции, например DrawSprite, и до появления результатов ее работы на экране. Важно понять, что функции рисования вообще и DrawSprite в частности в действительности ничего не рисуют, они лишь дают команду, что нужно нарисовать где-то что-то.