Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод в DirectX


lokid7 ©   (2003-08-03 15:57:00) 

У меня такая проблема, при выводе двух треугольников, из которых получается квадрат размером в 4 единицы, т.е -2 до 2, на их общей прямой, по которой они содиняются, пробегают точки такого же цвета, что и фон, а при уменьшении треугольнов они исчезают. Выходит, что DirectX на кладывает какие-то правила по размеру примитивов (точнее треугольников)? Если я прав, то как можно узнать об этих самых правилах? Если это нетак, то как можно избежать такого эффекта? Может что-то я нетак понимаю?
И еще хотел узнать какие размеры обычно имеют уровни в играх, а именно создают уровень размером в несколько единиц и масшатабируют его вместе с находящимися на нем моделями или создают большой уровень?
Заранее всем большое спасибо.


Sapersky_   (2003-08-05 13:34:00) [1]

на их общей прямой, по которой они содиняются, пробегают точки такого же цвета, что и фон

Скорее всего, это ощибки растеризации из-за недостаточной точности Single. Дело даже не в Single, а в плавающей точке вообще - практически невозможно получить два действительно одинаковых числа. Размеры тут ни при чём.
Кстати, как рисуются? Рекомендую рисовать strip"ом или fan"ом, тогда этот эффект должен (вроде бы) уменьшиться. Естественно, помогает антиалиасинг - full-screen или вывести те же треугольники ещё раз как wireframe. Можно, если Z-буфер выключен, немного сдвинуть треугольники внутрь друг друга. Если Z-буфер включён, то он сам может быть источником проблемы. То же самое - не хватает точности. Нужно выключить или использовать W-буфер.


создают уровень размером в несколько единиц и масшатабируют его вместе с находящимися на нем моделями или создают большой уровень?

Можно и так, и так. Но если использовать большие числа, можно обойтись целыми (потому что см. ранее). Для полного счастья (эффективности) их ещё следует округлять по степеням двойки (в инструкции к Serious Sam читал).


lokid7   (2003-08-04 08:28:00) [2]

Ну кто-нибудь ответьте, plz


Наверх

Титульная страница Поиск, карта сайта Написать письмо