Neonic
Понятно у меня что-то подобное сделано в классе ResourceManager.
Andrey
> Может это можно исправить?
Поправил
wat
Спасибо!!!
Neonic
А можно скинуть кусок -- интерфейс текстуры, полностью виртуальный класс
И как дальше :) Хотя бы идеи..
Andrey
>Jihar
>Понятно ну может это не правильный подход.но мне болше нравиться OpenIL типа
>Открытая Графическая Библиотека.
Одно дело нравится, другое дело как она на самом деле называется. Кста тга у меня работают на ура.
minorlogic
>Сам ею пользуюсь , но могу нажаловаться . Обещанный встроенный ресайз
>изображений НЕ работает ..
Странно, потому что у меня работает )). И все фильтры итд. Помню, был какой-то глюк, вначале ресайз не работал (все время серенькие изображения выдавал), правда уже не помню как победил ))), но могу порыться, авось найду.
Jihar
А на кой вам ресайз сдался? Хранить текстуры всё равно надо в степенях свободы ... у.. то есть двойки. В крайнем случае если, напр., достаточно качества текстуры 300х300, и не хочется 512х512 из-за бОльшего размера, то просто в JPG качество поставить не 80%, а скажем 30%, чтобы занимала текстура столько же как и 300х300. И качество приемлемое, и места занимает столько же, и масштабировать не надо.
Neonic
>Итого - два часа и рабочая версия.
Хе. Я за 2 часа переписал загрузку tga с нуля. Ускорил её: в 2 раза без RLE и с RLE в 5 раз. А то надоело чужой код загрузки использовать (из GUNGINE'а). Этим покончил с чужим кодом у себя в движке.
Да и вообще неохота как то dll-ки дьявольские с проектами распространять.
Jihar,All
*.tga файлы пробовали грузить?у мен что-то с оттенками не так...
Playnet
О демо-версии проекта с исходниками и прочим - здесь
GUNgine
tav
Я не думаю, что реализация одной библиотеки может быть лучше другой. Я беру и пробую. Ради этого придумана модульность всей конструкции. Я свободен от выбора библиотеки, потому как могу в любой момент подключить ту, которая мне понравится.
Andrey
Проблема не с загрузкой, проблема с отображением. Конкретно - TGA файлы - это BGR/BGRA формат.
Neonic
>Проблема не с загрузкой, проблема с отображением. Конкретно - TGA файлы - это BGR/BGRA формат.
Ага спасибо теперь буду знать в каком направлении двигаться...
Уважаемый автор!
Не могли бы вы ответить на следующий вопрос : как с помощью данной библиотеки загрузить и создать CUBE MAP текстуру в OpenGL.
tav
>Jihar
>А на кой вам ресайз сдался? Хранить текстуры всё равно надо в степенях свободы
>... у.. то есть двойки. В крайнем случае если, напр., достаточно качества
>текстуры 300х300, и не хочется 512х512 из-за бОльшего размера, то просто в JPG
>качество поставить не 80%, а скажем 30%, чтобы занимала текстура столько же как
>и 300х300. И качество приемлемое, и места занимает столько же, и масштабировать
>не надо.
Размер картинок играет роль только дял демок или маленьких игрушек, котоыре через инет распространяются (к примеру всякие шароварки). Для нормального коммерческого продукта первую роль должна играть скорость загрузки. И тут лучше всего использовать форматы сжатия, которые карточки держжат аппаратно, те s3tc как он раньше назывался, dxtc в d3d, ext_s3tc, arb_tc в огл. Кстати имхо самый лучший формат текстур для игрушек - dds, его DevIL понимает. Не так хорошо, как хотелось бы, но читает его нормально.
А масштабиравание нужно было не для игрухи. Для сайте надо было атоматизировать создание галерей скринов - те есть скрин, надо его отмасштабировать в маленькую копию и в среднюю, потом сохранить в jpg. DevIL с этой задачей справился оч быстро и качественно.
Andrey
>Jihar,All
>*.tga файлы пробовали грузить?у мен что-то с оттенками не так...
У нас вообще все моделлеры только с tga работают. Ну плюс еще psd ))). С оттенками в DevIL все нормально, ищи ошибку...
Akela
Я описал самое простое применение библиотеки.Остальное следует почитать в прилагаемой документации.
Вот что я нашел в документации по mip-mapping'у:
Mipmaps
Mipmaps in DevIL are successive half-dimensioned power-of-2 images. The dimensions do not have to be powers of 2 if you generate them manually, but DevIL’s mipmap generation facilities assume power-of-2 images.
Figure 4-1. All mipmap levels down to 1x1
Mipmap Creation
You generate mipmaps for any image using iluBuildMipmaps. If the image already has mipmaps, the previous mipmaps are erased, and new mipmaps are generated. Otherwise, iluBuildMipmaps generates mipmaps for the image.
The mipmaps built are always powers of 2. If the original image does not have power-of-2 dimensions, iluBuildMipmaps resizes the original image via iluScale to have power-of-2 dimensions.
Mipmap Access
Access mipmaps through the iluActiveMipmap function:
ILboolean ilActiveMipmap(ILuint MipNum);
Listing 4-1. Syntax of the mipmap access function
iluActiveMipmap sets the current image to the MipNum mipmap level of the current image. If there are no mipmaps present, then iluActiveMipmap returns IL_FALSE, else it returns IL_TRUE. The base image is mipmap level 0, so specify 0 for MipNum to return to the base image. The only other method for setting the current image to the base image is to call ilBindImage again.
Если это не то то поищи еще по документации.Просто я этим вопросом не занимался.
Jihar
>С оттенками в DevIL все нормально, ищи ошибку...
Спасибо буду разбираться в чем дело.
Правка : форматирование,исправление термина
и всё таки...
у меня почему-то не работает iluScale.
может кто поделицца работающим примером?
Довольно не плохо
Тема в архиве.