PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 13:20

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 11:46 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
Хи-хи... Новенькая ошибочка. :D
Изображение
Простите, за широкий рисунок.
Тут на пересечении фигур "зазоры", а на самих фигурах - "наезды". Избавился только от "зазоров" на самих фигурах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 11:47 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
MagicWolf писал(а):
gluPerspective(45.0, dAspect, 0.01, 1000.0);
~~~ - ВОТ ГДЕ ОШИБКА!!!! Поставь 10!
Не поможет... Я использую glScale(0.01, 0.01, 0.01); (по необходимым причинам), так что покатит только если поставить "1". А результата это не дает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ТЕСТОВАЯ СЦЕНА
СообщениеДобавлено: 18 авг 2005 13:37 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
Прилагаю 3 рисунка
Изображение
Sorry, за большой рисунок (загрязняю тему).

Вопрос - как избежать этого самого артефакта на 1-ом и 2-ом рисунках (на втором он просто увеличен) Как видно из третьего рисунка (включены нормали и проволочная сетка), разбивается синий треугольник. И на рендер должно (и идет) в след. порядке:
1. синий 4-угольник
2. красный 3-угольник
3. синий 3-угольник

Откуда тогда та артефактная синяя "полоса", что неуверенно начинается с и утверждает свое право на жизнь посередине пересечения? Такое чувство, что на её "площади" совсем не рендерится красный, неделимый треугольник. Я просто в полных непонятках...

Моя заторможенная реакция. А что если смещать (glPolygonOffset(xx,xx)) полигоны? Вот только как (???) их смещать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 14:27 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
MagicWolf, ты же Эксперт. Должен знать... Неужели нет другого способа вывода полупрозрачных, пересекающихся моделей??? Не с помощью BSP-деревьев? Должно быть что-то более простое... А то сколько вижу программных продуктов, использующих OpenGL, везде удачно обходяться сотней полигонов на модель... И при пересечении не доразбивают.

И работает на всех моделях видеокарт (около 20 карт протестил), от всех (т.е. от ATI, NVidia, Intel) производителей... Помоги! Я жить хочу. :cry: И хочется в здравом уме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 14:31 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
DarkAngel писал(а):
Не поможет... Я использую glScale(0.01, 0.01, 0.01); (по необходимым причинам), так что покатит только если поставить "1". А результата это не дает...
Исправил на
Код:
gluPerspective(45.0, dAspect, -(mTransZ + 225), -(mTransZ - 225));
Где:
225 приблизительный результат 128*(кв. корень от 3).
mTransZ = -575 - смещение сцены.
Получил максимально ограниченную по размерам пирамиду

А glScale удалил... Нафиг не нужно...

Все эти манипуляции чуть-чуть уменьшили (земной поклон тебе) количество артефактов, но не избавили от них окончательно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 16:01 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
DarkAngel писал(а):
MagicWolf писал(а):
gluPerspective(45.0, dAspect, 0.01, 1000.0);
~~~ - ВОТ ГДЕ ОШИБКА!!!! Поставь 10!
Не поможет... Я использую glScale(0.01, 0.01, 0.01); (по необходимым причинам), так что покатит только если поставить "1". А результата это не дает...


Причем здесь glScale? Зачем тебе близко к камере держать отсекающую плоскость.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ТЕСТОВАЯ СЦЕНА
СообщениеДобавлено: 18 авг 2005 16:08 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
DarkAngel писал(а):
И на рендер должно (и идет) в след. порядке:
1. синий 4-угольник
2. красный 3-угольник
3. синий 3-угольник


Мне так показалось, что синий 4-угольник закрывает красный 3-угольник, и где красный 4-угольник.

DarkAngel писал(а):
Откуда тогда та артефактная синяя "полоса", что неуверенно начинается с и утверждает свое право на жизнь посередине пересечения? Такое чувство, что на её "площади" совсем не рендерится красный, неделимый треугольник. Я просто в полных непонятках...


У тебя есть это пример, чтобы можно было посмотреть на моем компе?

DarkAngel писал(а):
Моя заторможенная реакция. А что если смещать (glPolygonOffset(xx,xx)) полигоны? Вот только как (???) их смещать?


Например, мне кажется надо смещать красный 4-угольник дальше от синего 3-угольника.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 16:16 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
DarkAngel писал(а):
MagicWolf, ты же Эксперт. Должен знать...


Увы, пока не работал с полупрозрачными. Надо будет заняться.

DarkAngel писал(а):
Неужели нет другого способа вывода полупрозрачных, пересекающихся моделей??? Не с помощью BSP-деревьев? Должно быть что-то более простое... А то сколько вижу программных продуктов, использующих OpenGL, везде удачно обходяться сотней полигонов на модель... И при пересечении не доразбивают.

И работает на всех моделях видеокарт (около 20 карт протестил), от всех (т.е. от ATI, NVidia, Intel) производителей... Помоги! Я жить хочу. :cry: И хочется в здравом уме.


Что выводят? Какие объекты? Наверное взрывы?

Как я понял обычно сортируют.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 авг 2005 16:19 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
DarkAngel писал(а):
Исправил на
Код:
gluPerspective(45.0, dAspect, -(mTransZ + 225), -(mTransZ - 225));
Где:
225 приблизительный результат 128*(кв. корень от 3).
mTransZ = -575 - смещение сцены.
Получил максимально ограниченную по размерам пирамиду


Зачем тебе переменные плоскости для камеры? Зачем mTransZ?

DarkAngel писал(а):
Все эти манипуляции чуть-чуть уменьшили (земной поклон тебе) количество артефактов, но не избавили от них окончательно.


А z-буфер 24 битный?

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ТЕСТОВАЯ СЦЕНА
СообщениеДобавлено: 18 авг 2005 17:23 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
MagicWolf писал(а):
Мне так показалось, что синий 4-угольник закрывает красный 3-угольник, и где красный 4-угольник.
Например, мне кажется надо смещать красный 4-угольник дальше от синего 3-угольника.
Красный 3-угольник рендерится целиком, неразбиваясь... Так что красного 4-угольника просто нет.
MagicWolf писал(а):
А z-буфер 24 битный?
Как его поставить? Программно? В коде? Хотя, в настройках видеокарты указано, что используется 24-битный буфер.
MagicWolf писал(а):
Что выводят? Какие объекты? Наверное взрывы?
Да нет... Выводят точно такие же фигуры. Только конкуренты ;) . И они тоже используют OpenGL
MagicWolf писал(а):
Зачем тебе переменные плоскости для камеры? Зачем mTransZ?
Для определения положеия фигур. Я просто относительно фигур определяю плоскости отсечения.
MagicWolf писал(а):
У тебя есть это пример, чтобы можно было посмотреть на моем компе?
Если надо будет, вышлю завтра. Релиз весит около 200 кб. Для работы нужен .Net FrameWork 1.1. + OpenGL. Работоспособность не гарантирую. (проверяется на машинах с установленными MS VS.Net и прочей хренью)


Последний раз редактировалось DarkAngel 18 авг 2005 17:27, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 авг 2005 08:36 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Разрядность буфера глубины выбирает через ChoosePixelFormat/pfd.cDepthBits, если нет WGL_ARB_multisample, иначе через WGL_DEPTH_BITS_ARB.

Высылай на e-mail, если можно хоть часть исходников ...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 сен 2005 15:31 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
DarkAngel, так что там - получилось?

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 сен 2005 12:03 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
MagicWolf, прости. Совсем закрутился. Ещё повесили 3 проекта. А этот решили, что можно положить в долгий ящик. Через недельку подготовлю урезанную версию для выдачи сторонним разработчикам в целях "свежего взгляда". А чичаз могу прислать только последний релиз.

http://toangel.nightmail.ru/profileview ... .00.19.rar


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 сен 2005 14:30 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Скачал. Интересно. Но не понятно, где артефакты, вроде все работает.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 сен 2005 15:32 
Не в сети
Любитель
Аватара пользователя

Зарегистрирован: 16 июл 2005 04:00
Сообщения: 41
Откуда: Санкт-Петербург
MagicWolf, бли-и-ин... Забыл сказать, что там надо подгрузить 2-3 полупрозрачных ICC-профайла (%windir%\system32\spool\drivers\color). Желательно, разных цветов

+ к тому, у меня, на самом "сканере", на оси "-a" зазор (черная полоса)

Последняя версия : http://toangel.nightmail.ru/profileview ... .02.50.rar


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB