Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2011, 16:36
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
Восклицание Послойное построение в OpenGL

Доброго времени суток!
Никогда не работал с 3D графикой, поэтому такой вопрос: можно ли как-то в OpenGL построить трехмерный объект путем наложения двумерных изображений. Т.е. построить объект послойно.
Если нет, то другой вопрос: можно ли попиксельно построить трехмерный объект (опять же послойно)?
Исходные данные: либо картинки (двумерные изображения), либо массив 512х512, в каждой ячейке содержится интенсивность цвета.
Ответить с цитированием
  #2  
Старый 18.12.2011, 21:46
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Несколько невнятно сформулирован вопрос. На 3-мерный объект, средствами OpenGL накладывается 2-мерная текстура. При этом можно задать способ наложения:
Цитата:
GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_REFLECTION_MAP или GL_NORMAL_MAP
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 19.12.2011, 23:14
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Для того, чтоб было понятно, что требуется сделать, добавил картинку:
http://u.pikucha.ru/i7p9N
Ответить с цитированием
  #4  
Старый 19.12.2011, 23:22
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Конечная цель: из набора данных получить вот такую вот штуку:
http://www.xrayinspectionservice.com/
смотрите видео. правда пока требуется построить объект и вращать его. Остальные манипуляции - это уже потом)
Ответить с цитированием
  #5  
Старый 19.12.2011, 23:24
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Я понял про многослойность, я сказал: "Вопрос задан невнятно". По сабжу можно посмотреть: здесь, здесь, здесь и здесь.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #6  
Старый 20.12.2011, 16:20
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Я понял про многослойность, я сказал: "Вопрос задан невнятно". По сабжу можно посмотреть: здесь, здесь, здесь и здесь.
Что сказано не внятно? что не понятно?
Ответить с цитированием
  #7  
Старый 20.12.2011, 17:04
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Попиксельно возможно, но рессурсоемко (1 кадр будет отрисовываться минуту а то и больше для данного примера). Здесь вообще-то строится обычный 3D-обьект (векторный) а потом с помощью геометрии делается урезание и т.п
Ответить с цитированием
  #8  
Старый 20.12.2011, 21:22
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от YVitaliy
Попиксельно возможно, но рессурсоемко (1 кадр будет отрисовываться минуту а то и больше для данного примера). Здесь вообще-то строится обычный 3D-обьект (векторный) а потом с помощью геометрии делается урезание и т.п
Ну тогда как из вот таких изображение (их около 200 штук):
http://msvitu.com/archive/2007/october/img01-5.jpg
построить трехмерный объект, как показано на видео. Причем еще как-то использовать векторное представление. Я вот ума не приложу.
Ну с помощью фильтрации я смогу допустим получить границы почти всех объектов на картинке, будут просто контура объекта. Может быть с ними тагда работать? В первом приближении в моем случае допустимо строить изображение и по границам, тогда и точек меньше будет. Хотя попиксельно я тоже думаю, что это трудозатратно, особенно если ПК не особо мощный. Но раз уж люди как-то это делают (видео тому пример), значит реально сделать такую программу. Разработчики подобных ПО своими идеями и разработками не делятся, приходится самому как-то искать решение.
Ответить с цитированием
  #9  
Старый 20.12.2011, 21:29
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

В моей практике эта область новая, поэтому если кто поможет хорошими идеями (которые будут реализованы) или мож кто сталкивался с такой областью и есть наработки, то есть вероятность, что ваши реквизиты будут фигурировать в числе разработчиков.
Ответить с цитированием
  #10  
Старый 21.12.2011, 13:26
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Вот в DirectX есть такая Volume texture (трёхмерная текстура). Также знаю, что в MatLab'е тоже это возможно. А в TChart разве нет объёма?
Ответить с цитированием
  #11  
Старый 21.12.2011, 13:34
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Вроде в OpenGL с помощью буффера трафарета можно такую фигню сделать...
Ответить с цитированием
  #12  
Старый 21.12.2011, 14:37
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от AlexSku
Вот в DirectX есть такая Volume texture (трёхмерная текстура). Также знаю, что в MatLab'е тоже это возможно. А в TChart разве нет объёма?
В TChart? Это же извращенство, причем крутить и вращать будет нельзя.... Я на канве построил, псевдо-3D получилось, причем статичное... ни подвигать, ни покрутить. Я смотрел OpenGL, везде только примеры по построению стандартных примитивов... в общем все не то, что мне надо.
DirectX посмотрю, MatLab - это не то, мне надо свое приложение сделать... а я пока только Delphi знаю.
Ответить с цитированием
  #13  
Старый 21.12.2011, 17:56
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

MatLab не такой уж и сложный. Заводите трёхмерный массив и выбираете "просмотр".

А вообще вы представляете, как вы будете просматривать объём? Мы как-то промеривали печку (температура внутри). Я предложил 16 датчиков, расположенных в плоскости. Начальник захотел сразу смотреть весь объём. Я спросил: "Что ты хочешь увидеть"?
Если забыть про вращения, то ваши слои вы можете просматривать, просто вызывая очередной bitmap. Или вы хотите ходить как в тумане?
Ответить с цитированием
  #14  
Старый 21.12.2011, 19:33
skeydee skeydee вне форума
Прохожий
 
Регистрация: 18.12.2011
Сообщения: 11
Репутация: 10
По умолчанию

А Вы видео видели, которое я тут выложил? Всё нужно в точности как там. плоскостью пока не нужно рассекать, пока надо как-то построить объемный объект и вращать его. а уже потом дальше двигаться.
Плоскость за плоскостью я итак в битмапе вывожу, но по сравнению с тем, что сейчас есть на рынке (я про OpenGL), согласитесь, что это не самая лучшая реализация (это про Canvas и BitMap).
Ответить с цитированием
  #15  
Старый 21.12.2011, 21:18
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Картинки только что посмотрел. Хотя раньше я тоже припомнил, как черепушку сканируют, снимают слой за слоем. Но тут надо где-то посмотреть примеры. Вам, например, слои надо показывать, как они были сформированы или вы хотите резать в любой плоскости? И какой объект: человеческий член (голова, пузо)?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025