Послойное Построение В Opengl

Тема в разделе "Delphi - Multimedia, Графика, Игры", создана пользователем skeydee, 18 дек 2011.

  1. skeydee

    skeydee New Member

    Регистрация:
    18 дек 2011
    Сообщения:
    4
    Симпатии:
    0
    Доброго времени суток!
    Никогда не работал с 3D графикой, поэтому такой вопрос: можно ли как-то в OpenGL построить трехмерный объект путем наложения двумерных изображений. Т.е. построить объект послойно.
    Если нет, то другой вопрос: можно ли попиксельно построить трехмерный объект (опять же послойно)?
    Исходные данные: либо картинки (двумерные изображения), либо массив 512х512, в каждой ячейке содержится интенсивность цвета.
     
  2. sinkopa

    sinkopa Well-Known Member

    Регистрация:
    17 июн 2009
    Сообщения:
    344
    Симпатии:
    9
    Вы уж определитесь что Вам нужно... :)
    Либо трехмерный объект - тогда Вам точно в OpenGL "курить"...
    Либо послойное наложение - тогда GDI+
    В OpenGL можно описать трехмерный объект и наложить на него текстуру (натянуть, как на каркас)...
    Послойным наложением можно конечно создать картинку очень похожую на 3D объект (курим "аффинные преобразования") но это другие техноголии (не OpenGL).
    Короче. Вот Вам примеры OpenGL
    Посмотреть вложение opengl.rar
    А вот Вам примеры послойных наложений
    Посмотреть вложение gdi.rar
    Определяйтесь... :)
     
  3. skeydee

    skeydee New Member

    Регистрация:
    18 дек 2011
    Сообщения:
    4
    Симпатии:
    0
    Среди того, что вы мне скинули, нет ничего похожего, на то что мне нужно :angry: Вот никто с первого раза не понимает, что мне требуется получить ))
    Нужно вот так наложить несколько изображений:
    http://u.pikucha.ru/i7p9N
    Вот видео того, что должно получиться в итоге:
    http://www.xrayinspectionservice.com/
    Разработчиком заявлено, что в основе лежит OpenGL.
    Вы про томографию слышали, вот нечто такое и нужно реализовать!
     
  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    В том видео реализовано не путём наложения огромного количества слоёв, а путём постороения среза трёх-мерной модели(похоже на модификатор Slice в 3ds Max, но реализовано на более качественном уровне).
     
  5. skeydee

    skeydee New Member

    Регистрация:
    18 дек 2011
    Сообщения:
    4
    Симпатии:
    0
    Я видел эту программу в действии. Трехмерная модель получается путем наложения множества двумерных слоев, и, как я понял, для каждого слоя сначала высчитываются контура изображений, и строится трехмерная модель не по всем точкам среза, а по контурам, что соответственно требует меньше машинной памяти. Проблема в том, что данные срезов там запакованы в их формат, т.е. я не могу подставить свои данные.
    У меня есть демо-версия другой программы, она позволяет загружать мои сечения и получать трехмерную модель. Т.е. все как надо. Но если в той программе (что на видео) сечения строятся по контурам, то в этой (что у меня) строятся по сечениям. И памяти она требует уже больше. Но проблема в том, что она реализована на Qt, и исходников, конечно же мне не дали. Мне нужно тоже самое реализовать именно на Delphi.
    Заявлено, что обе программы используют OpenGL.

    P.S. Понятия "слой", "срез" и "сечение" в томографии равнозначны. Поскольку слово "slice" переводится в разных источниках по-разному! Может быть вас именно слово слой и смутило)
     
  6. sinkopa

    sinkopa Well-Known Member

    Регистрация:
    17 июн 2009
    Сообщения:
    344
    Симпатии:
    9
    Возможно просто у Вас не получается с первого раза правильно вопрос задать? :)
    OpenGL - это средство ВИЗУАЛИЗАЦИИ трехмерных объектов. Использование OpenGL (указанными Вами программами) начинается с момента, когда имеется что отображать... Т.е. самостоятельно эти объекты он не строит и ни про какие слайсы не знает.
    Поэтому копать Вам нужно (на данном этапе) не в сторону OpenGL, а в сторону специализированных библиотек (или алгоритмов) которые по Вашим "контурам" построят описание 3D объекта.
     
  7. skeydee

    skeydee New Member

    Регистрация:
    18 дек 2011
    Сообщения:
    4
    Симпатии:
    0
    В вашем ответе какое-то двумыслие кроется, то вы говорите, что OpenGL начинается с визуализации (т.е. с его помощью можно построить объект), то говорите, что OpenGL там вообще ничего не строит (т.е. не используется). OpenGL - это средство визуализации, это да, вот с помощью него мне и нужно визуализировать мои данные. Данные ИМЕЮТСЯ! Проблема в том, что я не знаю как их визуализировать.
    Какое описание объекта? Зачем оно? Нужно просто вывести как-то картинку за картинкой (послойно), и таким образом получить трехмерное изображение. Неужели не понятно?
    P.S. В указанных программах ТОЛЬКО визуализация и используется, я подаю им набор данных (bmp изображения) и они строят трехмерное изображение объекта. По сути как-то нужно вывести одно изображение, изменить координату по z и вывести второе изображение и так далее. Может кто-нить знает, как загружить картинку средствами OpenGL, при этом указать прозрачный цвет и его не выводить?

    Не нежно тут умничать, если с такой областью вы не сталкивались. Мне сказали, что отталкиваться нужно от октодеревтьев и рендеринга, которые можно реализовать с помощью OpenGL.
     
  8. sinkopa

    sinkopa Well-Known Member

    Регистрация:
    17 июн 2009
    Сообщения:
    344
    Симпатии:
    9
    Хм... Ну прежде всего (я думаю народ со мной согласится) "не нежно" тут хамить если не сталкивались с OpenGL... :)
    Октодеревья - это и есть математическое описание объекта, которое (если вы его "подсуните" движку OpenGL) он OpenGL Вам отобразит (читай визуализирует, произведет рендеринг)
     
  9. skeydee

    skeydee New Member

    Регистрация:
    18 дек 2011
    Сообщения:
    4
    Симпатии:
    0
    Ну опечатку допустил. Оскорблять или хамить кому-то я не хотел. Реально по делу ничего не было сказано, что здесь, что на другом форуме. Область так-то не простая, и все, сотрясая воздух, пытаются что-то посоветовать, что по сути ко мне вообще никак не относится. Мне до сир пор кажется, что никто не понял сути вопроса. Просто я человек работающий в науке, причем долгое время. Поэтому я надеялся, что кто-то приведет реальное решение, с некоторым объянением того, как это всё реализовать. Прежде чем советовать, кто-нибудь пробовал это реализовать? Кто-нибудь делал это ранее? Конечно нет.
    Связался с коллегами из Германии, они мне предоставили для ознакомления пакеты Avizo и Amiro, так же существует пакеты для визуализации VGStudio MAX и VolView, но все они, являясь коммерческими, стоят довольно таки не дешево, если учесть, что из всего функционала мне необходима только сама визуализация, без прочих различных наворотом. Более простого на рынке программного обеспечения я увы не нашел. Так что решения существуют, и задача не тупиковая. Однако я до сих пор не знаю, с чего начать. Просмотрел кучу статей по визуализации в промышленности (в том числе и в томографии), везде описывают, что они (разработчики) добились результатов и всё у них получилось, всё замечательно, но вот как они получали эти результаты - нигде не сказано. На данный момент топчусь на одном месте, не зная в какую сторону мне шагнуть.
     
Загрузка...
Похожие Темы - Послойное Построение Opengl
  1. yyyuuu
    Ответов:
    2
    Просмотров:
    1.061
  2. Gargon
    Ответов:
    5
    Просмотров:
    859
  3. Dragon108
    Ответов:
    2
    Просмотров:
    937
  4. klyblg
    Ответов:
    0
    Просмотров:
    1.524
  5. dannyblinov
    Ответов:
    0
    Просмотров:
    1.236

Поделиться этой страницей