Страница 1 из 2
DirectX или OpenGL?
Добавлено: 17 июн 2009, 10:44
chuvaka4x
Есть микропроц. система на предприятии, которая мониторит параметры технологич. процесса в реальном времени. Надо визуализировать процесс в 3D на экране ПК. Что лучше использовать DirectX или OpenGL? Есть у кого-нибудь опыт в этой области?
Re: DirectX или OpenGL?
Добавлено: 17 июн 2009, 12:12
WinMain
Если разрабатывать приложения под Windows в среде Visual Studio, то конечно лучше DirectX. В принципе обе эти библиотеки обеспечивают весь необходимый набор возможностей трёхмерной графики для решения производственных задач. Но вот стредства разработки, которые предоставляет Microsoft, относятся преимущественно к DirectX. Поддержка OpenGL обеспечивается лишь на функциональном уровне.
В каких случаях лучше использовать OpenGL?
- Если видеокарта работает только с OpenGL и не работает с DirectX (что в наше время очень редко встречается)
- Если необходимо обеспечить переносимость кода на другие платформы (Linux, FreeBSD и др.)
- Если при разработке используется не Visual Studio, а другие средства, которые могут плохо взаимодействовать с DirectX.
Re: DirectX или OpenGL?
Добавлено: 17 июн 2009, 13:22
chuvaka4x
Хорошо. спасибо. а если скажем параметров надо оценивать 100 или 1000. Какие тогда требования к аппаратной части?
Re: DirectX или OpenGL?
Добавлено: 17 июн 2009, 15:38
WinMain
Весь вопрос в том, как именно будут оцениваться эти параметры и что должно явиться результатом этой оценки?
Re: DirectX или OpenGL?
Добавлено: 17 июн 2009, 16:12
chuvaka4x
Надо считывать параметры различных датчиков каждые 1-3 секунды. в совокупности параметров от 100 до 1000. вот и думаю, когда лучше использовать DirectX для отображения, а когда OpenGL. Вывод на монитор виде 3d-объектов тп
Re: DirectX или OpenGL?
Добавлено: 17 июн 2009, 17:39
WinMain
Ну а сам 3D-объект что из себя представляет, как он выглядит?
Вот как я себе представляю эту картину:
Предположим у тебя имеется несколько сотен датчиков температуры. Расположены они сеткой, т.е. рядами вдоль и поперёк. Каждому датчику температуры на экране монитора соответствует столбец многорядной гистограммы, высота которого зависит от значения температуры. Соответственно, чем выше показатель температуры в данной точке, тем выше столбец гистограммы. В совокупности должна получиться рельефная поверхность, показывающая карту температур.
Если я правильно описал задачу, то это можно сделать с помощью любой графической библиотеки. Тем более частота опроса датчиков не такая уж и большая, максимум один раз в секунду. Для современных графических карт это просто ничто.
Если возникнут затруднения в реализации, обращайся
rychkov@inbox.ru
Просто если ты этим не занимался никогда, то тебе потребуется около месяца, чтобы разобраться как работает 3D-графика и ещё столько же на решение самой задачи в плане 3D-визуализации.
Re: DirectX или OpenGL?
Добавлено: 18 июн 2009, 08:04
chuvaka4x
Большое спасибо! Если можно, не могли бы подсказать хорошую литературу или ссылки на сайты по вопросам 3d графики?
Re: DirectX или OpenGL?
Добавлено: 18 июн 2009, 14:39
WinMain
Re: DirectX или OpenGL?
Добавлено: 18 июн 2009, 17:28
chuvaka4x
Благодарю! Вы были правы насчет гистограмм. Примерно в таком виде и должно отображаться -картами поверхностей. Но я или чего-то не понимаю, говорю начальству, что все равно какую библиотеку использовать, говорит нет, если параметров 100 -то одно дело, если 1000 то другое. Просчитай, говорит, варианты, когда мониторинг от 1 до 3 раз/сек и параметров 100 или 1000. Как считать, как объяснить? Видимо, я чего-то не догоняю. Это же от аппаратной части зависит?
Re: DirectX или OpenGL?
Добавлено: 18 июн 2009, 19:55
Decoder
Если у тебя всего 100 параметров (матрица 10х10), то график можно построить с помощью обычного GDI (или GDI+).
В Excel есть такой вариант 3D-гистограммы, которая строится как раз по сетке значений. Можно просто передавать в таблицу Excel эти 100 параметров. Одной секунды для этого вполне достаточно.