![]() |
Воксели = задача реализации.
Идея заключается в том, чтобы делать 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, время: 03:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot