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

Вниз

Уменьшение числа полигонов на модели   Найти похожие ветки 

 
MrAngel   (2003-10-31 00:16) [0]

Собственно сабж. Есть модель, любая, человека, собаки, ящика и пр.

Таких моделей предполагается разместить на сцене перед камерой около 2000 (если не больше). Причём будут такие ситуации, когда необходимо отобразить все эти модели (без клипинга и прочих вещей) одновременно!!! Однако модели будут находится на разном расстоянии от камеры, соответственно и хочется более дальние модели выводить (в зависимости от расстояния) с меньшим количеством полигонов.
Сразу оговорюсь - это должно обрабатываться в реальном времени, ситуации со слайд шоу категорически отвергаются и не подходят :-)

Есть ли какие нибудь существующие наборы алгоритмов, утилит, модулей для дельфи, которые могли бы мне в этом помоч. Принимается всё.

Заранее спасибо.


 
Ландграф Павел ©   (2003-10-31 12:06) [1]

Есть такой алгоритм, уменьшения числа полигонов на расстоянии... вот только где я этот пример видел... там под Dx8.1 было - уменьшение числа полигонов у поверхности земли.
Вспомнил! ROAM algorithm by Henri Hakl
http://www.cs.sun.ac.za/~henri/


 
Sapersky ©   (2003-10-31 17:46) [2]

В D3DX (библиотеке утилит для Direct3D, имеется в комплекте с заголовками), начиная с DX8, есть средства уменьшения (и увеличения) количества полигонов в модели. Работают не всегда хорошо - модель, насколько я понял, должна быть представлена одним субмешем с усреднёнными по граням нормалями.


 
MrAngel   (2003-10-31 20:33) [3]

OK спасибо. А как быть если работаю на OGL ?


 
Sapersky ©   (2003-11-01 00:20) [4]

> А как быть если работаю на OGL ?

Посмотреть на www.opengl.org (или как он называется) :)

На Delphi3D есть кое-что по теории:

http://www.delphi3d.net/articles.php

см. статью "Level Of Detail (LOD)".

Вообще же, как показывает практика, лучше заранее сгенерировать все лоды в 3DMax или ещё где и просто отображать нужный. Существует движок, в котором детализация моделей рассчитывается динамически - забыл как называется, но производства Shiny, на нём работают Messiah и Sacrifice (возможно, и Matrix - точно не в курсе). Так вот, результат на глаз - весьма посредственный (смотрел демо Sacrifice). То, что полигоны добавляются и урезаются - заметно, в нехорошем смысле, т.е. модель при этом дёргается, особенно с учётом того, что добавление и урезание часто происходят одновременно (ну или такое создаётся впечатление). Перемудрили в Shiny малость... но зато кака-а-я технология! :)
Хотя сейчас (Sacrifice когда ещё была), может, и довели до ума.


 
MrAngel   (2003-11-01 00:47) [5]

Я бы рад делать предварительные лоды, но ситуация такова, что заранее не известно какие вообще будут модели (предполагается их разработка на стороне, например пользователя/игрока). Но тем не менее спасибо за наводку.



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1080447814
Артем К.
2004-03-28 08:23
2004.04.25
Как сохранить в таблицу DB значение вычисляемого поля


14-1080798809
gn
2004-04-01 09:53
2004.04.25
Формат MP3 объявлен вне закона


14-1080530013
тихий вовочка
2004-03-29 07:13
2004.04.25
Вам не надоело, что вас пугают?


3-1080573122
vantage10
2004-03-29 19:12
2004.04.25
Как получить список таблиц


3-1080301555
gedd
2004-03-26 14:45
2004.04.25
Зашита базы Access