Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Работа с текстурой через opengl


Автор: Ak47black 11.11.2006, 14:23
Нужен совет по поводу реализации.
Делаю программу ,использую OpenGl для постраяния паралепипеда(в форме каробки) в пространстве.
Хочю сделать так что-бы пользовать сам мог выбирать свою текстуру на стронах этой коробки.
Проблемма заключаеться в том что пользователь может указать текстуру не кратную 2.
Как мне решить эту проблемму.
Нужно ли менять размеры?
И каким путем мне дабиться лучшего качества?

Сам я представляю что нужно при загрузке текстуры изменить ширину и высоту в ближайшую сторону с 2 кратным значением, а после применить, но при этом должно измениться и качество.

Вообшем велосипедов очень нехочю изобретать  smile . Навярника это уже ктонибудь делал.

Автор: s0neg 11.11.2006, 14:44
Тоже начал учить OpenGL. Как правильнее сделать не знаю, но дам очень полезную ссылку http://forum.mirgames.ru

Автор: Bitter 11.11.2006, 16:39
Ak47black, ты думаешь в правильном направлении - растр произвольного размера нужно масштабировать. Ну так уж требует OpenGL (да и DirectX тоже), ничего с этим не поделаешь.

Автор: Ak47black 11.11.2006, 16:49
 smile 

Автор: Alexeis 11.11.2006, 20:39
Кратность текстур, это не прихоть разработчиков, а экономия ресурсов. Только текстуры кратные 2 легко и быстро можно масштабировать уменьшая в 2, 4, 8, и делее раз, а затем увеличивая до необходимого (уже не кратного 2^x раза), при помощи билинейной (или другой) интерполяции. Насколько я знаю сейчас уже не принято, даже уменьшать текстуры (так как это занимает время), а записывать уже готовый набор из текстур разного масштаба.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)