Войти
ПрограммированиеФорумГрафика

Volume Rendering (13 стр)

Страницы: 112 13 14 15 16 Следующая »
#180
16:30, 30 ноя. 2012

прикольно прикольно... конечно размер "3д-пикселей" в глаза бросается... но это фигня... но сеж интересно можно ли с подобного рода данных лекальность поверхностей восстанавливать...

#181
16:40, 30 ноя. 2012

igo
> но сеж интересно можно ли с подобного рода данных лекальность поверхностей
> восстанавливать...
конечно, можно и это куда проще. искать пересечение луча с изоповерхностью - это две строчки кода, бинарный поиск. фишка моего подхода именно в том, что он рендерит произвольную transfer function, которая описывает произвольное распределение плотности, в том числе и разрывное вроде изоповерхности.

#182
18:34, 30 ноя. 2012

Suslik
если не сложно, визуализируй пожалуйста BOX не выровненный по осям.

#183
19:29, 30 ноя. 2012

Ruslan
Изображение

если поле меняется плавно, а transfer function - резко, то артефакты воксельной дискретизации не видны, объём как бы сглаживается. пример - этот куб и шарики с прошлой сраницы

#184
19:45, 30 ноя. 2012

Suslik
да, выглядит аккуратно, но грани у бокса все же сглажены
я это к чему.. есть метод Dual Contouring: http://www.oocities.org/tzukkers/isosurf/isosurfaces.html
правда, я пока еще не пробовал его\

#185
19:51, 30 ноя. 2012

Ruslan
> я это к чему..
Как это вяжется с рэйкастингом?

#186
19:54, 30 ноя. 2012

Blew_zc
> Как это вяжется с рэйкастингом?
>
а что с ним не так? :)

#187
20:20, 30 ноя. 2012

Ruslan
> но грани у бокса все же сглажены
дык какую transfer function выберешь, такие и грани будут. фишка в том, что изоповерхности рендерить куда проще, чем непрерывное изменение плотности, поэтому я обычно скрины выкладываю со вторым. transfer function с несколькими резкими экстремумами:
Изображение

#188
20:29, 30 ноя. 2012

Suslik
жирочек! лучшего качества не встречал..

#189
22:11, 30 ноя. 2012

Suslik
> конечно, можно и это куда проще. искать пересечение луча с изоповерхностью -
> это две строчки кода, бинарный поиск. фишка моего подхода именно в том, что он
> рендерит произвольную transfer function, которая описывает произвольное
> распределение плотности, в том числе и разрывное вроде изоповерхности

это я понимаю... я про лестничный эффект от данных в трехмерной сетке... какое интересно возможно "длинное" сглаживание не убивающее всякие мелкие детали?... т.е. так чтобы сфера, например, в 3д сетке данных и выглядела сферой... даже при относительно небольших разрешениях сетки...

давай от сферы чистой картинки... например 10х10х10, 20х20х20, 30х30 и до разумного предела... интересно... может там на каких то границах - лестница пропадает... или всегда рябь?... конечно на разрешениях где шаг сетки меньше пиксела экрана - оно может и пропадет, а скорее всего переходит в муар...

может есть некое оптимальное разрешение сетки... оно есть наверняка, но вряд ли сводит эффект до почти совсем незаметного, особенно при контрастном освещении...

или есть другой способ интерполяции плотности от узлов... не линейный... и не эрмитовский...

или нет самой такой проблемы у тебя уже... и я просто не те картинки посмотрел...

#190
22:29, 30 ноя. 2012

igo
посмотри на картинку с шариками с предыдущей страницы - там используется 3д текстура размером 64^3. это примерно 10 вокселей на диаметр шарика. если бы я использовал прямой способ задания геометрии, то есть в каждой точке 3д текстуры напрямую хранил цвет + прозрачность, шарики бы выглядели жутко угловатыми(10 кубиков на радиус - это очень заметно). примера с шариками у меня нет, но старое видео, где данные задаются таким образом:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

я же храню в каждой точке 3д текстуры потенциал ф(принимает значения 0..1), который и визуализирую. функция transfer function переводит значения потенциала ф в значение цвета и прозрачности. так вот в случае с шариками у них потенциал плавно убывает с радиусом(отсюда гладкость), но transfer function имеет вид функции хевисайда, то есть если потенциал меньше определённого значения, то точка пространства прозрачна, если больше - непрозрачна. точно такой же эффект можно получить, если напрямую рендерить изоповерхности плавно меняющегося скалярного поля, заданного на грубой сетке.

потенциал + transfer function не лучше и не хуже задания напрямую цвета. просто мне этот способ лучше подходит для моих задач.

#191
22:39, 30 ноя. 2012

Suslik
А каким образом считается передаточная функция?

#192
22:52, 30 ноя. 2012

Blew_zc
это обычная 1d текстура. на самом деле у меня используется больше одного канала(в каждой точке хранится четыре значения потенциала, а не одно), поэтому текстура размером 4x<сколько-то>, но в простейшем случае - это просто одномерная текстура, рисуется в фотошопе руками.

#193
23:57, 30 ноя. 2012

Suslik
> но transfer function имеет вид функции хевисайда,
smoothstep не пробывал ?

#194
23:57, 30 ноя. 2012

Suslik

интерполяция между узлами линейная или какая?...

Страницы: 112 13 14 15 16 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.