Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 18.08.2009, 17:37   #1
Dr.Evil
Оператор ЭВМ
 
Регистрация: 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
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

Хочу дополнить, что если есть соображения по реализации вокселей в игосроении аля: Hexplore и Lands of Lore 3. Здесь уже скорость критична.
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 01:43   #3
moka
.
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Dr.Evil (21.08.2009)
Старый 21.08.2009, 01:55   #4
Dr.Evil
Оператор ЭВМ
 
Регистрация: 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
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

Для волуметрического рендера, нужно будет юзать 3д текстуру. Затем делать снимку близких и дальних граней куба (массива), и далее делать рэйкастинг, тоесть делать кучу проходов в пост обработке, от ближней грани, к дальней, и производить выборки из 3д текстуры.
На эту тему есть много литературы в интернете
Поверь, шейдеры - безграничная штука..
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:07   #6
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

ну если делать снимок всех граней фишка рейкастинга теряется. Моя идея заключается в том, чтобы сделать редактор типа пейнта, но чтоб картинку можно было вращать как в Зд максе, тут загвоздка в том, что при повороте на 45 градусов из-за целых пикселей экрана получается картинка в сеточку...,просто если 3д делать, то товарищь Сильверман накатал через кубики, известный Voxlap.
Просто в начале хотел все сделать по простому... и пока пробывал тока на Дельфи, так как там Гуи можно быстренько накатать, но вот думаю через с++ и опенГЛ попробовать, но пока руки не доходят.

В начале пробовал на blitzmax сделать, но медленно по пикселям рисовать.

Последний раз редактировалось Dr.Evil, 21.08.2009 в 02:09. Причина: дополнение
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:10   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

Так как ты визуализируешь - дело не меняется. Другое дело как ты реалезуешь рисование по внутреним вокселям.
По сути, это какбы волуметрический редактор. А если быть ещё точнее - редактор 3Д текстуры.
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:15   #8
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

ну по сути воксельная модель это просто массив [x,y,z], а вот как его как раз рисовать и крутить(не его, в нем) воксели, вот вопрос!

Да и я правильно понял на счет волуметрического рендера?
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:25   #9
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

Насчёт волуметрического рендера - там не так просто, нада читать литературу.
Крутить очень просто - ведь по сути, используя шейдеры, без них - будет просто куб, его то и крутишь
Матричные трансформации уже в вершинном шейдере, используя матрицу трансформации объекта, будет проецировать в скринспейс всё как нада..
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:28   #10
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

ну можно как-то по подробней тогда, а то как-то даже абстрактно не могу понять как это все будет?
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:39   #11
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

Я делал волуметрический туман, там без рэйкастинга, а просто использование дальности до задних фейсов, и дальности до близжих фейсов.
То есть если это куб, то у тебя будет 2 основные информации - задние стенки, и ближние, ты будешь знать расстояние до пикселей.
Далее можно вычеслить где находится пиксель, без рэйкаста, мы можем вычеслить позицию пикселя в координатах модели, только либо с задних стенок, либо с ближких.
Но используя цикл например в 32 такта, мы можем плавно переводить значения от близжей стенки, к дальней - что мы таким образом получим? Позиции 32 пикселей от ближней стенки к дальней. А позиция пикселей - это и является координата для выборки из 3д текстуры.
Дальше будет дело за блендингом, как будут применяться значения пикселей. Тут нада просто в цикле, используя альфу, какбы заполнять прозрачность, если она по пути заполнится, то значит там уже дальше пиксели будут заслонены, и дальше рейкастить смысла нету..
Короче говоря, это не так просто сразу осмыслить, без опыта с шейдерами так сразу принять такого рода алгоритмику очень сложно..
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 02:42   #12
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

Суть ясна, но надо обдумать...так сразу не въедешь... надеюсь еще кто-нибудь поделится соображениями!
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 03:31   #13
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

С такими задачками тебе нада подтянуть знания в графике, и прямиком на GameDev.ru - там уже люди в этом поопытнее, они то и помогут в этом плане.
(Offline)
 
Ответить с цитированием
Старый 21.08.2009, 13:46   #14
Dr.Evil
Оператор ЭВМ
 
Регистрация: 20.11.2006
Сообщений: 38
Написано 8 полезных сообщений
(для 11 пользователей)
Ответ: Воксели = задача реализации.

На гемдев надо диз.док, дему, концеп документ... а я всего навсего простой программист-Большой-любитель и только...
PS.: тут тоже не дураки, да и по добрее как-то!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (21.08.2009)
Старый 23.08.2009, 16:48   #15
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Воксели = задача реализации.

Этот вопрос не для проектов, а для новой темы на гд, в разделе про код и графику. Если адекватно задавать вопросы - там очень дельно помогают.
А насчёт доброты, да есть немного
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куча травы. Лучший способ реализации. Данил Blitz3D 99 26.03.2010 18:41
Вопрос по реализации погоды DelphiFan 3D-программирование 16 19.07.2009 17:51
интересные исходники или идеи реализации в MP abcdef Основной форум 23 20.11.2008 23:46
Несколько вопросов о реализации интерфейса Delta_Q 3D-программирование 8 14.01.2008 23:37
Несколько вопросов по реализации... Xander 3D-программирование 2 24.10.2007 13:29


Часовой пояс GMT +4, время: 12:40.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com