Система материалов
Система материалов это очень важный компонент любого графического движка. От гибкости системы зависит то, насколько материалы в движке будут гибкие, настраиваемые, удобные и простые в использовании. Тот метод, который мы применяем с Вами сейчас (т.е. просто включение нужного шейдера и передача параметров), довольно неудобен – для отрисовки каждого объекта приходится писать пусть и не много, но всё же несколько строчек кода. Чем больше объектов (и материалов) в сцене – тем больше кода. Потому, помимо основной … Читать Система материалов »
Игровая камера
Игровая камера является неотъемлемым элементом любой игры. Камеры используются и в 2д-играх, и в 3д. Бывают редкие исключения, но они скорее подтверждают правило. Например, камера может не использоваться в 2д- или 3д- играх при условии, что уровень игры полностью вмещается в экран – например, в тетрисе или “змейке” она обычно не используется. Но, в большинстве игр, она всё же присутствует. При этом следует понимать, что игровая камера служит не только лишь для задания той области … Читать Игровая камера »
Иерархия объектов
Иерархия объектов очень удобна когда нам нужно задать какие-то трансформации объектов не относительно начала координат, а относительно друг-друга. Например, если создать иерархию из двух объектов: рука и туловище, то для того, что бы рука двигалась вместе с туловищем, нам не надо будет прилагать каких-либо усилий – при движении туловища трансформации всех объектов в иерархии (в нашем случае рука) будут пересчитаны в соответствии с движением объектов привязки (в нашем случае туловища), но при этом сами объекты … Читать Иерархия объектов »
Vertex Declaration
Vertex Declaration в Direct3D создаётся с помощью функции CreateVertexDeclaration, которой, в качестве аргументов, передаётся массив объектов типа D3DVERTEXELEMENT9, каждый из которых определяет отдельную запись (тип данных) в формате вершин модели – такие как позиция вершины, нормаль, текстурные координаты и так далее. Далее, при рендеринге объектов через Direct3D Device, до вызова отрисовки примитивов, созданный Vertex Declaration устанавливается с помощью функции SetVertexDeclaration и после этого графический конвейер сможет верно парсить данные нашей модели и передавать их на … Читать Vertex Declaration »
Per-pixel lighting (Попиксельное освещение)
Per-piхel lighting или Pixel shader lighting это общее название для техник, позволяющих рассчитывать цвет, яркость, освещение, блики и т.д. для каждого видимого пикселя того объекта, который мы рендерим. В старых играх освещения либо не было вообще, либо оно было статическим и, лишь в очень редких случаях, освещённость объектов рассчитывалось повертексно (для каждой вершины модели). Но, с ростом мощностей видео-карт, стало возможным использовать более точные методы расчёта освещения, в том числе и попиксельного освещения моделей. Такие, … Читать Per-pixel lighting (Попиксельное освещение) »