Russian Qt Forum
Ноябрь 22, 2024, 23:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
2D и 3D графика
>
Выбор качества моделей
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Выбор качества моделей (Прочитано 11364 раз)
deMax
Хакер
Offline
Сообщений: 600
Выбор качества моделей
«
:
Ноябрь 24, 2014, 10:09 »
Какое максимальное количество полигонов допустимо(оптимально) для трехмерной модели с поддержкой текстур раскраски и объема (все остальные модели отрисовываются достаточно просто и они низкополигональные).
Изначально модель находится в CAD файле, насколько сильно можно ее порезать. Предположительно уровень видеокарты Radeon HD7850, nvidia quadro 440.
Записан
Hrundel
Гость
Re: Выбор качества моделей
«
Ответ #1 :
Ноябрь 25, 2014, 01:13 »
Цитата: deMax от Ноябрь 24, 2014, 10:09
Какое максимальное количество полигонов допустимо(оптимально) для трехмерной модели с поддержкой текстур раскраски и объема (все остальные модели отрисовываются достаточно просто и они низкополигональные).
Сколько потянет железо. На Крее чуть больше чем на лэптопе.
Цитата: deMax от Ноябрь 24, 2014, 10:09
Изначально модель находится в CAD файле, насколько сильно можно ее порезать.
Что подразумевается под словом "порезать" ? Особенно интересно узнать это в контексте с CAD файлом.
CAD файл это тебе не mesh какой-нибудь.
Цитата: deMax от Ноябрь 24, 2014, 10:09
Предположительно уровень видеокарты Radeon HD7850, nvidia quadro 440.
Хорошие карты
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: Выбор качества моделей
«
Ответ #2 :
Ноябрь 25, 2014, 08:46 »
Цитата: Hrundel от Ноябрь 25, 2014, 01:13
Сколько потянет железо. На Крее чуть больше чем на лэптопе.
Железо будет разным, но примерно такого уровня. Какое количество полигонов оптимально, будет текстура и возможно текстура нормалей(не для всех элементов).
Цитата: Hrundel от Ноябрь 25, 2014, 01:13
Что подразумевается под словом "порезать" ? Особенно интересно узнать это в контексте с CAD файлом.
CAD файл это тебе не mesh какой-нибудь.
Разная степень детализации при экспорте, тот же шарик можно 20 полигонами отрисовать, а можно тысячей. Шлифовка модели в 3d редакторе.
Как узнать рекомендуемое число полигонов или как это расчитать? Хотя бы примерно? Какие есть ограничения?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #3 :
Ноябрь 25, 2014, 10:06 »
У меня имеется сторонняя конечно-элементная программка, которая может выводить более 4 млн. тетраэдров. При повороте геометрии глючит, но выводит.
Сам же я написал свою прогу, которая берёт оболочку детали и выводит треугольники (грани тетраэдров, лежащие на поверхности). Могу сказать, что для детали габаритом метр можно смело брать размер элемента 5мм.
У меня геометрия в 3348324 элемента обрабатывается мгновенно. Правда, и карта Quadro K4000
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #4 :
Ноябрь 25, 2014, 10:09 »
Да, хочу добавить, что представленные мною данные не обрабатываются освещением и текстурой. Но поверх полигонов ложиться ещё один слой, который отображает сетку. Так что по факту выводится 6696648 полигонов
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Выбор качества моделей
«
Ответ #5 :
Ноябрь 25, 2014, 11:10 »
Цитата: deMax от Ноябрь 25, 2014, 08:46
Как узнать рекомендуемое число полигонов или как это расчитать? Хотя бы примерно? Какие есть ограничения?
Число полигонов - всего лишь один из факторов влияющих на быстродействие, поэтому попытки его предрассчитать обречены. Лучшее что можно сделать - давать пользователю выбор какую детализацию использовать. Если такой возможности нет - давать выбор режима рисования. Напр "без шейдеров" (gourand), без текстур и/или без шейдинга текстур, только с 1 источником (обычно от камеры) и.т.п
Что? Да, это капитальный геморрой, это в неск раз больше работы. Но так у всех, это нормальные рабочие проблемы которых никто не отменял.
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: Выбор качества моделей
«
Ответ #6 :
Ноябрь 25, 2014, 13:02 »
Цитата: Igors от Ноябрь 25, 2014, 11:10
Число полигонов - всего лишь один из факторов влияющих на быстродействие, поэтому попытки его предрассчитать обречены. Лучшее что можно сделать - давать пользователю выбор какую детализацию использовать.
Это все понятно, только у меня есть модель и она дорабатывается и надо понять на какое количество полигонов для каждого уровня детализации мне ориентироваться.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #7 :
Ноябрь 25, 2014, 13:11 »
Цитата: deMax от Ноябрь 25, 2014, 13:02
Цитата: Igors от Ноябрь 25, 2014, 11:10
Число полигонов - всего лишь один из факторов влияющих на быстродействие, поэтому попытки его предрассчитать обречены. Лучшее что можно сделать - давать пользователю выбор какую детализацию использовать.
Это все понятно, только у меня есть модель и она дорабатывается и надо понять на какое количество полигонов для каждого уровня детализации мне ориентироваться.
Предлагаю сделать некий спинбокс, который будет динамически регулировать количество полигонов.
Потестируете свою программу на разных машинах и геометрии. Там уж решите, какой уровень детализации вам нужен.
P.S.: Хорошая детализация нужна только для скруглений. Плоские же поверхности обойдутся и грубой (относительно).
Записан
Hrundel
Гость
Re: Выбор качества моделей
«
Ответ #8 :
Ноябрь 25, 2014, 21:01 »
Кстати, чтобы увеличить перформанс, можно пропускать модель через алгоритм проверяющий видимость плоскости и отображать только те плоскости, которые в ракурсе. Правда придется припиливать OpenCL чтобы расчет происходил как можно быстрее, иначе через процессор можешь получить даже обратный эффект.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #9 :
Ноябрь 25, 2014, 22:50 »
Цитата: Hrundel от Ноябрь 25, 2014, 21:01
Кстати, чтобы увеличить перформанс, можно пропускать модель через алгоритм проверяющий видимость плоскости и отображать только те плоскости, которые в ракурсе. Правда придется припиливать OpenCL чтобы расчет происходил как можно быстрее, иначе через процессор можешь получить даже обратный эффект.
Возможно, до конца не понял твою мысль, но при отрисовке OpenGL сам отрезает всё то, что не попало в отображаемый объём. Также можно попросить его, чтобы он отсекал примитивы повернутые задом к зрителю.
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: Выбор качества моделей
«
Ответ #10 :
Ноябрь 26, 2014, 08:45 »
Цитата: __Heaven__ от Ноябрь 25, 2014, 13:11
Предлагаю сделать некий спинбокс, который будет динамически регулировать количество полигонов.
Потестируете свою программу на разных машинах и геометрии. Там уж решите, какой уровень детализации вам нужен.
P.S.: Хорошая детализация нужна только для скруглений. Плоские же поверхности обойдутся и грубой (относительно).
У меня модель содержит десятки тысяч элементов, ее нельзя быстро взять и уменьшить. Нужно примерно ориентироваться какое количество полигонов будет оптимально для каждого уровня детализации и как это можно подсчитать, чтоб комп под завязку не нагружать, параллельно 3D модельке у него других задач не мало.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #11 :
Ноябрь 26, 2014, 09:55 »
Ясно, что она перестраивается долго. Я имел в виду, что этот спинбокс должен быть временной мерой, которая позволит вам сориентироваться в количествах. Просто после нахождения необходимых чисел зададите их константами.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Выбор качества моделей
«
Ответ #12 :
Ноябрь 26, 2014, 11:17 »
Цитата: __Heaven__ от Ноябрь 25, 2014, 22:50
Возможно, до конца не понял твою мысль, но при отрисовке OpenGL сам отрезает всё то,
Та мысль из статьи (которую я помню)
Да, так какое-то ускорение достигается, но хлопот предостаточно. И всегда найдется такое view где нечего отсекать.
Цитата: deMax от Ноябрь 26, 2014, 08:45
У меня модель содержит десятки тысяч элементов, ее нельзя быстро взять и уменьшить. Нужно примерно ориентироваться какое количество полигонов будет оптимально для каждого уровня детализации и как это можно подсчитать, чтоб комп под завязку не нагружать, параллельно 3D модельке у него других задач не мало.
"Хто про що - а я про Тараса"
Конечно Вы можете упорно задавать тот же вопрос снова и снова, но мало шансов получить "тот самый" ответ.
Вот у Вас есть какая-то машина. Сделайте "нормальные" модели (на глазок) и посмотрите загрузку, потом, если надо, уменьшите детализацию. Ничего плохого в таком подходе нет, называется "эмпирически"
Записан
deMax
Хакер
Offline
Сообщений: 600
Re: Выбор качества моделей
«
Ответ #13 :
Ноябрь 26, 2014, 14:11 »
Это понятно, что на глаз, но законченного движка счас нет, а людям надо примерно ориентироваться на что то. Объект в солиде сотни метров весит.
Так вот в играх используется известное число полигонов, и у видеокарты есть примерный параметр количество полигонов в секунду, скажем 30 миллионов текстурированных полигонов(понятно что от угла обзора эта цифра может меняться, но не на порядки же), т.е. при фпс 60 модель на 500К полигонов максимум. Какие средние оптимальные параметры под указанные мной видеокарты.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Выбор качества моделей
«
Ответ #14 :
Ноябрь 26, 2014, 22:19 »
сгенерируйте плоскость полигонов, выведите их на экран и замерьте количество/скорость. Это и будет приверным ответом на ваш вопрос.
А реальную геометрию бить будет всё равно CPU, так понимаю.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...