|
|
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Дали мне тут тестовое задание, создать 3д движок для просто игрульки. Создается сцена из 3д объектов, которые состоят из треугольников. Ну, то есть по сути пирамидки с 4-мя углами. Вопрос в следующем, актуально ли будет использовать для создания точек класс Point3d; из пакета gwt-vecmath? Вообще интересно мнение осведомленных в данной теме людей, может быть более правильно, с точки зрения производительности, будет использование какой-либо другой библиотеки или вообще самому велосипед придумывать? С координатами вчера столкнулся первый раз в Java :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 10:57:45 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
NixicДали мне тут тестовое задание, создать 3д движок для просто игрульки. Куя себе тестовое задание. И не просто демку а движок? Чтобы переиспользовать? Nixic Вопрос в следующем, актуально ли будет использовать для создания точек класс Point3d; из пакета gwt-vecmath? Обязательно под web? NixicВообще интересно мнение осведомленных в данной теме людей, может быть более правильно, с точки зрения производительности, будет использование какой-либо другой библиотеки или вообще самому велосипед придумывать? С координатами вчера столкнулся первый раз в Java :) Писать свой движок с нуля для 3d точно смысла нет. Но для начала стоило бы определится что куда рендерится? WebGL? Applet? HTML Canvas? Flash? Unity? Может это и не "движок" вовсе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 11:41:09 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Это не совсем движок. Есть XML файл с координатами объектов, который загружается в программу, представляя из себя сцену из объектов. Получается что-то типа набора объектов с определенными координатами и всё. Этот XML файл, как мне кажется нужно сгенерировать на этапе запуска. Алгоритм генерации я еще не придумал. Ну вот сгенерировали файл с объектами, это одна часть. Затем генерируем лучи, т.е. векторы, у которых есть точка начала (x,y,z) и направление. Как я понял, направление тоже определяется точкой, думаю, что она должна быть случайной (как и первая) и всегда больше самого удаленного объекта. После того, как координаты вектора сгенерировались, нужно произвести трассировку этого луча, с целью узнать пересек ли луч один из объектов. (до первого пересечения). Если пересек, кидаем в аутпут сообщение типа "луч1: пересек." и так далее. И цель считается достигнута. Взял gwt-vecmath, не потому что под веб, а потому что это первое что нашлось при поиске в гугле для работы с координатами. Теперь вот думаю, что оно не особо и нужно. Там, конечно, есть нужные классы, но можно их просто просмотреть и создать свои. Сейчас основная проблема, это алгоритм трассировки луча, до первого пересечения с объектом сцены... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 12:17:21 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
NixicЕсть XML файл с координатами объектов ... Этот XML файл, как мне кажется нужно сгенерировать на этапе запуска. Так файл есть или нужно сгенерить? Стандартные X3D, VRML не подходят? NixicЗатем генерируем лучи, т.е. векторы, у которых есть точка начала (x,y,z) и направление. Как я понял, направление тоже определяется точкой, думаю, что она должна быть случайной (как и первая) и всегда больше самого удаленного объекта. После того, как координаты вектора сгенерировались, нужно произвести трассировку этого луча, с целью узнать пересек ли луч один из объектов. (до первого пересечения). Обязательно нужно реализовать свою отрисовку 3D в 2D? Или я чего-то не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 12:27:38 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОбязательно нужно реализовать свою отрисовку 3D в 2D? Или я чего-то не понимаю. +1 Аффтар! Не бери все задачи с нуля. Возьми готовые и откажись от веб -проекта. Ещё не хватало тебе свой рендер писать и трассировку лучей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:07:58 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
рендер-то не нужно, нужна просто обработка XML файла с объектами, с выводом результатов. А вот самому этот файл генерировать или нет - пока не понятно, задал вопрос. Если самому, то надо знать по какому принципу/алгоритму. Генерировать, придется только лучи, и сделать их трассировку. Уже немного про трассировку почитал, есть некоторые готовые формулы для различных объектов, но пока не понятно как обстоят дела с самой сценой объектов. А что по трассировке лучей уже есть какие-то библиотеки? Погуглю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:19:16 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Nixicрендер-то не нужно, нужна просто обработка XML файла с объектами, с выводом результатов. Выводом куда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:23:58 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
NixicА что по трассировке лучей уже есть какие-то библиотеки? Погуглю... для десктопа: DirectX OpenGL для Web дорого, долго и бесплатных мало. ......... - Разберись с рендером. В каком виде хранить координаты (XML) - самый простой вопрос. - Найди в веб скриншот что тебе надо на выходе и запости тут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:28:22 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
BlazkowiczNixicрендер-то не нужно, нужна просто обработка XML файла с объектами, с выводом результатов. Выводом куда? В аутпут, ну или в лог-файл, какой-нибудь, через тот же стандартный вывод. В аутпуте: результаты трассировки лучей (есть ли пересечение лучом какого-то из объектов, только одно пересечение, первое.) луч1: есть луч2: луч3: есть луч4: есть и так далее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:31:50 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
NixicВ аутпут, ну или в лог-файл, какой-нибудь, через тот же стандартный вывод. В аутпуте: результаты трассировки лучей (есть ли пересечение лучом какого-то из объектов, только одно пересечение, первое.) Как это связано с NixicДали мне тут тестовое задание, создать 3д движок для просто игрульки. Задание тупо проверить объекты на коллизию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:34:43 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Nixic, без рендера так: - вокруг объекта описываем сферу - находим пересечение луча со сферой в цикле. - определяем ближ объект ----------- Алгоритмы на С++ чаще всего есть на GameDev_ru Готовое на Java IMHO не найти. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:36:14 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Petro123Готовое на Java IMHO не найти. IMHO, валом: https://www.google.com/search?q=java+collision+detection+3d ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:41:56 |
|
||
|
3d-сцена
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, по гуглу наверно - да. Я судил по форуму разработчиков игр http://www.gamedev.ru/code/articles/?id=4199 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2013, 13:55:39 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38123071&tid=2130129]: |
0ms |
get settings: |
19ms |
get forum list: |
33ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
71ms |
get topic data: |
26ms |
get forum data: |
7ms |
get page messages: |
110ms |
get tp. blocked users: |
3ms |
| others: | 331ms |
| total: | 616ms |

| 0 / 0 |
