Unlimited Detail () — программная технология в трёхмерной компьютерной графике, предназначенная для хранения и рендеринга виртуальной трёхмерной сцены посредством облака точек () в режиме реального времени. Технология «Unlimited Detail» разрабатывается австралийской компанией Euclideon с 2004 года, выход SDK планировался осенью 2011 года. Основными разработчиками являются Брюс Роберт Делл и Грег Дуглас.
Вместо SDK для игр компания в итоге выпустила софт для GIS, обеспечивающей фантастическую производительность в работе с данными, получаемыми с лазерных сканировщиков. Демо их географической системы подтвердило реальность технологии.
Основные технологические аспекты «Unlimited Detail» на август 2011 года публично не известны, однако разработчики заявляют, что их технология позволяет отображать на сцене неограниченное количество объектов с очень высокой детализацией без существенной потери производительности. «Unlimited Detail» ставится в противовес полигональной графике, детализация моделей в которой существенно ограничена размером и количеством полигонов. Утверждается, что алгоритм «Unlimited Detail» работает по принципу поискового алгоритма, который определяет направление «взгляда» виртуальной камеры (порта просмотра) и ищет лишь те точки, которые должны быть отрисованы. Точки, также называемые разработчиками атомами, по своей концепции схожи с вокселами и имеют объём 1/64 мм³ (1/4 мм в длину). Разработчики имеют конвертеры, которые позволяют трансформировать полигональные модели в облака точек.
Разработчиками заявляется, что «Unlimited Detail» обладает уникальной инновационностью, которая истекает из того, что технология предоставляет нестандартный подход к представлению графических объектов и их трёхмерному рендерингу и позволяет в реальном времени выводить намного более качественные и детализированные структуры, избавившись от ключевых ограничений полигональных технологий и технологии растеризации. Согласно Euclideon, данная технология предоставит в 100 тыс. раз лучшую графику, чем могут предложить современные компьютерные игры и другие приложения, оперирующие графикой реального времени. «Unlimited Detail» позиционируется как наибольший прорыв в трёхмерной компьютерной графики со времени её становления. Кроме того, «Unlimited Detail» работает исключительно на центральном процессоре и не задействует графический процессор в своих вычислениях.
Описание технологии Основной отличительной особенностью технологии «Unlimited Detail» является способ хранения и предоставления всех объектов сцены — в отличие от доминирующего в компьютерной графике полигонального способа, здесь используются облака точек (). Облака точек по своей сути схожи с вокселями, однако имеют несколько важных отличий. Облака точек, как и полигоны, предназначены лишь для моделирования поверхностей, но не «внутренностей» трёхмерных объектов, как воксели. Вторым отличием является то, что каждая точка в облаке, как и полигон, содержит информацию о своих пространственных координатах, а воксели не содержат своих координатных данных.
В «Unlimited Detail» используется не-растеризационный метод освещения, однако на август 2011 года разработчики его не описали.
Суть чрезвычайно эффективной работы «Unlimited Detail», по словам её разработчиков, заключается в том, что для отрисовки сцены им не нужно загружать, обрабатывать и выводить все объекты, попавшие в поле зрения порта просмотра. На экран выводятся лишь те точки, которые в данный момент времени может увидеть пользователь, и размер одной точки равняется размеру одного пикселя на экране. К примеру, при разрешении экрана в 1024 × 768 пикселей необходимо вывести 786432 пикселей, а значит, точно такое же количество точек. Однако нужно знать, какие именно точки следует выводить, и эту задачу призван решить специальный алгоритм «Unlimited Detail», который, по заявлениям разработчиков, по своей сути очень похож на поисковые алгоритмы. В процессе выбора точек алгоритм определяет направление виртуальной камеры, перекрывание одних объектов другими, определение ближайших к камере объектов, размера объектов. Утверждается, что алгоритм поиска точек выбирает только те точки, которые будут отображены на экране, и «отбрасывает» все остальные, и при этом скорость выборки такова, что возможно создавать плавные анимации. Этот алгоритм назван разработчиками «mass connected processing» ().
В «Unlimited Detail» все данные сцены, все объекты сохраняются в сжатом виде. Более того, по заявлениям Брюса Делла, их алгоритм позволяет обрабатывать эти данные в сжатом виде, не распаковывая. Благодаря этому достигается экономия используемой оперативной памяти. Брюс Делл заявил, что если сравнить два идентичных объекта, один из которых представлен в традиционном полигональном формате, а второй — при помощи облака точек, то размер второго объекта будет лишь около 8% от размера первого.
Согласно заявлениям разработчиков, нет ограничений на размеры и масштабы самой трёхмерной сцены (уровня). Т.е., в отличие от полигональной графики, производительность рендеринга не падает при увеличении детализации и размера сцены. Единственным фактором, снижающим производительность «Unlimited Detail», является разрешение экрана — чем больше разрешение, тем больше точек требуется найти алгоритму, тем больше времени тратится на формирование одного кадра.
Технология «Unlimited Detail» не использует мощности графических процессоров () и работает исключительно на центральных процессорах ().
Утверждается, что «Unlimited Detail» поддерживает анимацию, а также изменяемые и разрушаемые структуры. В марте 2008 года Брюс Делл в интервью сайту tkarena сообщил, что, хотя это и было сложно, его компания добилась реализации анимации такого качества, какое присутствует в полигональных объектах. Геометрия будет полностью изменяемой, причём изменения будут производиться на точечном (атомарном) уровне и останутся постоянными. «Отпечатки ног на песке не будут запечатанными в текстуру, а будут представлять собой реальное изменение геометрии уровня и они останутся, а не исчезнут через 30 секунд», — заявил в интервью Делл.
Заявлена поддержка статического и динамического освещения. Вместе с тем, в марте 2008 года Делл сообщил, что имеется возможность использовать лишь один динамический источник света. Тем не менее, он заявил, что существует теоретическая возможность переработать «Unlimited Detail» таким образом, чтобы поддерживать неограниченное количество динамических источников света.
Согласно заявлениям разработчиков, у них имеется в наличии набор конвертеров, позволяющих преобразовывать полигональные модели в облака точек. Эти конвертеры выполнены в виде плагинов к 3DS Max, Maya и другим программам трёхмерного моделирования. Таким образом, предполагается, что пользователи «Unlimited Detail» будут использовать «классические» инструменты для создания контента, а потом конвертировать уже готовый полигональный контент в облака точек.
SDK Согласно интервью, данному Брюсом Деллом в мае 2010 года, комплект разработки «Unlimited Detail» (SDK) будет иметь следующие особенности: Собственно графический движок «Unlimited Detail». Импортирование данных в формат «Unlimited Detail» из разных источников, среди которых файловые форматы популярных трёхмерный редакторов и 3D-сканеров. Документация и демонстрационные примеры в разных направлениях, включая горное дело, медицину, архитектуру, игры и фильмы.
История Работа над технологией «Unlimited Detail» началась в ограниченном режиме не позже 2004 года силами нескольких энтузиастов из Австралии, основным её разработчиком является Брюс Роберт Делл ().
Первая версия «Unlimited Detail» была предложена к использованию в компьютерной игре «Rome: Total War», которая была разработана Creative Assembly и вышла в сентябре 2004 года. Однако в итоге использование «Unlimited Detail» в игре было отклонено.
19 марта 2008 года сайт TKArena опубликовал интервью с Брюсом Деллом, в котором последний подробно рассказал об особенностях «Unlimited Detail».
В начале марта 2010 года произошел всплеск публикаций касательно «Unlimited Detail», её разработчики опубликовали несколько видеопрезентаций, множество скриншотов и дали интервью. Разработчики заявили, что демонстрационные сцены состояли из приблизительно 8 миллиардов точек, отрисовывались в реальном времени со скоростью 25 кадров в секунду на одном ядре центрального процессора. Некоторые журналисты скептически отнеслись к данным видеодемонстрациям, поскольку на них были представлены только статические сцены безо всякой анимации, плохая система освещения без динамических источников света и тени, ярко выраженная зернистость изображения и т.д. Были высказаны предположения, что технология «Unlimited Detail» эффективна лишь в задачах построения и вывода «чистой» геометрии сцены, и не сможет предложить эффективные альтернативные подходы в других областях компьютерной графики.
Также в начале 2010 года Правительство Австралии выделило стартапу Брюса Делла грант в размере около 2 млн. австралийских долларов (около 2,2 млн. долларов США по курсу того времени)
В мае 2010 года, благодаря гранту от правительства, Брюс Деллн основал частную компанию Euclideon Pty Ltd, которая базируется в городе Брисбен (административный центр штата Квинсленд) и основной целью которой является дальнейшая работа над «Unlimited Detail». На этот момент в компании работало девять сотрудников, и было заявлено, что через некоторое время штат компании будет расширяться.
В конце августа 2010 года в интервью журналу Брюс Делл сообщил, что его компания вместе с другой австралийской компанией Auran, специализирующейся на разработке игр, активно работают над SDK, предназначенного для коммерческого релиза. При этом запланированная дата выпуска названа не была.
Демонстрация 1 августа 1 августа 2011 года Euclideon опубликовала новое видео, демонстрирующее «Unlimited Detail», в своём профиле на сайте YouTube, (от 240p до 1080p) которое тут же было замечено и освещено многими игровыми ресурсами. В видео Брюс Делл отметил, что за год с момента последней демонстрации разработчики значительно продвинулись вперёд в плане доработки «Unlimited Detail», однако отметил, что разработка ещё не завершена и продолжается.
В демонстрации сначала были представлены прошлогодние (2010 год) наработки, а потом новые наработки, на основе которых был показан прогресс технологии за последний год. В качестве новых материалов был показан смоделированный при помощи облака точек виртуальный остров площадью в 1 км², который в изначальном состоянии содержал 21062352435000 (21 триллион; 1 триллион = миллион миллионов) полигонов. Потом все полигональные структуры были переконвертированы в облака точек, причём одна точка имела объём 1/64 мм³ или 1/4 мм в длину. Результирующая сцена — остров с ландшафтом, деревьями, травой, камнями и прочими структурами, — и была показана на демонстрации.
В конце демонстрации Делл сообщил, что SDK для разработчиков появится осенью 2011 года, а также то, что работы над совершенствованием технологии продолжаются, и основным направлением, над которым теперь сосредоточатся разработчики, является система освещения, которая в представленной демонстрации смотрится довольно блекло и плоско.
Обзоры, отзывы и критика
Отзыв Джона Кармака Джон Кармак, известный американский программист и разработчик игровых движков, в ответ на августовскую демонстрацию «Unlimited Detail» написал в своём блоге в Твиттере, что создание игры, основанной на этой технологии, невозможно на современном (седьмом) поколении игровых консолей и конфигурациях ПК. Кармак отметил, что, возможно, через несколько лет подобные технологии и станут использоваться в компьютерных играх, однако для этого их разработчикам придётся решить много трудностей.
Отзыв Маркуса Перссона и полемика вокруг него Первоначальное сообщение