среда, 18 мая 2011 г.

Глубже.

Рабираюсь с XNA, оно заебись что такое. Первый взгляд на котором типично останавливаются и возвращаются клепать "уберэнжин" на OGL/DX/что-там-ещё ошибочен. Базовые возможности действительно пригодны в основном для демок и реально быстрой разработки, когда важно чтобы оно вообще заработало. Нужно идти глубже.

Самая писечка на текущий момент мне видится в связке Content Pipeline - игра. Первым сделал генератор спрайтовых атласов, спрайты переменого размера, скалдываются в кучу текстур, всё сохранятеся в один файл. Для доступа на atlas["имя спрайта"] получаем номер текстуру и область на текстуре для спрайта. Между отдельными элементами - 1 пиксель свободен, всё как положено.

Второе - генератор убершейдеров, пока с бинарными пинами. Генерирурет все возможные комбинации, складывает в файл, доступ по принципу Effect effect = ubershader[pin]. Хотел сделать крутую систему материалов, пока забил, нет надобности. Система построена на добавлении в текст шейдера описания возможных пинов. Далее можно добавить не-бинарные пины и указания несочетаменмых комбинаций.

Анимация которую не поддерживают стандартные модели добавляется очень легко. Всю работу сделали за нас - импортер про анимацию знает. Всё что нужно от нас это аниацию сохранить, загрузить и воспризвести. Очень простая задача, сделана вместе с заменой шатного класса моделей. Теперь внутри есть анимация, описания материалов отличные от обычных эффектов. Теперь следует сделать всякую нудную работу вроде блендинга и интерфейсов для управления.

Желания возвращаться на всякие там плючы нет уже вообще. Надо идти глубже.

Комментариев нет: