|
23.05.2009, 23:05
|
#1
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
создание 3Д движка на j2me
Сделал простенький 3д движок для мобильного .
В движке можно рисовать полигоны(треугольники) и линии.
Теперь меня интерисует как сделать определение не видимых полигонов? Знаю только, что это делается с помощью нормалей (сторона в которую смотрит полигон). Но не пойму как эта нормаль вычисляется или поворачивается или что-то еще.
И кто может сделать скрипт экспорта для блендера в мой формат? Я пытался сделать, но из-за какого-то бага в блендере не смог. И питона я не знаю .
И если знаете как еще, что-то в нём улучшить, то пишите .
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.05.2009, 17:04
|
#2
|
Оператор ЭВМ
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение (для 5 участников)
|
Ответ: создание 3Д движка на j2me
фляг в руки и пешком по свету по моему туут явйу хорошо знают только ты и винт!
__________________
MPCoder
V_V
|
(Offline)
|
|
24.05.2009, 18:53
|
#3
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: создание 3Д движка на j2me
Вообще-то вопрос алгоритмический, а не конкретно по Java.
|
(Offline)
|
|
24.05.2009, 19:25
|
#4
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Мой движок это проект на j2me. Так что в том разделе.
Эта же http://forum.boolean.name/showthread.php?t=4621&page=8 тема не в разделе алгоритмы хотя там тоже обсуждались алгоритмы.
Вообщем меня интересует тема своего 3д движка на мобильном. Хотя у меня не полностью свой движок т.к. используются матрицы из м3г.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.05.2009, 19:42
|
#5
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: создание 3Д движка на j2me
Да я не тебе, а @llien'у это сказал =)
|
(Offline)
|
|
25.05.2009, 10:54
|
#6
|
Оператор ЭВМ
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение (для 5 участников)
|
Ответ: создание 3Д движка на j2me
пасиб за заменчание учту
__________________
MPCoder
V_V
|
(Offline)
|
|
27.05.2009, 11:00
|
#7
|
Оператор ЭВМ
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение (для 5 участников)
|
Ответ: создание 3Д движка на j2me
Lit}{ говорит: Слуш вишмастер мы с тобой заняты одним и тем же.
Советую пойти через углы в двух плоскостях ХУ и ХZ. Формируеш ближайшие плоскости и указываеш чтобы все что за ними не рисовалось.
Позже могу текст на ВБ 6.0 выложить коли надо.
__________________
MPCoder
V_V
|
(Offline)
|
|
27.05.2009, 12:00
|
#8
|
Оператор ЭВМ
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение (для 5 участников)
|
Ответ: создание 3Д движка на j2me
если че я постараюсь переработать vb текст на midlet pascal
__________________
MPCoder
V_V
|
(Offline)
|
|
27.05.2009, 14:05
|
#9
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Тоесть ты предлогаеш сделать так: если полигон или слишком далеко, или не виден на дисплее, то не рисовать. Так? У меня, если полигон дальше чем G3D.rang или ближе чем 0 по Z оси, то полигон не добавляется в з-буфер.
Можеш показать, что у тебя получилось?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.06.2009, 22:22
|
#10
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Скажите нормали записуются в файл-модель? Или они уже в оперативе создаются и поворачиваются в сторону полигона.
Я так понимаю в файл-модель НАДО записать нормаль, чтобы знать с какой стороны полигона она. Вот только не пойму в каком виде она записуется туда. Просто как тремя цифрами которые означают направление. Или типа слево или справо. Или как?
Есть ли какие нибудь движки на ж2ме?
Или простенькие на яваСЕ?
|
(Offline)
|
|
03.06.2009, 22:43
|
#11
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Никто ниче не знает?
Вообщем как я понял нормаль записуется в файл-модель. И при повороте модели нормали умножаются на матрицу. Правельно?
|
(Offline)
|
|
04.06.2009, 01:47
|
#12
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: создание 3Д движка на j2me
На счет записи нормалей в файл - все зависит от формата файла,
на счет поворота - да, нормаль можно повернуть, умножив на матрицу поворота.
|
(Offline)
|
|
04.06.2009, 14:05
|
#13
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
Определить видимость полигона можно через вектроное произведение векторов. Тоесть если есть полигон с вершинами ABC нужно взять произведение ABxBC, и получим вектор, перпендикулярный полигону(тобиш нормаль). Потом читаем скалярное произведение вектора направления камеры и смотрим на результат. Если я не ошибаюсь, если меньше 0, то полигон видим. Кстати хорошая справка при создании своего движка без АПИ - книга Андре Ламота "ПРОГРАММИРОВАНИЕ ТРЕХМЕРНЫХ ИГР ДЛЯ WINDOWS".
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
04.06.2009, 15:58
|
#14
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Если самому вычислять направление нормали, то нормаль может оказатся не стой стороны полигона.
Наверна надо записывать нормаль в файл и при повороте умножать на матрицу.
|
(Offline)
|
|
04.06.2009, 17:32
|
#15
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
>Если самому вычислять направление нормали, то нормаль может оказатся не стой стороны полигона.
Не может.
Есть 2 вида отсечения - CW(clockwise) и CCW(counter clockwise) для отсечения по часовой стрелке и против неё соответственно. Если мы найдём вектороное произведение векторов AB и BC, то получим перпендикуляр, направленый от рисунка к нам, если же умножим CB на BA - то наоботрот. Насколько я знаю, все нормальные графические редакторы записываю индексы вершин так, чтобы они шли по часовой стрелке.
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:13.
|