Воксели = задача реализации.
Идея заключается в том, чтобы делать 3х мерные спрайты в реал тайм, т.е. можно было бы делать модель из вокселей, ей анимацию, а потом набор спрайтов.
Задача: Дано: 1 пиксель = 1 воксель 2.массив 256^3 3.кол-во информации для хранения не критично. 4. приемлемая скорость желательна. 5.язык - любой. 6.Зум отсутствует. Интересует: методы визуализации, решение проблемы дискретного пространства(п.1), методы вращения(син/кос , через матрицу(что лучше)), ну и вообще взгляд коллег на решение вокселей как таковых. если что-то упустил , пишите будем вместе ставить доп. условия или упрощения, так же интересует информация по этому поводу.(мысли сумбурны, поэтому извиняюсь, если изложил не внятно)! |
Ответ: Воксели = задача реализации.
Хочу дополнить, что если есть соображения по реализации вокселей в игосроении аля: Hexplore и Lands of Lore 3. Здесь уже скорость критична.
|
Ответ: Воксели = задача реализации.
Я бы визуализировал полностью на волуметрическом рендере используя шейдеры.
Ограничение по минимальной видеокарте - требуется хорошее железо. Но зато очень качественная будет картинка. Массив по сути нужно будет загонять в 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 |
Ответ: Воксели = задача реализации.
Волуметрический рендер - это , я так понимаю, несколько 2д текстур стоящих друг за другом, типа http://prosjekt.ffi.no/unik-4660/lec...rs/Voxel1.html , но получится, что 1 воксель != 1 пиксель. Но вообще хотелось бы взглянуть как это будет выглядеть! Просто на шейдер, я возлагаю надежду сгладить картинку, хотя может я просто не достаточно осознаю всю СИЛУ шейдеров!:-)
PS.: Хоть кто-то отписался. Спасибо. |
Ответ: Воксели = задача реализации.
Для волуметрического рендера, нужно будет юзать 3д текстуру. Затем делать снимку близких и дальних граней куба (массива), и далее делать рэйкастинг, тоесть делать кучу проходов в пост обработке, от ближней грани, к дальней, и производить выборки из 3д текстуры.
На эту тему есть много литературы в интернете ;) Поверь, шейдеры - безграничная штука.. |
Ответ: Воксели = задача реализации.
ну если делать снимок всех граней фишка рейкастинга теряется. Моя идея заключается в том, чтобы сделать редактор типа пейнта, но чтоб картинку можно было вращать как в Зд максе, тут загвоздка в том, что при повороте на 45 градусов из-за целых пикселей экрана получается картинка в сеточку...,просто если 3д делать, то товарищь Сильверман накатал через кубики, известный Voxlap.
Просто в начале хотел все сделать по простому... и пока пробывал тока на Дельфи, так как там Гуи можно быстренько накатать, но вот думаю через с++ и опенГЛ попробовать, но пока руки не доходят. В начале пробовал на blitzmax сделать, но медленно по пикселям рисовать. |
Ответ: Воксели = задача реализации.
Так как ты визуализируешь - дело не меняется. Другое дело как ты реалезуешь рисование по внутреним вокселям.
По сути, это какбы волуметрический редактор. А если быть ещё точнее - редактор 3Д текстуры. |
Ответ: Воксели = задача реализации.
ну по сути воксельная модель это просто массив [x,y,z], а вот как его как раз рисовать и крутить(не его, в нем) воксели, вот вопрос!
Да и я правильно понял на счет волуметрического рендера? |
Ответ: Воксели = задача реализации.
Насчёт волуметрического рендера - там не так просто, нада читать литературу.
Крутить очень просто - ведь по сути, используя шейдеры, без них - будет просто куб, его то и крутишь ;) Матричные трансформации уже в вершинном шейдере, используя матрицу трансформации объекта, будет проецировать в скринспейс всё как нада.. |
Ответ: Воксели = задача реализации.
ну можно как-то по подробней тогда, а то как-то даже абстрактно не могу понять как это все будет?
|
Ответ: Воксели = задача реализации.
Я делал волуметрический туман, там без рэйкастинга, а просто использование дальности до задних фейсов, и дальности до близжих фейсов.
То есть если это куб, то у тебя будет 2 основные информации - задние стенки, и ближние, ты будешь знать расстояние до пикселей. Далее можно вычеслить где находится пиксель, без рэйкаста, мы можем вычеслить позицию пикселя в координатах модели, только либо с задних стенок, либо с ближких. Но используя цикл например в 32 такта, мы можем плавно переводить значения от близжей стенки, к дальней - что мы таким образом получим? Позиции 32 пикселей от ближней стенки к дальней. А позиция пикселей - это и является координата для выборки из 3д текстуры. Дальше будет дело за блендингом, как будут применяться значения пикселей. Тут нада просто в цикле, используя альфу, какбы заполнять прозрачность, если она по пути заполнится, то значит там уже дальше пиксели будут заслонены, и дальше рейкастить смысла нету.. Короче говоря, это не так просто сразу осмыслить, без опыта с шейдерами так сразу принять такого рода алгоритмику очень сложно.. |
Ответ: Воксели = задача реализации.
Суть ясна, но надо обдумать...так сразу не въедешь... надеюсь еще кто-нибудь поделится соображениями!;)
|
Ответ: Воксели = задача реализации.
С такими задачками тебе нада подтянуть знания в графике, и прямиком на GameDev.ru - там уже люди в этом поопытнее, они то и помогут в этом плане. ;)
|
Ответ: Воксели = задача реализации.
На гемдев надо диз.док, дему, концеп документ... а я всего навсего простой программист-Большой-любитель и только...
PS.: тут тоже не дураки, да и по добрее как-то!;) |
Ответ: Воксели = задача реализации.
Этот вопрос не для проектов, а для новой темы на гд, в разделе про код и графику. Если адекватно задавать вопросы - там очень дельно помогают.
А насчёт доброты, да есть немного ;) |
Часовой пояс GMT +4, время: 08:49. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot