Разделение демо-проектов
В последние дни, наконец-то, нашёл время и разделил наш демо-проект на два разных: дему 2д и дему 3д. Мне захотелось как-то минимизировать количество кода, который нам придётся писать в каждом новом приложении – для этого было необходимо вынести часть повторяющегося в каждом приложении кода в классы движка и потому использовать эти классы в новых приложениях. В итоге я пришёл к тому, что было бы удобнее как сейчас, так и в будущем, иметь в проекте движка отдельный … Читать Разделение демо-проектов »
Разделы: Новости
Vertex Declaration
Vertex Declaration в Direct3D создаётся с помощью функции CreateVertexDeclaration, которой, в качестве аргументов, передаётся массив объектов типа D3DVERTEXELEMENT9, каждый из которых определяет отдельную запись (тип данных) в формате вершин модели – такие как позиция вершины, нормаль, текстурные координаты и так далее. Далее, при рендеринге объектов через Direct3D Device, до вызова отрисовки примитивов, созданный Vertex Declaration устанавливается с помощью функции SetVertexDeclaration и после этого графический конвейер сможет верно парсить данные нашей модели и передавать их на … Читать Vertex Declaration »
Загрузка модели из 3d MAX – binary
Загрузку модели из 3d MAX в DirectX мы с Вами уже рассмотрели в одном из предыдущих уроков Загрузка модели из 3d MAX. При этом мы загружали модель, экспорт которой был сделан с помощью 3d max script. Однако, в уроке Экспорт из 3d max – 3d max sdk мы с Вами рассмотрели как выгрузить модель из 3d max в бинарный формат, при этом выгрузив не только базовые данные модели, но и такие важные, как вектора TBN, … Читать Загрузка модели из 3d MAX – binary »
boost::asio
boost::asio (Asynchronous Input/Output System) это, как и следует из названия, одна из библиотек boost, предназначенная для асхинхронного ввода/вывода (asynchronous input/output). Как пишут сами авторы библиотеки “Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.” – т.е. это кроссплатформенная (как и почти весь boost) библиотека для программирования взаимодействия по сети и низкоуровневых операций ввода/вывода, асинхронных при этом. boost::asio на самом … Читать boost::asio »
Vertex buffer, Index buffer практика
Что такое Vertex buffer и Index buffer я рассказал Вам в предыдущей статье. Так же мы рассмотрели в чём преимущества использования Vertex buffer и Index buffer по сравнению с рендерингом обычныых данных, лежащих просто в оперативной памяти. Теперь пришло время на практике разобраться как создавать Vertex buffer, как заполнить его данными, как указать формат этих данных, а так же то, как создать, заполнить и использовать Index buffer для получения наибольшего быстродействия, максимального использования кэша видео-карты, … Читать Vertex buffer, Index buffer практика »