На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> MiniDD - direct draw wrapper
    http://www.gamedev.ru/download/?id=224

    Цитата
    Краткое описание

    MiniDD - простой и компактный DirectDraw wrapper с открытым исходным кодом (С++). Он предназначен для упрощения процесса написания приложений, использующих 2D-графику. Основные задачи, решаемые MiniDD - полностью отвязаться от интерфейса DX и DDraw в частности, заменив их простым и понятным набором функций, возложив все технические тонкости (такие, как загрузка изображения и контроль над потерей поверхностей) на wrapper. MiniDD не предназначен для сложных приложений, и потому имеет минимальный набор необходимых функций. Если вам не хватает возможностей, предоставляемых MiniDD - откажитесь от его использования (или добавьте эти возможности самостоятельно).


    Список возможностей

    - Полная отвязка от интерфейса DDraw для программиста - вместо него предоставляется простой API с минимальным набором необходимых функций.
    - Загрузка изображений в форматах bmp, gif, jpg из файлов и ресурсов (используется IPicture).
    - Автоматический контроль потери поверхностей DDraw, и восстановление их при необходимости (перезагрузка из файла/ресурсов).
    - Автоматический клиппинг с краями экрана (вывод идёт через BltFast).
    - Автоматический контроль количества видеопамяти - при недостатке видеопамяти графика автоматически загружается в системную память (вывод таких изображений идёт значительно медленее).
    - Поддержка Hi-Color (16bit 5-6-5) и True-Color (32bit) полноэкранных видеорежимов. Режимы 256 цветов и 24bit True-Color не поддерживаются. Оконный режим поддерживается, но работа в нём не является основным режимом MiniDD.


    Требования

    Для использования MiniDD в Ваших проектах необходимо наличие ddraw.h и включенного в проект ddraw.lib (DX7 и выше). Для работы приложений, созданных с использованием MiniDD, требуется наличие установленного runtime DX7 и выше, и Internet Explorer 4 и выше. MiniDD тестировался только с VC6 (возможна нормальная работа с другими компиляторами - сообщите автору о результатах, если будете пробовать).


    Лицензионное соглашение

    MiniDD полностью public domain и free. Вы можете использовать его или его фрагменты так, как считаете нужным; вы можете вносить любые необходимые вам модификации в исходный код; вы можете свободно использовать его в коммерческих приложениях. Если Вы решите поделиться прибылью от Ваших коммерческих приложений, использующих MiniDD - автор не будет против. Желательно, но не обязательно, упоминание автора MiniDD в документации к Вашему ПО или Вашей версии MiniDD. Также желательно, но не обязательно, сообщить автору об использовании MiniDD в Вашем проекте.

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


    Автор и контактная информация

    MiniDD написан Shiru Otaku^IIpr. Багрепорты и пожелания по поводу новых версий принимаются на shiru@mail.ru. Внимание: письма с вложениями (без предварительной договорённости) будут удаляться без прочтения!
    Сообщение отредактировано: Shiru_Otaku -
      Примеры и скриншоты есть? Тогда можно и здесь выложить...
        Пример использования в архиве, а скриншоты... С чего их снимать?:) Разве что с примера...
          Сделай пару-тройку разных примеров, и покрасочнее :)
            10.10.2003 MiniDD v0.11

            * Реализован оконный режим работы
            * Более точный контроль над потерей поверхностей: теперь восстанавливаются поверхности, которые реально были потеряны (а не все сразу при потере любой из них, как раньше)
            + Функция установки уровня полупрозрачности mdd_Blend(...). Пока работает только "быстрая", 50\% полупрозрачность
            - Убрана функция mdd_ColorKeyOff. Вместо неё нужно использовать mdd_ColorKey c параметром MDD_OFF
            - Убрана функция mdd_LoadRes. Вместо неё нужно использовать mdd_Load c идентификатором ресурса в качестве имени файла

            (ссылка в начале темы)
              2vot - а зачем их делать много?:) MiniDD я пишу только потому-что использую его сам, просто надумал сделать его открытым (мне лично такой штуки - простой и понятной - в своё время нехватало). На всякие рюшечки у меня, честно говоря, времени нет...
                Если предложенные демки будут красочными -
                у тебя появится больше сторонников и помощников,
                и, соответственно, твой проект станет развиваться энергичнее.
                  14.10.2003 MiniDD v0.2

                  * Исправлена ошибка с указанием "прозрачного" цвета и цвета очистки экрана (устанавливался неправильный цвет)
                  * Исправлена ошибка с зависанием программы при выводе спрайта ровно на правой (нижней) границе экрана
                  * Добавлено определение текущей глубины цвета для оконного режима (вывод полупрозрачных изображений в оконном режиме теперь работает корректно). В режимах, отличных от 16/32bit, программа работать не будет!
                  * Выделение памяти под описатели изображений теперь происходит динамически (убрано ограничение на максимальное количество изображений)
                  * Убиты утечки памяти
                  + За счёт введённого автоконтроля за Lock/Unlock экранной поверхности немного ускорен вывод групп полупрозрачных спрайтов (на 28\% в примере)
                  + mdd_Plot(...) для рисования одиночных точек
                  + mdd_Mask(...) - эффект вывода силуэта изображения
                  + mdd_Font(...), mdd_FontText(...) - вывод текста растровым пропорциональным шрифтом
                  - Исполняемый файл примера исключён из дистрибутива (компилируйте самостоятельно)

                  (ссылка в начале темы)
                    Цитата vot, 10.10.03, 10:43:23
                    Если предложенные демки будут красочными -
                    у тебя появится больше сторонников и помощников,
                    и, соответственно, твой проект станет развиваться энергичнее.


                    Мне некогда заниматься ни демками, ни сторонниками с помощниками:) Я делаю MiniDD для себя, и даю возможность использовать его (как угодно - хоть ©Vot вписать:) другим.
                      22.10.03 MiniDD v0.25

                      * Исправлена ошибка загрузки изображения, из-за которой в 32-битном режиме полупрозрачный вывод и вывод маски мог происходить некорректно (при определённых условиях выводились вертикальные чередующиеся полоски поверх изображения)
                      * Выполнялась лишняя попытка сделать Unlock экранной поверхности при выводе полупрозрачных изображений - убрано
                      * AutoLock реализован для изображений - теперь для последовательного вывода одинаковых полупрозрачных изображений Lock/Unlock выполняется только один раз
                      * Небольшие внутренние изменения системы идентификаторов
                      + mdd_ClipRect(...) - для произвольного назначения прямоугольной зоны вывода на экране

                      (ссылка в начале темы)
                        Отлично!
                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0352 ]   [ 14 queries used ]   [ Generated: 20.05.24, 14:06 GMT ]