4

Я ищу идею о том, как конвертировать серии изображений TIFF с разрешением 30 + gb, 2000+ в набор данных, который можно визуализировать в реальном времени (интерактивный частота кадров) с использованием рендеринга томов на основе GPU (с использованием OpenCL/OpenGL/GLSL). Я хочу использовать подход визуализации прямого объема вместо подгонки поверхности (т. Е. Raycasting вместо маршевых кубов).IDEA: как интерактивно визуализировать большие серии изображений с использованием рендеринга прямых томов на основе графического процессора

Проблема двоякая, сначала мне нужно преобразовать свои изображения в 3D-набор данных. Первое, что пришло мне в голову, - увидеть все изображения в виде 2D-текстур и просто сгруппировать их для создания 3D-текстуры.

Вторая проблема - это частота кадров в интерактивном режиме. Для этого мне, вероятно, понадобится какая-то понижающая дискретизация в сочетании с «подробной информацией по требованию», загружающей набор данных с высоким разрешением при масштабировании или что-то в этом роде.

Первая точка-мудрый подход я нашел это:

  1. полигонизация из полных данных объема через слой за слоем обработки и генерации текстуры соответствующего изображения;
  2. Выполнение всех существенных преобразований посредством операций с вершинными процессорами;
  3. разделение многоугольных фрагментов на более мелкие фрагменты, где записаны соответствующие координаты глубины и текстуры;
  4. в обработке фрагментов, развертывание техники программирования вершинного шейдера для улучшения рендеринга фрагментов.

Но у меня нет конкретных идей о том, как начать применять этот подход.

Мне бы хотелось увидеть свежие идеи или идеи о том, как начать реализацию подхода, показанного выше.

ответ

2

Если у кого-то есть свежие идеи в этой области, они, вероятно, будут пытаться их разрабатывать и публиковать. Это постоянная область исследований.

В вашем «точечном подходе», похоже, вы наметили базовый метод рендеринга томов на основе фрагментов. Это может дать хорошие результаты, но многие люди переходят на метод аппаратного raycasting. Вот пример этого в SDK CUDA, если вы заинтересованы.

Хороший метод для иерархического объемного рендеринга был подробно описан Crassin et al. в своей статье под названием Gigavoxels. Он использует подход на основе октав, который загружает только кирпичи, необходимые в памяти, когда они необходимы.

Очень хорошая вступительная книга в этой области - Real-Time Volume Graphics.

+0

Интересная ссылка, я прочитал некоторые основы об октетах и ​​в настоящее время думал, что это действительно общий подход. – bastijn 2010-11-24 08:17:39

1

Я сделал немного рендеринга тома, хотя мой код генерировал изоповерхность с помощью маршевых кубов и отображал это. Однако в моем скромном самообразовании объемного рендеринга мне попадалась интересная короткая статья: Volume Rendering on Common Computer Hardware. Он также поставляется с исходным примером. Я никогда не обходился, чтобы проверить это, но это казалось многообещающим. Это DirectX, хотя и не OpenGL. Может быть, это может дать вам некоторые идеи и место для начала.