|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
18.08.2009, 17:37
|
#1
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Воксели = задача реализации.
Идея заключается в том, чтобы делать 3х мерные спрайты в реал тайм, т.е. можно было бы делать модель из вокселей, ей анимацию, а потом набор спрайтов.
Задача:
Дано:
1 пиксель = 1 воксель
2.массив 256^3
3.кол-во информации для хранения не критично.
4. приемлемая скорость желательна.
5.язык - любой.
6.Зум отсутствует.
Интересует: методы визуализации, решение проблемы дискретного пространства(п.1), методы вращения(син/кос , через матрицу(что лучше)), ну и вообще взгляд коллег на решение вокселей как таковых.
если что-то упустил , пишите будем вместе ставить доп. условия или упрощения,
так же интересует информация по этому поводу.(мысли сумбурны, поэтому извиняюсь, если изложил не внятно)!
Последний раз редактировалось Dr.Evil, 18.08.2009 в 17:48.
|
(Offline)
|
|
18.08.2009, 17:43
|
#2
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
Хочу дополнить, что если есть соображения по реализации вокселей в игосроении аля: Hexplore и Lands of Lore 3. Здесь уже скорость критична.
|
(Offline)
|
|
21.08.2009, 01:43
|
#3
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Я бы визуализировал полностью на волуметрическом рендере используя шейдеры.
Ограничение по минимальной видеокарте - требуется хорошее железо.
Но зато очень качественная будет картинка.
Массив по сути нужно будет загонять в 3д текстуру, что будет требовать весьма много.
Хотя зависит как реалезуешь
Вот пару картинок примеров волуметрического рендеринга:
http://www.coin3d.org/usage/casestud...etryvolume.jpg
http://graphics.stanford.edu/papers/shear/colorhead.jpg
А вот ещё интерестная ссылочка о воксельном скульптуринге: http://www.3d-coat.com/v3_voxel_sculpting.html
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.08.2009, 01:55
|
#4
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
Волуметрический рендер - это , я так понимаю, несколько 2д текстур стоящих друг за другом, типа http://prosjekt.ffi.no/unik-4660/lec...rs/Voxel1.html , но получится, что 1 воксель != 1 пиксель. Но вообще хотелось бы взглянуть как это будет выглядеть! Просто на шейдер, я возлагаю надежду сгладить картинку, хотя может я просто не достаточно осознаю всю СИЛУ шейдеров!
PS.: Хоть кто-то отписался. Спасибо.
|
(Offline)
|
|
21.08.2009, 02:00
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Для волуметрического рендера, нужно будет юзать 3д текстуру. Затем делать снимку близких и дальних граней куба (массива), и далее делать рэйкастинг, тоесть делать кучу проходов в пост обработке, от ближней грани, к дальней, и производить выборки из 3д текстуры.
На эту тему есть много литературы в интернете
Поверь, шейдеры - безграничная штука..
|
(Offline)
|
|
21.08.2009, 02:07
|
#6
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
ну если делать снимок всех граней фишка рейкастинга теряется. Моя идея заключается в том, чтобы сделать редактор типа пейнта, но чтоб картинку можно было вращать как в Зд максе, тут загвоздка в том, что при повороте на 45 градусов из-за целых пикселей экрана получается картинка в сеточку...,просто если 3д делать, то товарищь Сильверман накатал через кубики, известный Voxlap.
Просто в начале хотел все сделать по простому... и пока пробывал тока на Дельфи, так как там Гуи можно быстренько накатать, но вот думаю через с++ и опенГЛ попробовать, но пока руки не доходят.
В начале пробовал на blitzmax сделать, но медленно по пикселям рисовать.
Последний раз редактировалось Dr.Evil, 21.08.2009 в 02:09.
Причина: дополнение
|
(Offline)
|
|
21.08.2009, 02:10
|
#7
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Так как ты визуализируешь - дело не меняется. Другое дело как ты реалезуешь рисование по внутреним вокселям.
По сути, это какбы волуметрический редактор. А если быть ещё точнее - редактор 3Д текстуры.
|
(Offline)
|
|
21.08.2009, 02:15
|
#8
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
ну по сути воксельная модель это просто массив [x,y,z], а вот как его как раз рисовать и крутить(не его, в нем) воксели, вот вопрос!
Да и я правильно понял на счет волуметрического рендера?
|
(Offline)
|
|
21.08.2009, 02:25
|
#9
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Насчёт волуметрического рендера - там не так просто, нада читать литературу.
Крутить очень просто - ведь по сути, используя шейдеры, без них - будет просто куб, его то и крутишь
Матричные трансформации уже в вершинном шейдере, используя матрицу трансформации объекта, будет проецировать в скринспейс всё как нада..
|
(Offline)
|
|
21.08.2009, 02:28
|
#10
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
ну можно как-то по подробней тогда, а то как-то даже абстрактно не могу понять как это все будет?
|
(Offline)
|
|
21.08.2009, 02:39
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Я делал волуметрический туман, там без рэйкастинга, а просто использование дальности до задних фейсов, и дальности до близжих фейсов.
То есть если это куб, то у тебя будет 2 основные информации - задние стенки, и ближние, ты будешь знать расстояние до пикселей.
Далее можно вычеслить где находится пиксель, без рэйкаста, мы можем вычеслить позицию пикселя в координатах модели, только либо с задних стенок, либо с ближких.
Но используя цикл например в 32 такта, мы можем плавно переводить значения от близжей стенки, к дальней - что мы таким образом получим? Позиции 32 пикселей от ближней стенки к дальней. А позиция пикселей - это и является координата для выборки из 3д текстуры.
Дальше будет дело за блендингом, как будут применяться значения пикселей. Тут нада просто в цикле, используя альфу, какбы заполнять прозрачность, если она по пути заполнится, то значит там уже дальше пиксели будут заслонены, и дальше рейкастить смысла нету..
Короче говоря, это не так просто сразу осмыслить, без опыта с шейдерами так сразу принять такого рода алгоритмику очень сложно..
|
(Offline)
|
|
21.08.2009, 02:42
|
#12
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
Суть ясна, но надо обдумать...так сразу не въедешь... надеюсь еще кто-нибудь поделится соображениями!
|
(Offline)
|
|
21.08.2009, 03:31
|
#13
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
С такими задачками тебе нада подтянуть знания в графике, и прямиком на GameDev.ru - там уже люди в этом поопытнее, они то и помогут в этом плане.
|
(Offline)
|
|
21.08.2009, 13:46
|
#14
|
Оператор ЭВМ
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений (для 11 пользователей)
|
Ответ: Воксели = задача реализации.
На гемдев надо диз.док, дему, концеп документ... а я всего навсего простой программист-Большой-любитель и только...
PS.: тут тоже не дураки, да и по добрее как-то!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
23.08.2009, 16:48
|
#15
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Воксели = задача реализации.
Этот вопрос не для проектов, а для новой темы на гд, в разделе про код и графику. Если адекватно задавать вопросы - там очень дельно помогают.
А насчёт доброты, да есть немного
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:16.
|