PMG

Форумы по созданию игр
Текущее время: 26 июл 2026 07:25

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Формат текстур GLDIB, альтернатива DDS для OPENGL
СообщениеДобавлено: 24 мар 2008 15:15 
Не в сети
Любитель

Зарегистрирован: 15 авг 2005 21:32
Сообщения: 46
Откуда: NSK
Все знают что формат DDS изначально заточен под DX.
Но под OpenGL его тоже можно использовать, если написать увесистый загрузчик.
И приэтом мы сможем работать лиш с несколькими распространёнными цветовыми форматами которые заложены в DX...
Вообщем формат DDS от DX неможет выжать всех возможностей работы с текстурами присущих OGL!
И непозволяет без конвертирования, работать с некоторыми цветовыми форматами которые есть в OpenGL

В связи с этим был разработан формат GLDIB (онже GDIB/GDI)!
Его возможности в точности повторяют возможности DDS:
- Поддержка 1D,2D,3D, CubeMap текстур
- MipMap уровни
- Компрессию DXT
- формат также свободный и может использоватся кем угодно и где угодно!

Возможности формата неимеющие аналога в DDS, и эксплуатирующие фишки OpenGL:
- Поддержка различных компрессий не только DXT.
- Возможность задания рекомендуемого внутреннего формата,
которого загрузчик програмиста может не придерживатся.
- Может содержать в себе изображение оптимизированное спецально для glDrawPixels
- Может содержат в себе любые цветовые форматы доступные в OpenGL
в томчисле редкие и извращённые.
- Тип данных может быть абсолютно любой! (из доступных в OpenGL)
- Заточка данных формата под OPENGL
- Простота для програмистов под OpenGL
- Нетребуется никаких спецальных преобразований и вычислений при работе и при загрузке!
- Прямое и обратное расположение MipMap уровней.
- Поддержка контейнеров
- Любые новые цветовые форматы, типы данных, доступны без модификации загрузчика!

Дополнительно:
- Заголовок формата выровнен по 4 и 8байт (т.е. оптимизирован под структуру для x86 и x64)
- 5 байт зарезевированно

Кодинг:
- Загрузка изображения из файла GLDIB проста до невозможности!
Самая простая реализация (см mini.cpp) занимает 16 строк.
- После загрузки текстуры/изображения НЕ требуется никаких преобразований,
конвертаций и вычислений! Если что-то будет нужно то OpenGL сделает это сам...
- Загрузка изображения в видеопамять совсем простая(элементарная)!
Попричине того что формат изначально заточен под OpenGL!
Самая простая реализация (см mini.cpp) занимет 10 строк.
Посути это вего 2 строки, проверка if и загрузка типа glTexImage
- Пример полностью рабочего класса со структурой занимает всеголиж 156 строк!

Скачать:
- ссылка для загрузки http://iddmz.ru/cc/?GLDIB
- размер архива 157Кб
- комлектация Документация, примеры и утилиты.

Photoshop
- Плагин загрузка/сохранение для графического редактора Photoshop.
- ссылка для загрузки http://viledogsoftware.3dn.ru/load/1-1-0-2
Автор: VileDog http://viledogsoftware.3dn.ru/
- Размер архива 26Кб

Документация, примеры и утилиты.
- Bmp2gdi.exe - позволяет конвертировать BMP и TGA в формат GDI
c поддержкой доволно изварщенных OpenGL форматов ;)
- Gdi2dxt.exe - конвертирует любой GDI в DXT
- dds2gdi.exe - конвертирует текстуру DDS в GDI
- dds2gdi.cpp - Исходиник конвертера
- View.exe - Программа для просмотра текстур
- demo_view.cpp - Пример/исходник программы для просмотра (aux/glut)
- mini.cpp - Пример минимизации.
- gldib.h - Пример Полноценного класса, для работы с GDI текстурами
- gldib_Lite.h - Пример облегчённой версии класса.
- sample.cpp - Пример работы с классом
- в папке DOC, документация по формату, и утилитам.
- Внимание в папке Sample Это примеры!
Т.е. классы вы может писать свои либо модифицировать если вас неустраивают те что в примерах.
Примеры из этой папки расчитаны на новичков! Вы можете сделать наследование и многое другое.
- в папке sample\MemMapping вы найдёте пример как получать позиции из заголовка, не загружая текстуры!
И узнаете как делать Memory Mapping - отображение GLDIB в память. Версия под Windows,
для других OC Отображение в память делается иначе.

P.S. Буду очень признателен если сообщите о найденых багах в моих утилитах и примерах.
Можете доработать или переработать примеры, разработать новые утилиты.
P.P.S. Пора выдвигать альтернативу! скажи да OGL скажи нет мелкосовту!
P.P.P.S Все выше приведённое описание сделано максимально просто, для того чтобы начинающие тоже смогли понять о чём речь.

_________________
Хочу иметь.... много компьютеров, много денег, и быть известным. Но я не Гилл Бетс =))


Последний раз редактировалось DDMZ 21 сен 2016 23:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат текстур GLDIB, альтернатива DDS для OPENGL
СообщениеДобавлено: 25 мар 2008 09:47 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Супер! Огромное спасибо!

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат текстур GLDIB, альтернатива DDS для OPENGL
СообщениеДобавлено: 27 мар 2008 13:54 
Не в сети
Новичок

Зарегистрирован: 20 май 2007 13:49
Сообщения: 6
Откуда: Россия,Тверб,........
круто а где для делфи?

_________________
Я....................А кто ты???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формат текстур GLDIB, альтернатива DDS для OPENGL
СообщениеДобавлено: 27 мар 2008 17:11 
Не в сети
Любитель

Зарегистрирован: 15 авг 2005 21:32
Сообщения: 46
Откуда: NSK
>где для делфи?
Я паскал уже весь забыл могу только читать программы, но писать нанём затруднительно, да и средств нету...
1. Физически я немогу писать на всех языках програмирования.
2. Примера на все случаи жизни небывает, одному нужно одно другому третье, но нивкоем случае не второе и т.д.

Пиши пример для делфи, благо загрузчик простой, перенести недолжно составить труда, обязательно включю его в архив.

_________________
Хочу иметь.... много компьютеров, много денег, и быть известным. Но я не Гилл Бетс =))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB