Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 13:32   #1
Начавший
Пользователь
 
Аватар для Начавший
 
Регистрация: 29.08.2011
Сообщений: 14
Счастье Что может предложить мне DirectX когда элементы сетки мерещатся? [помимо качаства z-буффера]

Здравствуйте.
Создал тему в надежде получить Ваше мнение и/или решение насущной проблемы.
Проблема вот в чём: при движении камеры от/на здание мерцают линии сетки, но в относительной близости к зданию мерцания прекращаются.
Взгляните на скриншоты и суть проблемы Вам будет ясна без слов.

Естественно решение в лоб: увеличить качество Z-буффера с 16 бит на 32.
Имею ввиду:

Код:
D3DPRESENT_PARAMETERS d3dpp;
d3dpp.AutoDepthStencilFormat = D3DFMT_D32; // в место D3DFMT_D16
Но моя видеокарта "GeForce 210" не поддерживает D3DFMT_D32. В режиме
программной эмуляции [D3DDEVTYPE_REF вместо D3DDEVTYPE_HAL] с 32 битным z-буффером проблемы с мерцанием нет, но приложение работает ООЧЕНЬ МЕЕДЛЕННО.
Есть ли альтернативный способ решения, что может предложить DirectX9 ????
Изображения
Тип файла: jpg деффект.jpg (214.7 Кб, 119 просмотров)
Тип файла: jpg деффект крупно.jpg (40.8 Кб, 159 просмотров)
Тип файла: jpg нормуль.jpg (206.6 Кб, 148 просмотров)
Начавший вне форума Ответить с цитированием
Старый 16.01.2013, 14:23   #2
Начавший
Пользователь
 
Аватар для Начавший
 
Регистрация: 29.08.2011
Сообщений: 14
По умолчанию

Где-то слышал что если плоскость отсечения настроить на большой диапазон то
могут появится ошибки при прорисовки.
Это я про:
Код:
D3DXMatrixPerspectiveFovLH(&glob::matProjection, Angle, Aspect, startPlane, endPlane);
пробовал и startPlane = 1,0f; endPlane = 1000.0f;
и startPlane = 1,0f; endPlane = 10000.0f;
Всё одно, на мерцание не влияет. Если у Вас была такая проблема как у меня и Вы героически её побороли не стесняйтесь, не ленитесь пишите.
Ведь это поможет не мне одному, но и всем у кого
такая беда. Наверное мне надо было названее темы поинформативнее написать...
Начавший вне форума Ответить с цитированием
Старый 18.01.2013, 13:07   #3
Начавший
Пользователь
 
Аватар для Начавший
 
Регистрация: 29.08.2011
Сообщений: 14
По умолчанию 50% решено

Помогло всё же сужение границ z-буффера
Код:
D3DXMatrixPerspectiveFovLH(&glob::matProjection, Angle, Aspect, 450.0f, 800.0f);
Но не совсем: очертания балконов перестали мелькать, но линии промеж балконов мелькают при движении камеры.
Растояние между ними настолько мало что наверное это мелькание ничем не убрать. Наверно проще сетку переделать - сделать без промежутков.
Вот скриншоты:
Изображения
Тип файла: jpg линии.jpg (231.8 Кб, 145 просмотров)
Тип файла: jpg без линий.jpg (226.0 Кб, 146 просмотров)
Начавший вне форума Ответить с цитированием
Старый 18.01.2013, 15:29   #4
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Мелькания попробуйте убрать с помощью сглаживания(multisampling например).
А по поводу Z-Fighting есть множество статей в сети, например: http://software.intel.com/en-us/arti...ighting-issues
Kostia вне форума Ответить с цитированием
Старый 20.01.2013, 12:44   #5
Начавший
Пользователь
 
Аватар для Начавший
 
Регистрация: 29.08.2011
Сообщений: 14
По умолчанию Решено другим способом 100%

В http://software.intel.com/en-us/arti...ighting-issues не вникал так как с английским не дружу.
Сглаживание попробовал анизотропное - мелькать не перестало, картинка стала чище, но вскрылся шов по середине(здание не монолитное).
Убрал мелькание способом не связаным с DirectX: просто напросто упростил
балконы, а промежутки между ними в текстуре нарисовал.
P.S. сглаживание понравилось, а шов попробую убрать поколдовав с текстурами.
Изображения
Тип файла: jpg шов.jpg (306.1 Кб, 151 просмотров)
Начавший вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где и как скачать программу Delphi. Может кто нибудь может помочь мне - без скачивания из интернета. IZOPGRAM Общие вопросы Delphi 4 16.06.2012 18:12
Может я не совсем по теме, но я надеюсь что найдется кто нибудь кто мне подскажет... xoi90 Работа с сетью в Delphi 1 23.01.2012 16:35
как мне узнать когда одновременно нажаты две клавиши vitalik007 Помощь студентам 8 11.10.2007 17:13