![]() |
|
Модераторы: Rickert |
![]()
|
|
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
Вопрос в следующий:
Имеется многоугольник в 3D например как ниже или прекреплённый: ___ / ....\____ | .............\ | ..............\ \-------.......| …….....\___| Необходимо его закрасить одним цветом, Как ето сделать? Direct3D понимает закраску треугольника, значит надо разбивать многоугольник на треугольники? Есть ли какой-нибудь другой способ? Заранее спасибо! Присоединённый файл ( Кол-во скачиваний: 10 )
k_voprosu.JPG 33,38 Kb |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
По-любому, фигуру придётся разбить на треугольники.
-------------------- ![]() |
|||
|
||||
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
тогда такой вопрос -> как ето легче всего сдалать?
есть много методов триангуляции, но те что я смотрел подходят не идеально, Делоне например сделает сетку немного с большей поверхностью чем полигон, особенно если есть выступающие части, Ухорезание работает если полигон весь составлен по часовой стрелки. а в моем случае ето предсказать тяжело! |
|||
|
||||
| MaxB |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 10.2.2004 Где: Украина, Одесса Репутация: нет Всего: 1 |
Я как-то нашёл не плохую реализацию алгоритма триангуляции на C++, правда не знаю, что там за алгоритм используется.
Он поддерживает любые полигоны, и даже полигоны с дырами, при чём довольно быстро. Если надо могу скинуть. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Скинь ссылочку, пожалуйста.
-------------------- ![]() |
|||
|
||||
| MaxB |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 10.2.2004 Где: Украина, Одесса Репутация: нет Всего: 1 |
||||
|
||||
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
eto triangulyaciya poligonov, izvestnaya stranica, avtor dazhe okazivaet nekiy support esli napisat',
no bistro ona ne rabotaet esli poligon bol'shoy. no vseravno spasibo. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Насколько я понял, bublik478, необходим алгоритм заливки для полигона, выводящего реку или что-то подобное, я прав ?
-------------------- ![]() |
|||
|
||||
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
прав mr.DUDA, реку закрасить надо
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
bublik478, т.е. ты за два года её так и не закрасил?
|
|||
|
||||
| Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
Проще текстуру натянуть.
-------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
arilou, ты тоже прав! два года я не стал ломать голову над этим!
я не стал голову ломать, я на openGL сделал! там есть готовая функция! а ещё написал триангулятор, отдельно данные о полигоне загоняю туда и триангулирую при необходимости, перевожу в формат TIN (triangle network) и показываю в DirectX как закрашенный полигоне. жалко что это не работает в DirectX на лету как ето делат OpenGl Добавлено через 2 минуты и 24 секунды Dronchik, а не подскажите как это делается??? т.е. есть замкнутая кривая линия (полигон) и можно текстуру натянуть на это дело? это было бы здорово! |
|||
|
||||
| Dronchik |
|
||||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
bublik478, можно воспользоваться функцией
Добавлено @ 17:28 Вот как выглядит описанная выше мною функция
Это сообщение отредактировал(а) Dronchik - 21.2.2008, 17:29 -------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
||||
|
|||||
| bublik478 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 15.2.2006 Репутация: нет Всего: нет |
как текутуру загрузить - это понятно. а вот как ёё наложить на замкнутую линию???? даже если присвоить координаты текстурные правильно, то DirektX рисует её как линию а не полигон!! даже если стоит frame в solid! т.к. DirectX насколько я понимаю может закрашивать цветом или текстурой тока примитивный полигон! (треугольник) Я не прав? |
|||
|
||||
| Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
bublik478, замкнутая линия должна как то храниться. я привёл функцию, которой можно накладывать текстуру на меш. Считаю легче было бы сделать модель( да хоть плэйн) и накладывать на него текстуру, чем возиться с такими линиями.
-------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |