Посмотрел я игрушку 007: nightfire, выполненую на движке голдсорца. А там - весь интерфейс в png. Собственно, сделал такое же дело в халфу. Оно пока умеет только грузить картинки да отображать их, больше ничего. Требует библиотек zlib и pnglib.
Вызывать это всё чудо надо из CHud, в VidInit создаёте CBitmapPNG* mypngp, делаете Load("textures/mysampletext.png"), в Draw, соответственно mypngp->Draw(top,left). И усё.
MOD_png_file.h
domded писал: Посмотрел я игрушку 007: nightfire, выполненую на движке голдсорца
Сильномодифицированном движке голдсорса. Там свой формат карт, свой формат моделей и текстуры в PNG.
Я лично не люблю PNG, по двум причинам:
1. PNG текстуры крайне долго грузятся в память, по сравнению со всеми остальными текстурами. Просто ужас как долго. А всё из-за сжатия.
2. Сжатие битмапов зипом - крайне неэффективная штука. А оно еще жмёт по линиям. Т.е. доходит до смешного - оригинальный размер 256 килобайт, после сжатия - 210 килобайт, но время загрузки выросло 5-6 раз.
Неудачный формат во всех отношениях. TGA лучше. Я бы сказал про BMP, но мелкософтовцы уроды встроили туда обязательное выравнивание, за которое руки оторвать мало.
domded
8ми битная альфа работает? Теперь можно кубать под халфу в Gearcraft .
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
tolerance
Это новая тенденция?
ЕМНИП, ещё пару лет назад считалось неважным, сколько игра занимает места на диске (оно нынче почти халявное), но чем быстрее грузится - тем меньше нервов отнимает у игрока.
DXT ужасен по своему алгоритму. Так переколбашивать картинку ради экономии видеопамяти больше не требуется. Если на то пошло, то тёплая ламповая палитра даёт намного более приятный глазу результат.
И сжатие тоже всегда фиксированное, т.е. мы можем рассчитать конечный размер файла, не выполняя, собственно, индексацию.
Добавлено 25-01-2014 в 19:00:
Кстати, любопытный факт. Кармак индексировал нормалмапы в Doom3, вместо того, чтобы сохранять их в DXT5. А вы вообще видели во что превращается нормалмапа после конвертации в DXT5? У нвидии демка наглядная есть, в SDK 2007.
Нормалмапы нельзя сжимать в дхт, не знаю, какого гамна нвидия пустила по вене, если ты говоришь, что демка есть, но про это я читал в официальных пейперах ати (хехе, ну ещё бы). Для нормалмапов есть 3Dc (модифицированный DXT5), он появился на радеонах, но кармак же поссорился с ати в своё время, и вот результат. Сейчас вроде 3дц везде есть и вошёл в стандарт.
А вообще, емнип, для нормалмап нвидия придумала формат signed hilo, но всем, разумеется, было пофиг, потому что никто не хотел точить двиг только под карточки нвидия.
Добавлено 25-01-2014 в 22:06:
Цитата:
Дядя Миша писал: Кармак индексировал нормалмапы в Doom3
Можно подробнее? Как именно можно индексировать текстуру на современных гпу, ведь EXT_paletted_texture давно вырезано?
XaeroX писал: не знаю, какого гамна нвидия пустила по вене, если ты говоришь, что демка есть
Объясняю. Они на тот момент придумали очередной DXT-style формат, специально для нормалмап. И демка показывала артефакты для DXT5 и артефакты для супернового формата. Сравнение производилось путём вычитания из оригинала. Да сам скачай и посмотри.
Цитата:
XaeroX писал: Для нормалмапов есть 3Dc
Ну Кармак изобрёл RXGB, но я не уверен что он поддерживается аппаратно.
Цитата:
XaeroX писал: Можно подробнее?
Нет, он их хранил на диске, с целью экономии места. А в видеопамяти я не помню, может в RXGB перегонял. Надо сорцы освежить в памяти.
Цитата:
XaeroX писал: ведь EXT_paletted_texture давно вырезано?
Я кстати хоть убей не понимаю как это работает. И DDS-текстуры с палитрой тоже не понимаю. Или там системная палитра берётся.