Это, кстати, как раз именно то, чем воксели и занимаются — построение поверхности по близлежащим точкам, а они с гордостью 60fps на GeForece 280 GTX(!!) выжимают. www.youtube.com/watch?v=VpEpAFGplnI
Ну да, можно и вообще 4мя double передавать :) glVertex4d(...) Просто я про минимальный случай говорил… Кстати прозрачность для них вообще проблемкой будет, я думаю… если они ищут только БЛИЖАЙШИЙ пиксел который будет виден — то найти какие позади этого ближайшего — может и проблемой быть, о которой я не подумал еще.
Про воксели — да, но как-то я даже и не знаю куда их было бы вписать. Как-то, как и у всей индустрии — мозги в контексте полигонов работают. :)
Все верно, конечно можно. Сделать их алгоритм в железе. Проблема в том, что хоть это и возможно — но это индустрии игр сейчас не нужно. У них уже есть инструменты, художники и рабочий процесс заточенный под полигоны. Переделывать это все — им нужен стимул. Просто факт того, что там будет куча деталей и им придется в разы больше работы делать + отказаться временно от эффектов — это вряд ли их простимулирует.
Я об этом и говорю, что если знать с какими другими точками связана эта точка — конечно можно :) А знать это можно только если есть треугольник или полигон. Я ж там и уточняю, что речь про честные поля точек, в которых просто разбросаны точки и нет между ними связи. А вот задача поиска соседней точки и вообще построения поверхности по облаку точек — тоже нетривиальна и не факт что в реальном времени ее можно решить.
Кстати говорят, что обучение перед полетом всего 45 минут.
Правда шумный, зараза. На видео-то музычкой зажали, но видел другое с реальным звуком — впечатляет.
Ну из того, где я ковырялся — современные игрушки очень эффективно все используют. Там просто процессорики-то простенкие в видеоплате, хоть их и очень много. Они толком и заточены только чтобы матрицы и вектора перемножать.
Кстати расстрою Вас, на ваших 8 гигах, потребуется не 30 гигов, а 60 гигов. :) Дело в том, что то, что я привел в статье — данные для 32 битных машин (да, сглупил, у 32-биток не может быть 32 гигов), для 64-битных — все данные в два раза возможно придется увеличивать — не знаю, честно говоря, не писал под 64-бита ничего. :)
Мелькают у них как минимум тени (они сами говорят, что параметры shadow mapping не успели оттюнинговать для демки), но иногда и правда кажется что куски геометрии мелькают. Про LOD они наоборот говорят, что это их преимущество, что не нужно использовать. Про инстансинг — да, у меня тоже такая крамольная мысль родилась на первой сцене :) но сцена в джунглях ее развеивает.
Эээээхххх… прямо мою тему затронули… задача у меня та же — хотелось взять и отснять подмосковный городишко на 50000 жителей (всего-то 300 домов) и сделать 3D карту… казалось все так просто и должно быть уже в 2006 году было это решено быть ))
Если бы Вы знали сколько лет я уже изучаю для этого фотограмметрию и общаюсь с самыми большими умами (профессорами, докторами наук) в этой области, которые мне говорят: «нету готовых решений, все половинчатые… кое-как кое-чего можно, но далеко не все удается пока что»…
Вот это (восстанавливал сам с помощью нескольких разных технологий — это две лицевые стены дома и почти 300 фотографий из двигающейся машины):
было чуть ли не значительным достижением в 2007 году. Бело-зеленые полосочки — откуда снят кадр, сине-белые точки — всего лишь те точки, что удалось восстановить. Но и то этим нельзя пользоваться в коммерческих, например, целях — почти все алгоритмы в этой области используют патентованный алгоритм (SIFT) нахождения точек, который никто превзойти толком не может. Да и результат, в общем-то едва ли можно считать «настоящим 3d» :) так — куски стен, хоть и очень точно расположенные.
Но даже чтобы это сделать — мне пришлось четыре разных трека по 50 кадров склеивать.
Наиболее близкое к тому, что Вы хотите описывается в этом TechTalk от Google, полу-военная разработка с использованием лазеров и кучи студентов: www.youtube.com/watch?v=Y6fAszlImPM (только чего-то YouTube брыкается, не хочет показывать… заговор?)
Конечно сейчас и значительно более лучшие вещи делают. Но об этом может как-нибудь в другом топике.
Вообще по этой теме долго могу писать :)
Не думаю, по сути воксель — та же точка, только с радиусом. Другой вопрос что чтобы из массива вокселей сделать объемный объект, типа воды — вот тут уже мощности нужны. И тут уже фиг знает — сможет ли их движок хорошо отрисовывать пространство МЕЖДУ довольно далеко отдельно стоящими точками. Тут я даже предположить не могу.
Верно :) Фотограмметрия (3d точки из фоток) это и есть та область, где я сталкивался с облаками точек и их редакторами. Только Photosynth на самом деле не совсем исходная технология — исходная для нее — это Phototourism и он же — любимый оперсорцовый Bundler.
Да, но тогда смысл теряется — в разы больше рассчитывать, гораздо больше мощности надо. Там от полигона точке нужна только нормаль. И смыла ради этих трех дополнительных координат делать ее полигоном — нету.
А это по сути Вы tesselation и описываете (точнее — displacement maps, которые реализуются методом tesselation). Третье видео, которое такое черно-белое с сеточками. Есть полигон плоский и описание того насколько каждая точка из него выползает, вползает. Но полигоны тоже не так уж легки в отсечении (но по крайней мере для них уже много пускай сложных, но алгоритмов и технологий).
По сути все эти occlusion culling и направлены на то, чтобы не просто тупо шейдеры гонять, а очень только необходимые. Современные игры и движки (CryEngine, Unreal, Unigine, Unity3D) очень умны, чтобы предельно малое количество данных рендерилось, чтобы выжимать все что можно.
А если Вы не про 3D, а вообще чтобы мощность использовать — CUDA уже во всю развивается, да и OpenCL скоро будет.
Если Вы имеете в виду 3D видео, которое не-Аватар и не-Шрек, которое не имеет 3D моделей, а снимается просто двумя камерами… то там надо использовать стерео-алгоритмы и алгоритмы фото(видео)грамметрии… а в них косяков пока что много. Тут больше скорее подойдер лазерное сканирование поверхностей. Но оно очень дорогое пока что развлечение.
Про воксели — да, но как-то я даже и не знаю куда их было бы вписать. Как-то, как и у всей индустрии — мозги в контексте полигонов работают. :)
Правда шумный, зараза. На видео-то музычкой зажали, но видел другое с реальным звуком — впечатляет.
Наслаждайтесь — там HighRes видюхи есть.
Если бы Вы знали сколько лет я уже изучаю для этого фотограмметрию и общаюсь с самыми большими умами (профессорами, докторами наук) в этой области, которые мне говорят: «нету готовых решений, все половинчатые… кое-как кое-чего можно, но далеко не все удается пока что»…
Вот это (восстанавливал сам с помощью нескольких разных технологий — это две лицевые стены дома и почти 300 фотографий из двигающейся машины):
было чуть ли не значительным достижением в 2007 году. Бело-зеленые полосочки — откуда снят кадр, сине-белые точки — всего лишь те точки, что удалось восстановить. Но и то этим нельзя пользоваться в коммерческих, например, целях — почти все алгоритмы в этой области используют патентованный алгоритм (SIFT) нахождения точек, который никто превзойти толком не может. Да и результат, в общем-то едва ли можно считать «настоящим 3d» :) так — куски стен, хоть и очень точно расположенные.
Но даже чтобы это сделать — мне пришлось четыре разных трека по 50 кадров склеивать.
Наиболее близкое к тому, что Вы хотите описывается в этом TechTalk от Google, полу-военная разработка с использованием лазеров и кучи студентов: www.youtube.com/watch?v=Y6fAszlImPM (только чего-то YouTube брыкается, не хочет показывать… заговор?)
Конечно сейчас и значительно более лучшие вещи делают. Но об этом может как-нибудь в другом топике.
Вообще по этой теме долго могу писать :)
А если Вы не про 3D, а вообще чтобы мощность использовать — CUDA уже во всю развивается, да и OpenCL скоро будет.