Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Вывод в DirectX   Найти похожие ветки 

 
lokid7 ©   (2003-08-03 15:57) [0]

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


 
lokid7 ©   (2003-08-04 08:28) [1]

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


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

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
6-53677
Андреев
2003-12-13 14:12
2004.02.17
Длина принятых данных


11-53437
dataMaster
2003-06-02 12:57
2004.02.17
Как распечатать форму?


4-53811
comwad
2003-12-11 09:08
2004.02.17
Какие *.pas при использовании функции DeviceIoControl нужны?


3-53410
janbolat
2004-01-26 13:16
2004.02.17
У меня вопрос на тему сохранения базы


3-53395
phpist
2004-01-22 19:13
2004.02.17
Обновление BLOB-полей в ZeosDB