Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - 3D-альтернатива OpenGL для Java?!

Ответить
Настройки темы
Java - 3D-альтернатива OpenGL для Java?!

Пользователь


Сообщения: 96
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Здравствуйте, вопрос - интересует мнение!

Хочу попрактиковаться в Java программировании, решил написать шахматы(с возможностью сетевой игры), сразу скажу, что только друг против друга, сейчас нету столько времени, чтоб пробовать разобраться в алгоритмах игры против компьютера, да и это не так то просто я думаю.
Сначала я задумал, что это будут 3Д Шахматы. Начал копать - что же предлагает Java. Так вот, из нарытого.
Java3D - смесь опенДж и плюсов (как я понял).
JOGL - только закончил змейку на нем писать, что-то нету больше охоты возвращаться к OpenGL возвращаться. Банальная причина - припустим я нарисовал шарик, так я не могу его присвоить какой-то переменной чтоб потом манипулировать ей, я не могу управлять этим шариком как объектом, или я не дочитал что-то..
JMonkey - фреймворк основан тоже на OpenGL.
Есть какая-то Не OpenGlная альтернатива?

Подумал может что в Браузере замутить. И тут то-же самое
WebGL - тоже базируется на OpenGL но это уже в сторону JavaScript
В сторону Апплетов тоже не хочется двигаться..

Или не забивать себе мозги изучением всяких 3Д(не хочу развиваться в этом направлении) технологий, а для начала замутить На Swing обычное 2D?
Каково ваше мнение? Что говорит опыт профессионалов?
Спасибо!!!

Отправлено: 16:03, 21-01-2012

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Цитата Killer_13:
Банальная причина - припустим я нарисовал шарик, так я не могу его присвоить какой-то переменной чтоб потом манипулировать ей, я не могу управлять этим шариком как объектом, или я не дочитал что-то.. »
вообще-то вы действительно что-то не дочитали, у вас должен был получится объект шарик и для его передвижения у него должен быть метод, например шарик.move(), разберитесь с ООП
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:34, 21-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 96
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Брррр, подскажите тогда, я вот.. нарисовал шарик, откуда мне брать метод "move()"?
Код: Выделить весь код
		
gl.glPushMatrix(); 		
gl.glTranslatef(applePositionFloatX, applePositionFloatY, 0.0f); 		
gl.glColor3f(0.0f, 1.0f, 0.0f); 		
glu.gluSphere(glu.gluNewQuadric(), 0.023, 50, 50); 		
gl.glPopMatrix();

Отправлено: 18:10, 21-01-2012 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Прорисовка шарика - делается в конструкторе класса Шарик. Методы добавляют функционал. MoveLeft может двигать влево и т.п.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 10:46, 22-01-2012 | #4


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


все верно - твой шарик будет двигаться если для каждого прерывания перерисовки ты будешь выбирать верные applePositionFloatX и applePositionFloatY. скажем, добавь функцию на прерывание с клавы, если нажата кнопка вверх то applePositionFloatY++ и т.д. (я незнаю как ты там оси координат назначал). естественно applePositionFloatY должна быть глобально объявлена. как сказал Delirium проще всего создавать классы, в их теле иметь функции их прорисовки и изменения, а в теле основной функции перерисовки сцены ток писать логику.

Отправлено: 11:47, 22-01-2012 | #5


Пользователь


Сообщения: 96
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Цитата Beyound:
все верно - твой шарик будет двигаться если для каждого прерывания перерисовки ты будешь выбирать верные applePositionFloatX и applePositionFloatY. скажем, добавь функцию на прерывание с клавы, если нажата кнопка вверх то applePositionFloatY++ и т.д. (я незнаю как ты там оси координат назначал). естественно applePositionFloatY должна быть глобально объявлена. как сказал Delirium проще всего создавать классы, в их теле иметь функции их прорисовки и изменения, а в теле основной функции перерисовки сцены ток писать логику. »
Понятное дело, я так и делал, но вот хотелось что-то поудобней... Я уже начинаю понимать, что чуток не правильно сформулировал вопрос.

-------
Не судите строго :) -> хттп:// jdev.name


Отправлено: 12:19, 22-01-2012 | #6


Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


)) кудаж удобнее может быть - объектно ориентированное програмирование в самом его соку. в directx все тож самое.

Отправлено: 13:33, 22-01-2012 | #7


Пользователь


Сообщения: 96
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Я наверное что-то не дочитал... И поспешил...
Так вы говорите, что можно например создать отдельный класс Шарик, прописать в нем методы для движения, трансформации и так д... а потом просто создавать объект и вызывать методы?
а потом все конфигурировать в нашей функции отрисовки display()?

-------
Не судите строго :) -> хттп:// jdev.name


Отправлено: 13:38, 22-01-2012 | #8


ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Killer_13, вы смешиваете два совершенно разных понятия: физическую модель и графическую часть программы

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 06:37, 01-02-2012 | #9


Ветеран


Сообщения: 1813
Благодарности: 146

Профиль | Отправить PM | Цитировать


Цитата Killer_13:
Есть какая-то Не OpenGlная альтернатива? »
А чего Вы хотите конкретно? Вместо OpenGl? DirectX? Это чисто виндовая примочка. Поэтому Java, имея принципиально кросс-платформенный подход, будет стоять именно на кросс-платформенном OpenGl. Альтернатив (кросс-платформенных) пока что нету. Если и появятся, то будут сидеть на том же OpenGl как на основе, т.е. будут, по сути дела, паразитами.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:12, 01-02-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - 3D-альтернатива OpenGL для Java?!

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Java- есть ли альтернатива? gorill Мобильные ОС, смартфоны и планшеты 3 14-02-2011 09:59
Драйвер - Поддержка OpenGL для ATI Mobility Radeon Pasha0325 Microsoft Windows Vista 0 04-11-2007 04:18
DirectX - один для всех, а OpenGL? rhiannon Хочу все знать 1 29-05-2006 09:32
Альтернатива для Microsoft Network Andrik Microsoft Windows NT/2000/2003 4 27-11-2005 15:17




 
Переход