Вверх ↑
Этот топик читают: Гость
Ответов: 373
Рейтинг: 108
#1: 2010-01-17 19:15:58 ЛС | профиль | цитата
добавил gluBuild2DMipmaps - генерирует текстуры всех уровней детализации
и не требует, чтобы размер изображения был кратен степени двойки.

и выбор алгоритма для уменьшения(увеличения) текстуры:
GL_NEAREST_MIPMAP_NEAREST,
GL_LINEAR_MIPMAP_NEAREST,
GL_NEAREST_MIPMAP_LINEAR,
GL_LINEAR_MIPMAP_LINEAR
для gluBuild2DMipmaps

http://www.hiasm.com/forum_serv.php?q=56&id=976
+ анизотропная фильтрация
карма: 0

2
Голосовали:sla8a, MAV
Ответов: 4641
Рейтинг: 334
#2: 2010-01-17 19:26:20 ЛС | профиль | цитата
Обычно к компонентам примеры прикладывают!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 373
Рейтинг: 108
#3: 2010-01-17 21:14:18 ЛС | профиль | цитата
Если в примере к Opengl StarWar.sha заменить GL_Texture под текстурой сферы на этот code_16552.txt то исчезнет мерцание текстуры.

GL_LINEAR_MIPMAP_LINEAR      - трилинейная фильтрация.
GL_LINEAR_MIPMAP_NEAREST   - билинейная фильтрация.


карма: 0

0
файлы: 1code_16552.txt [114B] [276]
Ответов: 1304
Рейтинг: 405
#4: 2010-01-18 01:19:12 ЛС | профиль | цитата
Vlad.-, элемент получился не намного лучше моего, что в своё время я предлагал на замену стандартного GL_Texture . Но раз есть желающие получить максимум от OpenGL то можно повторить попытку . Поэкспериментировав над различными примерами удалось поднять анизотропную фильтрацию, как определюсь со всеми проблемами запихну в компонент(ы). Заранее могу сказать не решённая проблема с высокой загрузкой проца решена. Далее скрин ; справа трилинейная фильтр. - слева анизотропная фильтр. Х16.

карма: 3

0
файлы: 1gl_texture.png [36.4KB] [720]
Ответов: 373
Рейтинг: 108
#5: 2010-01-18 13:57:04 ЛС | профиль | цитата
Добавил анизотропную фильтрацию.
карма: 0

0
Ответов: 1304
Рейтинг: 405
#6: 2010-01-18 23:26:52 ЛС | профиль | цитата
Vlad.-, быстро управился, и притом работает .
Думаю что анизотропную фильтрацию надо будет повесить на GL_Main, как глобальную функцию для всего проекта, так же как и проверку максимального уровня AF. Есть пример на котором хорошо видно действие фильтра, правда чтобы работали кнопки выбора для GL_TextureEX необходимо AF прировнять 0.
карма: 3

0
файлы: 1gl_texture_af.rar [3.4KB] [257]
Ответов: 373
Рейтинг: 108
#7: 2010-01-22 14:55:23 ЛС | профиль | цитата
MAV писал(а):
Думаю что анизотропную фильтрацию надо будет повесить на GL_Main

там ей и место. В GL_Texture оставил управление фильтрацией для uselist=true.
url---удалил---url
карма: 0

0
Ответов: 1304
Рейтинг: 405
#8: 2010-01-22 23:25:49 ЛС | профиль | цитата
Vlad.-, ну ты и накалбасил
Еле разобрался кого к чему включать , ну думаю что организовать нужные функции в нужном месте(элементе) разрешимая задача. Что мне абсолютно непонятно почему комбинация gluBuild2DMipmaps + дисплейный список = процессор в ауте . Практические цифры для слегка разогнаного AMD 3800+(4600), glTexImage2D + дисплейный список - загрузка процессора 4%, gluBuild2DMipmaps + дисплейный список - загрузка процессора 27%, это при одной загруженной текстуре 1024х1024.
MAV писал(а):
Заранее могу сказать не решённая проблема с высокой загрузкой проца решена.

Увы решение применить текстурные списки заместо дисплейных позволяет загрузить одновременно не более 25 текстур . Может есть мысли по этому поводу
ps: Если не найду другого решения на ARB или EXT завтра выложу компонент.
карма: 3

0
Ответов: 373
Рейтинг: 108
#9: 2010-01-23 09:33:14 ЛС | профиль | цитата
для управления опциями текстур можно компонент как GL_Options сделать или расширить его
url---удалил---url
карма: 0

0
Ответов: 373
Рейтинг: 108
#10: 2010-01-24 18:11:25 ЛС | профиль | цитата
MAV писал(а):
решения на ARB или EXT

Получается
------------ Дoбавленo в 18.24:
управление параметрами текстур вынес в отдельный компонент, модифицировал GL_CallList,GL_Main,GL_Texture. Совместимость вроде на пострадала. http://hiasm.com/forum_serv.php?q=56&id=988
GL_TEXTURE_WRAP_S и GL_TEXTURE_WRAP_T пока не работают т.к. надо модифицировать GL_Options.
карма: 0

0
Ответов: 1304
Рейтинг: 405
#11: 2010-01-26 00:02:40 ЛС | профиль | цитата
Vlad.-, полез в расширения и незаметно переключился с AF на AA , правда пока безуспешо .
Но вернёмся к фильтрации текстур, в в твоём новом варианте всё опять усложнено, думаю новичку в OpenGL, будет непросто разобраться в хитросплетениях включений выключений параметров.
Поэтому предлагаю оставить в покое "GL_Texture" и "GL_CallList" и вынести загрузку текстур методом gluBuild2DMipmaps в одельный компонент, за основу взял свой старый компонент GL_Texture и добавил компонент загрузки текстурного списка . Проверил на XP и на семёрке, с обоими компиляторами всё вроде работает.Соответственно пример и компоненты для тестирования в архиве.
http://www.hiasm.com//getfile/16652
Кроме GL_TEXTURE_WRAP в "GL_TexParameteri", можно ещё запихнуть изменение параметров glTexGeni, посмотри пример OpenGL_TexGeni.sha.
Ваше мнение коллега?
карма: 3

1
файлы: 1bindtexture.rar [23.9KB] [472]
Голосовали:sla8a
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)