|
21.06.2009, 11:25
|
#91
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Цель у меня - быстрее. А какие цели могут быть?
|
(Offline)
|
|
21.06.2009, 12:34
|
#92
|
|
Ответ: создание 3Д движка на j2me
WISHMASTER35
не бывает просто "самого быстрого алгоритма сортировки"
потому что если ты выберешь один, а потом подсунешь ему 10 млн ячеек то он загнётся
для выбора алгоритма надо смотреть как уже упорядочены входные данные и какое количество обьектов надо отсортировать
для <=1000 самый быстрый это сортировка шелла
|
|
|
21.06.2009, 14:05
|
#93
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
С сортировкой Шелла фпс вырос на 16. Это очень хорошо.
А нельзяли этот алгоритм еще как нибудь оптимизировать? Может быть ту таблицу изменить которая используется этим алгоритмом? Я толком не понял для чего та таблица, но там такие большие числа, а у меня полигонов максимум 1000.
|
(Offline)
|
|
21.06.2009, 14:13
|
#94
|
|
Ответ: создание 3Д движка на j2me
WISHMASTER35
изучай алгоритмы сортировки может и можно
|
|
|
21.06.2009, 15:17
|
#95
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Я так понимаю, если у меня максимум полигонов 1000, то заносить в ту таблицу числа больше 1000 смысла нет. Правельно?
|
(Offline)
|
|
22.06.2009, 15:36
|
#96
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
Сообщение от WISHMASTER35
Кто нибудь знает как сделать, если один полигон перекрывает часть другова, то как не рисовать перекрытую часть второго полигона?
|
Повторяю для тех, кто в танке:
Сообщение от -=Jack=-
Для этого вполне эффективно используется Z-буферизация о_О
|
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
23.06.2009, 00:21
|
#97
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
вот мой двихок с сортировкой Шелла.
|
(Offline)
|
|
23.06.2009, 00:26
|
#98
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Не пойму как твоя з-буфферизация мне в этом поможет.
Врё равно праверяться перекрывает пиксель одного полигона пиксель другова будет у всех полигонов.
|
(Offline)
|
|
23.06.2009, 01:40
|
#99
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
Сообщение от WISHMASTER35
Врё равно праверяться перекрывает пиксель одного полигона пиксель другова будет у всех полигонов.
|
Допустим. И в чём проблема?
Слушай, иди попрогай на OpenGL на компе, а потом уже перейдешь на Java... Ты ничего не выдавишь из этого, если не будешь знать основ графики... По программированию 3Д графики на Java книг мало(если вообще есть, хз), а вот по OpenGL - целая куча. Даже если не будешь программировать под комп - прочитай хотя бы одну умную книгу по OpenGL и у тебя сразу отпадёт куча вопросов, которые ты тут задаешь...
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
23.06.2009, 10:17
|
#100
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Проблема в том, что на не видемые полигоны или их части потратится время.
А я хочю, если на дисплее в этом месте уже рисовался полигон, то в следующем полигоне его части, которые в этом месте вообще пропуститились и не делать для них каких-то вычислений.
Но в этом случае навена надо будет рисовать полигоны от ближнего к дальнему.
Книгу еще надо скачать. А когда они весят 20, а то и 50 мб это проблематично.
|
(Offline)
|
|
23.06.2009, 12:08
|
#101
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
Сообщение от WISHMASTER35
Проблема в том, что на не видемые полигоны или их части потратится время.
|
А ты что думал, в сказку попал?
Сообщение от WISHMASTER35
А я хочю, если на дисплее в этом месте уже рисовался полигон, то в следующем полигоне его части, которые в этом месте вообще пропуститились и не делать для них каких-то вычислений.
|
Или юзай Z-буферизацию, или хоти дальше...
Сообщение от WISHMASTER35
Но в этом случае навена надо будет рисовать полигоны от ближнего к дальнему.
|
доу... страшно представить, как это будет выглядить...
Сообщение от WISHMASTER35
Книгу еще надо скачать. А когда они весят 20, а то и 50 мб это проблематично.
|
http://depositfiles.com/ru/files/4304985 - 10.3 мб
http://depositfiles.com/ru/files/7657084 - 2.93 мб
http://depositfiles.com/files/yon7cmqy7 - 17 мб.
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
23.06.2009, 18:18
|
#102
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Положительная сторона з-буфера это, то, что точно определяется какой пиксель виден, а какои нет. И для не видемых пикселей не надо высчитавать свет и текстурные координаты. Но для каждого полигона, для каждого эго пикселя надо надо высчитать расстояние. А это наверна очень долго. Формула которая высчитует это расстояние большая?
По-моему я когда-то видел статью в которой написано было, что не видемые части полигона надо отсекать.
|
(Offline)
|
|
23.06.2009, 20:32
|
#103
|
ПроЭктировщик
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений (для 44 пользователей)
|
Ответ: создание 3Д движка на j2me
>Формула которая высчитует это расстояние большая?
vec=pos*WorldViewProj; - тут vec.z - это и будет та координата. Если не понял - vec=pos*(WorldMatrix*ViewMatrix*ProjMatrix); - это код вычисления положения пикселя на экране. В любом случае должен выполнятся при отрисовке. При этом значения X и Y - значения в пределах [-1; 1], указывающие положение результирующей точки на экране, а Z(используется только при Z-буферизации) - значение в пределах [0; 1], которое и нужно записать в Z-буфер.
__________________
Я бы изменил мир, но Бог не даёт исходников...
|
(Offline)
|
|
23.06.2009, 22:15
|
#104
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: создание 3Д движка на j2me
Как я понял освещение и цвет пикселов вычисляются после того как все полигоны добавлены в з-буфер.
Только я не понял, если в з-буфер сначало не цвета заносятся, то что???
|
(Offline)
|
|
23.06.2009, 22:23
|
#105
|
|
Ответ: создание 3Д движка на j2me
WISHMASTER35
z-buffer это такая текстура, мы сначала высчитываем глубину пикселя и сравниваем с уже записаной, если записаная меньше - игнорируем наш пиксель и идем к другому
если записаная больше, высчитываем цвет для нашего пикселя, записываем цвет в результирующий буфер, записуем глубину в z-buffer
|
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:39.
|