![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| ecspertiza |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Начну с того что в OpenGL валенок по сравнению со мной доцент химико-технических наук, поэтому поправте если буду пороть чего нибудь не то, суть такова нужно загрузить на сцену изображение, я пока пользовался только так
загрузка изображения
зате собственно рисование
вобщем самое простое, естественно оно расстягивается по всей поверхности, а как его загрузить так что бы оно не дефформировалось(не расстягивалось) ? |
||||
|
|||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
я ничего не понял если честно
Что тебе требуется? нарисовать текстуру не на всем QUADS а только на части его? или что значит загрузить что бы оно не дефформировалось???? -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Ну да немного странно объяснил.
Наверное это оно, просто есть массив изображений у одних высота больше чем ширина, у других наоборот, вот и хотелось бы их загрузить таким образом что бы параметры ширины и высоты не изменялись, а если и изменялись то пропорционально, в коде выше, все изображения примут форму квадрата. |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
ecspertiza, ну ты же когда квад строишь, то задаешь координаты вершин... посмотри внимательно в свой код...
Т.е. при рисовании вершин квада просто отталкивайся от размеров текстуры... попробуй сам это реализовать, если не получиться пиши... помогу -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Видимо помощь все таки потребуется, я пока накидал вот так вот
width и height это ширина и высота изображения в соответствии с ними я изменяю размер поверхности, ну чую что это неверно, ибо здесь еще нужно как то учитывать пропорции изображения и видимо разрешение экрана. Вот пока не знаю как. |
|||
|
||||
| Solomon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
ecspertiza, сделай следующую проекцию
далее при рисовании ты уже будешь отталкиваться от размеров... примерно так... а там поглядишь.. могу ошибиться
где posX, posY соответственно позиция картинки на экране imageWidth, imageHeight - размеры картинки в пикселах так же почитай этот урок -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
||||
|
|||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
ecspertiza, а вы не в курсе, что все текстуры должны быть ТОЛЬКО квадратными, а их размеры кратны 2? Если вам нужна не квадратная текстура, то тут сложнее будет.
Допустим у вас изображение 68х80 (ш/в). Начинается процесс загрузки; смотрим самую большую цифру в нашем размере - 80. Ближайшее число, кратное двойке - это 128 (в 64 - картинка вся не влезет); отводим память под изображение размером 128х128; в область 68х80 копируем наше изображение, остальная часть картинки - пусть будет забита нулями(т.е. будет чёрной). Текстура готова, можем сказать opengl чтобы он её загрузил в видео память; теперь дело за малым - надо правильно наложить текстуру на наш объект; за это ответственны UV координаты; теперь у вас минимум будет, как и раньше - 0 и 0, а максимум - 0.68 (U) и 0.8 (V). -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Ну я бы не говорил это как аксиому... это скорее рекомендация...очень хорошая рекомендация -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Solomon, не понял. С каких пор это не аксиома? Нет, понятное дело что мипмап карты можно построить из не квадратных изображений, но они будут искажены.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
Rickert, Ну тут все зависит от контекста использования... в 2Д, к примеру, очень даже активно используються не квадратные текстуры. А судя из поставленного вопроса обсуждался именно вывод 2Д картинки...
Но опять же я не буду говорить что я категорически не соглашаюсь с твоей точкой зрения... p.s. ладно не будем разводить флейм и путать человека... -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: нет Всего: 5 |
Вот что у меня получилось навоять(в аттаче), конечно с пропорциями изображений я немного накосячил, ещё вопрос не знаю можно ли сюда тоже отписать, я попробовал реализовать отражение и чё то всё совсем плохо стало, если что торкните носом где я туплю.
Для того что бы пример заработал нужно в папке с exe-шником создать папку image и закинуть туда несколько картинок с именами от 1 до 11 включительно. Присоединённый файл ( Кол-во скачиваний: 2 )
release.rar 22,12 Kb |
|||
|
||||
| just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: нет Всего: 10 |
Если сильно приперло, можешь воспользоватся расширениями, которые позволяют работать NPOT текстурами. Естественно у них есть ограничения, в отличии от POT текстур.
p.s. на Intel'ax с ними может быть проблема.Л Это сообщение отредактировал(а) just_geek - 30.9.2009, 16:56 |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
И не только на интелах. Например GL_NV_texture_rectangle является расширением от NVIDIA, следоватльено на других видяхах могут быть проблемы.
Это сообщение отредактировал(а) Rickert - 1.10.2009, 06:56 -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |