Comments 32
Интересно.
А вот на такой вопрос сможете ответить: в openGL 4 есть трассировка каустики?
А вот на такой вопрос сможете ответить: в openGL 4 есть трассировка каустики?
0
Ну, встроенной, наверно нет, но каустику можно нарисовать и средствами более ранних opengl.
+1
Действительно, даже старые версии позволяли это:
http.developer.nvidia.com/GPUGems/gpugems_ch02.html
www.gamedev.ru/code/articles/caustic
А возможности взаимодействия openGL4 с вычислениями на GPU без необходимости гонять данные в оперативку компьютера, а потом обратно в буфер оперативки видеокарты, наверняка позволят сделать довольно сложные отображения в реальном времени.
Вот, кстати отличная иллюстрация построения простой каустики в реальном времени (обычный webGL, каустика, к сожалению, работает лишь в хроме):
madebyevan.com/webgl-water/
http.developer.nvidia.com/GPUGems/gpugems_ch02.html
www.gamedev.ru/code/articles/caustic
А возможности взаимодействия openGL4 с вычислениями на GPU без необходимости гонять данные в оперативку компьютера, а потом обратно в буфер оперативки видеокарты, наверняка позволят сделать довольно сложные отображения в реальном времени.
Вот, кстати отличная иллюстрация построения простой каустики в реальном времени (обычный webGL, каустика, к сожалению, работает лишь в хроме):
madebyevan.com/webgl-water/
+1
А кто-нибудь может мне объяснить, доросли ли современные мощности видеокарт для отрисовки в реальном времени освещения методом трассировки лучей? Или все же там применяются какие-то упрощения и ухищрения?
0
В Octane точно есть каустика (пр. www.octanerender.com/forum/viewtopic.php?f=6&t=9448 ), но сам с ним не разбирался, так как осх-версии до сих пор нет. Вообще все анбиасы для большинства действительно скорее поиграться, я не знаю ниодного фрилансера, например, который бы на анбиасах считал 3д. В то же время знаю студию, которая мультики в Максвелле рендерит. Интересно, что дальше будет.
ps А Keyshot почему забыли?
ps А Keyshot почему забыли?
0
1. Отсутствует интерактивная визуализация (картинку нельзя покрутить в реальном времени), однако при использовании 2-х видеокарт iRay рендерит интерактивно (не знаю, как на счет geforce, но при использовании quadro + tesla работает точно).
Если про ActiveShade — то оно есть, но в Subscription Advanced Pack.
Тук
Если про ActiveShade — то оно есть, но в Subscription Advanced Pack.
Тук
0
Пардон, парсер убрал ссылку:
usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=15451618
usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=15451618
0
Cycles после одной минуты на GPU:
Ролик для желающих посмотреть, как работает в реальном времени:
vimeo.com/27409184
Ещё много видеоуроков по Cycles: cgcookie.com/blender/category/tutorials/cycles-tutorials/
Про небо, а что вы понимаете под физ. небом? В Cycles можно организовать освещение по hdr-окружению (пример) или сгенерировать текстуру неба с помощью ноды «Sky texture».
«Cycles: Добавить SSS» — можно сымитировать с помощью разных материалов. Да, это не настоящий SSS, но если никому не говорить, никто не догадается =)
Что касается LuxRender, он вообще стоит на отдельном пьедестале: пока люди разбираются с отключённой каустикой в Octane, LuxRender по умолчанию работает в полном спектре (а не RGB), в воздухе при температуре 25 градусов и имитирует существующие модели камер при цветокоррекции.
Ролик для желающих посмотреть, как работает в реальном времени:
vimeo.com/27409184
Ещё много видеоуроков по Cycles: cgcookie.com/blender/category/tutorials/cycles-tutorials/
Про небо, а что вы понимаете под физ. небом? В Cycles можно организовать освещение по hdr-окружению (пример) или сгенерировать текстуру неба с помощью ноды «Sky texture».
«Cycles: Добавить SSS» — можно сымитировать с помощью разных материалов. Да, это не настоящий SSS, но если никому не говорить, никто не догадается =)
Indigo, Lux рендеры не тестировались, т.к. не являются 100% GPU рендерами.А вот это зря. 100%-го GPU-рендеринга в природе не существует, это изобретение маркетологов. Всякие расчёты замкнутых пространств, сортировки и процедурные генерации нетривиальных текстур всегда будут на CPU, ибо векторизовать там практически нечего. А вот пустить тысячи лучей во всех направлениях — это как раз задача GPU во всех движках, где GPU используется.
Что касается LuxRender, он вообще стоит на отдельном пьедестале: пока люди разбираются с отключённой каустикой в Octane, LuxRender по умолчанию работает в полном спектре (а не RGB), в воздухе при температуре 25 градусов и имитирует существующие модели камер при цветокоррекции.
+4
Забыл сказать, что моя видеокарта GeForce GTX 275 достаточно старая и современные видеокарты могут выдают картинку выше в разы быстрее.
0
Physically based sky присутствует почти во всех пакетах, обычно позволяет задавать географические координаты и дату/время, исходя из этого строит освещение: ставит солнце и красит небо. Ести нода Sky texture позволяет это делать, то это и есть физ. небо
0
как-нибудь потестю :)
Очень жаль, что отсутствуют универсальные стандарты в рендерах.
Вот есть шейдеры для OpenGL, которые можно вставить в любой движок, и материал будет вести себя как надо.
А вот с трассировщиками пути так просто дело не стоит. Созданные в Максвелле материалы — в iRay никак. Каждая организация «гнет свою линию».
Очень жаль, что отсутствуют универсальные стандарты в рендерах.
Вот есть шейдеры для OpenGL, которые можно вставить в любой движок, и материал будет вести себя как надо.
А вот с трассировщиками пути так просто дело не стоит. Созданные в Максвелле материалы — в iRay никак. Каждая организация «гнет свою линию».
0
А где скачать саму сцену?
0
Поторопился про «без каустики»: Photon Race 2 by Archee.
0
Люди, кто-то видел smallluxgpu под винду?
0
И еще вопрос программистам.
Вот существует madebyevan.com/webgl-path-tracing/ трассировщик пути на web-gl. Выходит, для рендеров вовсе не нужды во всяких там CUDA, OpenCL, достаточно просто писать программу на шейдерах. Я слышал (не могу найти ссылку), что на шейдерах и физику можно писать.
Если язык шейдеров, использует вычислительные ядра GPU, и отлично работает с float, почему существуют CUDA, Firestream, PhysiX и прочие?
Вот существует madebyevan.com/webgl-path-tracing/ трассировщик пути на web-gl. Выходит, для рендеров вовсе не нужды во всяких там CUDA, OpenCL, достаточно просто писать программу на шейдерах. Я слышал (не могу найти ссылку), что на шейдерах и физику можно писать.
Если язык шейдеров, использует вычислительные ядра GPU, и отлично работает с float, почему существуют CUDA, Firestream, PhysiX и прочие?
0
Насколько я могу догадываться (а я довольно нуб в теме CUDA-и-пацаны), причины примерно две:
- CUDA появилась раньше, чем GL/D3D-биндинги к шейдерам дали возможность делать аналогичное, а железо уже умело
- GL/D3D всё же
рассчитаногвоздями забито на расчет и вывод графики пользователю в глаза, поэтому там свой собственный конвейер, другие требования к точности и прочая, прочая
0
Традиционное объяснение — разные технологии с разными возможностями. Например, OpenCL умеет выполнять вычисления одновременно и на CPU и на GPU. Но результатом является крайне сложный для понимания код (на мой взгляд). CUDA имеет красивый си-подобный синтаксис и специальные оптимизации в компиляторе. Все эти технологии в чём-то особенны и удобнее других.
А вот что выходит на практике:
А вот что выходит на практике:
- Microsoft-у выгоден DirectX+ HLSL для игр и AMP для вычислений, поскольку привязка приложений к нему означает привязку к продуктам Microsoft
- Mac OS, Linux и прочим осям выгодны OpenGL и GLSL, поскольку разрабатываются независимой компанией, которая не станет требовать отчислений
- CUDA железно выгоден только NVIDIA
- FireStream железно выгоден только AMD
- OpenCL не выгоден никому, поскольку разрабатывает его независимая организация, а реализация общедоступного стандарта не даёт возможности производителям привязать программы к своему оборудованию. На практике это выражается в медленном переходе на новые версии стандарта OpenCL по сравнению со скоростью перехода на новые версии CUDA и FireStream.
0
кстати, да!
Надо сказать, что GLSL возможен практически на любых видеокартах и при любых осях.
Но почему, тогда все кинулись делать трассировщики пути на CUDA, а никак не на шейдерах, которые появились значительно раньше CUDA.
Надо сказать, что GLSL возможен практически на любых видеокартах и при любых осях.
Но почему, тогда все кинулись делать трассировщики пути на CUDA, а никак не на шейдерах, которые появились значительно раньше CUDA.
0
Забавно, что я, например, наоборот о трассировщиках на CUDA не слышал совсем ничего, а на шейдерах — уймищу всего. Да и по ссылкам, которые я привел выше, как раз такие шейдерные трассировщики и есть.
На самом деле для трассировки лучей от шейдеров нужны как минимум две вещи: (а) честная поддержка ветвлений и циклов (они появились, емнип, в GLSL 1.20), (б) довольно большой допустимый размер программы. Все это стало массово доступно где-то в районе 2005 года, хотя, например, мой ноутбук 2007 года напрочь не умеет ветвиться, и инструкций во фрагментном шейдере у него может быть всего 64 штуки — каши особой не сваришь.
На самом деле для трассировки лучей от шейдеров нужны как минимум две вещи: (а) честная поддержка ветвлений и циклов (они появились, емнип, в GLSL 1.20), (б) довольно большой допустимый размер программы. Все это стало массово доступно где-то в районе 2005 года, хотя, например, мой ноутбук 2007 года напрочь не умеет ветвиться, и инструкций во фрагментном шейдере у него может быть всего 64 штуки — каши особой не сваришь.
0
Предположу обратное: OpenCL более выгоден разработчикам ПО, т.к. не привязывается к конкретному производителю железа. Разработчик ПО на CUDA рискует пострадать, например, от внезапного повышения цен на карты NVIDIA. И спрос на его ПО упадет из-за того, что оно не универсально и не работает на картах других производителей. ИМХО.
0
OpenCL спонсируется Apple и впервые как полноценной реализация появился именно в Mac OS X 10.6.
На текущий момент (да и самого начала) openCL был на маке из коробки причем и для gpu и cpu сразу.
Шейдеры напрямую очень редко используются в мак программах, любая программа может использовать openCL причем без ограничений в стиле невозможен больше запуск граф программ и тд.
Я думаю что openCL это будущее, при должной степени старания вендоров
На текущий момент (да и самого начала) openCL был на маке из коробки причем и для gpu и cpu сразу.
Шейдеры напрямую очень редко используются в мак программах, любая программа может использовать openCL причем без ограничений в стиле невозможен больше запуск граф программ и тд.
Я думаю что openCL это будущее, при должной степени старания вендоров
+1
Немного промазал с ответом (см. выше)
0
Обнаружил исходники Октана… это кому надо было их выкладывать?
thepiratebay.org/torrent/6735365/Octane_Render_Source_Code
thepiratebay.org/torrent/6735365/Octane_Render_Source_Code
-1
Sign up to leave a comment.
Трассировка пути на GPU, часть 2