Главная страница
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.033 c
14-1081092670
RealRascal
2004-04-04 19:31
2004.04.25
Как не вызывая ошибки узнать, что экземпляр класса создан


1-1080803645
pasha_golub
2004-04-01 11:14
2004.04.25
Реализация компонента-обертки


14-1081134064
nikitos
2004-04-05 07:01
2004.04.25
Как из число в edit1 отнять из edit2


11-1063904334
Boguslaw
2003-09-18 20:58
2004.04.25
What about English forum ?


1-1081167255
jeka_t
2004-04-05 16:14
2004.04.25
Rave отчеты-2