Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> неправильное наложение текстуры на UVW 
:(
    Опции темы
Egnech
Дата 28.12.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



День добрый! 
Немогу понять в чем дело, при наложении текстуры (скажем на куб) в 3ДМаксе, она отбражается нормально, но при загрузке модели в программе происходит косяк как показанно на скриншоте... 
Вот так выглядит в Максе:
user posted image
Вот так в программе:
user posted image
Мне советовали отрисовывать модель по фейсам текстуры, но при этом геометрия выглядет ужастно. 
ЗЫ. API - OpenGL.
PM MAIL ICQ   Вверх
Solomon
Дата 28.12.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



Цитата(Egnech @  28.12.2007,  10:58 Найти цитируемый пост)
программе происходит косяк как показанно на скриншоте... 
 А косяк в чем? в том что только на одной грани лицо видно? 


Цитата(Egnech @  28.12.2007,  10:58 Найти цитируемый пост)
Мне советовали отрисовывать модель по фейсам текстуры, но при этом геометрия выглядет ужастно. 
 ЭЭЭ а ты как рисуеш если не по фейсам?


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
Egnech
Дата 28.12.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



Да, - косяк именно в том что лицо видно только на одной грани, а на остальных - текстура смазана, как будто "протянута" =)
Отрисовываю я по фейсам точек.
PM MAIL ICQ   Вверх
Solomon
Дата 28.12.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

Репутация: нет
Всего: 2



А в максе это все одной текстурой или для каждого фейса оттельно? 
и если можно покажи код


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
Egnech
Дата 28.12.2007, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 11.10.2007

Репутация: нет
Всего: нет



В максе все идет одной текстурой... Вобщем алгоритм такой:
1) Достаю из файла координаты точек
2) фейсы точек
3) координаты нормалей
4) текстурные координаты
5) текстурные фейсы
Потом отрисовываю:
gl.glNormalPointer (GL.GL_FLOAT, 0, координаты нормалей);  
gl.glTexCoordPointer(3, gl.GL_FLOAT, 0 , текстурные координаты);
gl.glVertexPointer(3, GL.GL_FLOAT, 0, координаты точек);
gl.glDrawElements(GL.GL_TRIANGLES, sml.getLenght, GL.GL_UNSIGNED_INT,фейсы точек);

И в результате вижу на экране неправильно затекстуренный бокс =(
ЗЫ. Я кстате даже и не представляю как текстурить одну модель разными текстурными раскладками =(

Добавлено через 2 минуты и 24 секунды
Если отрисовывать по фейсам текстуры, то на экране видно только два верхних горизонтально лежащих полигона и два нижних (те на которых в первом случае текстура легла правильно).
PM MAIL ICQ   Вверх
atavinta
Дата 31.1.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 31.1.2008
Где: Москва

Репутация: нет
Всего: нет



Элементрано это делаеттся, не надо Хлмсом быть - Ватсон справится. Просто разбери модель на части, каждую обзови самостоятельной моделью и затекстурь как хочешь. А потом состыкуй их.

Добавлено через 2 минуты и 12 секунд
Кстати, что вообще за прикол - рисовать рожи сразу на всех поверхностиях. Я еще понимаю кирпичи, но рожи зачем. Рожа должна быть где-нибудь в одном месте.
PM MAIL WWW   Вверх
NOT
Дата 7.3.2008, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.6.2005
Где: UA::CK

Репутация: нет
Всего: нет



Это происходит потому, что вершин у бокса 8, а фейсов текстурный 12, потому ена дону вершину будет приходиться по несколько текстурных вершин в конечном счете. При экспорте можешь перестроить кол-во вершин, чтоб было NumFace() * 3 и соответсвенно изменить индексы.
PM MAIL WWW   Вверх
FIaR
Дата 9.3.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.11.2006

Репутация: 2
Всего: 2



Уже и не помню конечно, но сталкивался я с этой проблемой.

Если память не изменяет, то у OGRE 3D в скриптовом экспортере в *.mesh как раз используется этот алгоритм перестроения вертексов и фейсов. Это конечно не самый легкий вариант, но разобраться можно. Удачи...

ЗЫ
... чьято рожа на кубе, ...ммм, ...оригинально  smile 
--------------------
Шуруп забитый молотком, держится лучше, чем гвоздь закрученый отверткой.  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.