DirectX или OpenGL?

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

chuvaka4x
Сообщения: 6
Зарегистрирован: 17 июн 2009, 10:34

Есть микропроц. система на предприятии, которая мониторит параметры технологич. процесса в реальном времени. Надо визуализировать процесс в 3D на экране ПК. Что лучше использовать DirectX или OpenGL? Есть у кого-нибудь опыт в этой области?
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Если разрабатывать приложения под Windows в среде Visual Studio, то конечно лучше DirectX. В принципе обе эти библиотеки обеспечивают весь необходимый набор возможностей трёхмерной графики для решения производственных задач. Но вот стредства разработки, которые предоставляет Microsoft, относятся преимущественно к DirectX. Поддержка OpenGL обеспечивается лишь на функциональном уровне.

В каких случаях лучше использовать OpenGL?
- Если видеокарта работает только с OpenGL и не работает с DirectX (что в наше время очень редко встречается)
- Если необходимо обеспечить переносимость кода на другие платформы (Linux, FreeBSD и др.)
- Если при разработке используется не Visual Studio, а другие средства, которые могут плохо взаимодействовать с DirectX.
chuvaka4x
Сообщения: 6
Зарегистрирован: 17 июн 2009, 10:34

Хорошо. спасибо. а если скажем параметров надо оценивать 100 или 1000. Какие тогда требования к аппаратной части?
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Весь вопрос в том, как именно будут оцениваться эти параметры и что должно явиться результатом этой оценки?
chuvaka4x
Сообщения: 6
Зарегистрирован: 17 июн 2009, 10:34

Надо считывать параметры различных датчиков каждые 1-3 секунды. в совокупности параметров от 100 до 1000. вот и думаю, когда лучше использовать DirectX для отображения, а когда OpenGL. Вывод на монитор виде 3d-объектов тп
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Ну а сам 3D-объект что из себя представляет, как он выглядит?

Вот как я себе представляю эту картину:
Предположим у тебя имеется несколько сотен датчиков температуры. Расположены они сеткой, т.е. рядами вдоль и поперёк. Каждому датчику температуры на экране монитора соответствует столбец многорядной гистограммы, высота которого зависит от значения температуры. Соответственно, чем выше показатель температуры в данной точке, тем выше столбец гистограммы. В совокупности должна получиться рельефная поверхность, показывающая карту температур.

Если я правильно описал задачу, то это можно сделать с помощью любой графической библиотеки. Тем более частота опроса датчиков не такая уж и большая, максимум один раз в секунду. Для современных графических карт это просто ничто.

Если возникнут затруднения в реализации, обращайся rychkov@inbox.ru

Просто если ты этим не занимался никогда, то тебе потребуется около месяца, чтобы разобраться как работает 3D-графика и ещё столько же на решение самой задачи в плане 3D-визуализации.
chuvaka4x
Сообщения: 6
Зарегистрирован: 17 июн 2009, 10:34

Большое спасибо! Если можно, не могли бы подсказать хорошую литературу или ссылки на сайты по вопросам 3d графики?
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Книг много по этой теме...
http://www.books.ru/shop/search?search_ ... &y=7&inw=1

Сайтов тоже много. Хороший сайт с примерами - http://codesampler.com/
chuvaka4x
Сообщения: 6
Зарегистрирован: 17 июн 2009, 10:34

Благодарю! Вы были правы насчет гистограмм. Примерно в таком виде и должно отображаться -картами поверхностей. Но я или чего-то не понимаю, говорю начальству, что все равно какую библиотеку использовать, говорит нет, если параметров 100 -то одно дело, если 1000 то другое. Просчитай, говорит, варианты, когда мониторинг от 1 до 3 раз/сек и параметров 100 или 1000. Как считать, как объяснить? Видимо, я чего-то не догоняю. Это же от аппаратной части зависит?
Аватара пользователя
Decoder
Сообщения: 308
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

Если у тебя всего 100 параметров (матрица 10х10), то график можно построить с помощью обычного GDI (или GDI+).
В Excel есть такой вариант 3D-гистограммы, которая строится как раз по сетке значений. Можно просто передавать в таблицу Excel эти 100 параметров. Одной секунды для этого вполне достаточно.
Поумнеть несложно, куда труднее от дури избавиться.
Ответить