Mikle
Давно хотел спросить... Как-то ты предлагал стейты для спрайта хранить в классе спрайта, и при отрисовке выставлять эти стейты...
Как это можно организовать? Хранить перемменную на каждый стейт? Сделать менеджер и ставить только нужные? Или еще как...
Проходим циклом по установленным стейтам, меняем те, которые не соответствуют, запоминаем те, что поменяли, после Draw - восстанавливаем. Что-то вроде D3DX эффектов.
Но ты должен понимать, что универсальность - враг быстродействию.
Mikle
> враг быстродействию.
Скорее всего откажусь от этого... Вместо этого сделаю упрощенную надстройку над стейтамии...
Например RenderSetBlend(AlphaBlend)
Продолжаю делать класс спрайта...
На текущий момент есть методы вывода:
Draw - вывод спрайта(установка текстуры,вывод отдельного квада)
DrawRect - вывод области из спрайта(установка текстуры,вывод отдельного квада с учетом области)
DrawPart - вывод из спрайта как из атласа(установка текстуры,вывод отдельного квада с учетом области в атласе)
Сейчас хочу добавить буферизированный вывод. Например для множественного вывода одного и того же спрайта или областей из атласа...
Как такое можно организовать?
ЗЫ: так можно классно сделать GUI... MXText-ом печтать в текстуру спрайта, а потом выводить кнопки, надписи, заголовки как из атласа...
Обновил первый пост.
Наконец публикую то что уже сделано...
Жду критику и пожелания...
Хорошая демка, анимация впечатляет. На GF 260GTX в окне 7500 fps, а на полный экран около 5500, странно, должно быть наоборот больше. Из оконного в полноэкранный и назад переходит корректно, но если в полноэкранном нажать Alt-Tab, то окно становится чёрным (не виснет, по Esc корректно завершается).
max255
Сделал GetPixel для сурфейсов, пример:
http://tuapse-mikle.narod.ru/Test.zip
max255
> Наконец публикую то что уже сделано:
> http://narod.ru/disk/15534517001/MXEngine.rar.html
mr. T.
Видимо задействован шрифт, которого у тебя нет. Замени "Monotype Corsiva" на что-нибудь другое.
max255
В таких демках лучше применять что-то стандартное, типа "Courier New", "Times New Roman".
Mikle
> Сделал GetPixel для сурфейсов
Спасибо!!! Отличная демка!!!
Mikle
> В таких демках лучше применять что-то стандартное, типа "Courier New", "Times
> New Roman"
Понял... Исправлю...
Причина использования такого шрифта, это его "нестандартность" в размере символов... Так сказать тест...
mr. T.
Спасибо за тест!!!
Mikle
> Сделал GetPixel для сурфейсов, пример
Поправь у себя константы HRESULT...
Да, поправлю, забыл.
Кстати, GetData и SetData теперь тоже быстро работают, там ошибка была - локал лишнюю площадь. Скоро перезалью.
Mikle
> Скоро перезалью.
Не забудь D3DXGetImageInfoFromFile()...
В ходе последних работ:
- исправил корректность переключения режимов(window\fullscreen)
- переделал загрузку текстур под новый загрузчик
- добавил элементы управления пулом(дефолт\юзер)
- добавил элементы управления использования текстур(dynamic use)
В дальнейшем планирую добавить "массовую отрисовку" спрайтов с одной текстурой за один DIP...
Скоро выложу туториалы...
На ваш взгляд, что еще необходимо сделать в 2D подсистеме?
max255
> На ваш взгляд, что еще необходимо сделать в 2D подсистеме?
Поддержку бэкпланов, в том числе тайлящихся.
Тема в архиве.