Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему JFreeChart не использует Java3d 
:(
    Опции темы
oson
Дата 30.7.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



JFreeChart для графиков 3D использует Java2D.
Хотя если использовать Java3D например, то эффект будет значительно лучше.
Чем вызвано такое ограничение - есть какие-то предположения?
PM MAIL   Вверх
Amp
Дата 30.7.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 3
Всего: 17



Лишняя и ненужная зависимость, не добавляющая приложению стабильности, т.к. в ходу в основном именно 2D чарты, псевдо-3D - как бонус.
PM MAIL   Вверх
oson
Дата 30.7.2010, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



Да - но если не будет в системе установлено дополнительных библиотек, необходимых для 3D, то та часть, которая делает 2d графики (которые в ходу)
будет прекрасно работать. И устанавливать дополнительные библиотеки, пока не захочешь запустить и 3D графики, не надо.
А как это может сказываться на стабильности? Я этот момент не понял совсем. Библиотеки jar или dll для java3D создают какую-то нестабильность?


PM MAIL   Вверх
powerOn
Дата 30.7.2010, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



Цитата(oson @  30.7.2010,  18:13 Найти цитируемый пост)
эффект будет значительно лучше.


что за эффект и чем будет лучше?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
oson
Дата 30.7.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



Цитата(powerOn @ 30.7.2010,  20:39)
Цитата(oson @  30.7.2010,  18:13 Найти цитируемый пост)
эффект будет значительно лучше.


что за эффект и чем будет лучше?

Ну просто взгляните на картинку псевдо-3d, сделанную на том же Jfreechart, и на картинку сгенерированную Java3D - по моему разница видна сразу (текстура, тени, освещение, поворачивание в любой оси на любой угол и тд). 
PM MAIL   Вверх
Amp
Дата 30.7.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 3
Всего: 17



Цитата(oson @  30.7.2010,  19:40 Найти цитируемый пост)
Да - но если не будет в системе установлено дополнительных библиотек, необходимых для 3D, то та часть, которая делает 2d графики (которые в ходу)
будет прекрасно работать. И устанавливать дополнительные библиотеки, пока не захочешь запустить и 3D графики, не надо.
А как это может сказываться на стабильности? Я этот момент не понял совсем. Библиотеки jar или dll для java3D создают какую-то нестабильность?

Графики с бэкэндом в виде Java2D - работают везде. Это просто и действенно. Предугадать, как там у пользователей обстоят дела с 3д нельзя. Много машин, много конфигураций, часто кривых. Пользователи привыкли, что типовые десктопные приложения не требуют 3D, например Word - если он запустился на машине, то и наверняка без проблем нарисует свои графики. И тут пользователь сталкивается с программой, которая ради рисования каких-то красивых 3д графиков, которые ему в принципе и на фиг не нужны (ему и двумерных более чем достаточно), тянет за собой D3D или OpenGL (непонятно еще каких версий), которые у него как назло не работают. Это нестабильность - в то время, как офисные приложения будут рисовать псевдо-3д графики, Java3D-based приложение вообще ничего не будет рисовать.

Ну и, как я писал, OpenGL вроде требует наличие окна для инициализации контекста, поэтому сделать консольное приложение, которые бы просто рендерило картинку в файл без применения хаков вряд ли получится. 

Цитата(powerOn @  30.7.2010,  20:39 Найти цитируемый пост)
что за эффект и чем будет лучше? 

Шейдерами можно симпатичные заливочки сделать smile

Добавлено через 49 секунд
Повторюсь. Я думаю, что основная причина - большинству приложений статические 3d-графики не нужны.
PM MAIL   Вверх
oson
Дата 31.7.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 289
Регистрация: 3.3.2004
Где: Севастополь

Репутация: нет
Всего: 1



Цитата(Amp @ 30.7.2010,  23:40)
Это нестабильность - в то время, как офисные приложения будут рисовать псевдо-3д графики, Java3D-based приложение вообще ничего не будет рисовать.

Ну и, как я писал, OpenGL вроде требует наличие окна для инициализации контекста, поэтому сделать консольное приложение, которые бы просто рендерило картинку в файл без применения хаков вряд ли получится. 



Да в том то и дело, что если пользователь запускает 2d график то система его не спросит про библиотеки java3d - они запустятся на java2d спокойно. Вопрос возникнет только когда он захочет 3d график в той же программе запустить.
PM MAIL   Вверх
Amp
Дата 31.7.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 886
Регистрация: 17.2.2009

Репутация: 3
Всего: 17



Цитата(oson @  31.7.2010,  00:57 Найти цитируемый пост)
Да в том то и дело, что если пользователь запускает 2d график то система его не спросит про библиотеки java3d - они запустятся на java2d спокойно. Вопрос возникнет только когда он захочет 3d график в той же программе запустить. 

Речь у нас про JFreeChart. Внимательно посмотри на них - там нет графиков, для которых нужно 3d. Т.е. там нет графиков, которые бы строились по трем измерениям (и более) и требовали трехмерной системы координат. Например вроде такого http://cosmologist.info/cosmomc/pics/4D.png (тут аж по четырем измерениям). Видимо у них не стояло такой задачи. Я бы на их месте только ради того, что бы было еще красивее, лишние сущности не привлекал.

Впрочем, рассуждать тут можно долго - стоит спросить у разработчиков. Project Leader пишет на тамошнем форуме следующее:

Цитата(http://www.jfree.org/phpBB2/viewtopic.php?f=3&t=21915&p=76549#p76549)

The main requirement for me is that the 3D charts should be implemented using just Java's Graphics2D API (that is, no dependency on OpenGL or something) so that the resulting charts can feed into the same pipelines (SVGGraphics2D, PDFGraphics2D etc.) that existing 2D charts can utilise. This is just for consistency with the existing chart implementation, not because I think OpenGL is a bad idea. That's why I was pursuing the angle of a small 3D engine in pure Java.


Почему он считает, что "OpenGL is a bad idea" можешь у него спросить сам smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0721 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.