Как создать свою 3D-графику? Рейкастинг
Vložit
- čas přidán 1. 02. 2021
- Курс GAMECODE от XYZ: bit.ly/3FZhBjF
Демо в браузере:
3D: ArtemOnigiri.github.io/RayCas...
2D: ArtemOnigiri.github.io/RayCas...
Код:
3D: github.com/ArtemOnigiri/RealT...
2D: github.com/ArtemOnigiri/RayCa...
Пересечения с лучом: www.iquilezles.org/www/articl...
Панорама: commons.wikimedia.org/wiki/Fi...
В этом видео я рассказываю о том, как программировать свою 3D-графику с нуля используя рейкастинг - Věda a technologie
Я тут еще посмотрел вышедший сегодня ролик про шейдеры czcams.com/video/edUN4XQpJP4/video.html И по-быстрому перенес эту 3D-графику на js, чтобы можно было запустить в браузере. Добавил в описание
Чем правее тем краснее....... Красный должен быть СЛЕВА.....
Видео заблочилось у меня. Типо присутствует реклама
Демки работают только в браузере на ПК? На планшете 2д показывает криво (одна окружность наложилась на камеру), 3д не открылось вообще (показало чистую светло серую страницу)
Артем привет подскажи пожалуйста! Видео было вроде у тебя про стрелки типо если одна в одну сторону смотрит то другая в другую, если их поменять они моментально меняются, даже если они находятся друг от друга в 1млрд световых лет
Я когда узнал что означает название канала: серьёзно?)
Замечательный ролик, Артем :)
Ждем еще твой)
Нет блин, плохое фото яша
@@frotechannel2945, да драник, нормальная гифка, Влад.
@@OnigiriScience У него уже есть
Самый ожидаемый аниме кроссовер
Честно, ничего не понял, но действительно интересно и появляется желание разобраться в этом, спасибо.
Я тоже ничего не поняла. И не пойму. Мне нравятся картинки🥰🥰🥰🥰😍
+
Начало видео: Я напишу небольшую программку на C++
Третья минута видео: И вот я вставил эту формулу в Java Script
:)
Просто многие программы могут выполнять код из других программ других языков программирования
Вектозавр где то начал икать
ну типа
@@vectozavr вхах
Хвзасзсзсз
В школах даже особо не говорят сути оперирования с векторами, узнаю за 20 минут больше, чем за школьную программу на год
Когда мысленно ставишь синусу и косинусу лайк.
Лол, у нас в школе просто дали базовый курс понимания программ на паскале, про какой-либо граф. интерфейс вообще не слышали
Главное что в школе не забывают напоминать сдать деньги.
потому что векторы - это линейная алгебра, вузовская дисциплина, вышмат
@@Nidere в седьмом классе на геометрии учат определение отрезка, прямой, луча и вектора, нет?
Мне так нравится когда автор говорит "просто". Просто нужно вычесть тут прибавить там, помножить на это.... И ты такой сидишь уже 10 минут потерянный смотришь и думаешь... Да, впринципе просто :D Без шуток, очень круто, ОЧЕНЬ)
Мечта, а не видео...
И C++, и SFML, всё когда-то начиналось, но не закончилось
аххаха, тоже про этр подумал :-)
А мне аж вернутся захотелось, так мало слов по сравнению с glfw3)
сижу и плачу теперь
В каком месте там с++ ? ;)
@@inbuckswetrust7357, glsl шейдеры почти язык Си. Сама main точка входа на С++. Любой, кто имеет VS и подключенный SFML 2.5 может без труда откомпилировать проект
@@inbuckswetrust7357 Я тоже увидел больше C, чем C++.
Именование переменных ужасное.
Был бы профессиональный канал по кодингу, это был бы однозначный диз. А тут - даже не знаю. Такое себе.
Очень интересно, прям программа на глазах рождается о.о интересно было узнать поднаготную работы некоторых инструментов в управлении блендера
Скоро будете создавать собственную симуляцию вселенной))
А Коннор булочка.
можете скачать исходники блендера и посмотреть подноготную всех инструментов
там С++ код
человек швейцарский нож
может ты ещё и документалки про теорию темной материи смотришь?
Ты везде, вот прям везде.
@@0x4f6c чел ты...
такс, значит это 1 часть видео про рей трейсинг?
Ну да, вроде
Именно
Ну типо
Майнкрафт: Добавляют RTX
Onigiri: Звучит как вызов
Снова привет!
Онигири, который сделал его за пол дня: ничтожество
Без лайков мы тебя не оставим, такой контент заслуживает в сотни раз больше всего, что ты пропишешь в переменную положительных отзывов)
Боже, Онигири - самый милый математик, что я вообще видел в жизни.
Он, который ещё и программист:
Не понял
Он не математик
Блин, ты своими работами убиваешь нашу самооценку! Продолжай! )
Спасибо! Ты чудо! на одном дыхании просто. Жду с нетерпением продолжения!
Только смотрел старые вилео))) спасибо за новое видео!
Прекрасное объяснение, надеюсь почаще видеть такие видео у вас на канале!
Очень хорошо. Ждем вторую часть))
УОУ!)) Хотел про рейтрейсинг как раз узнать поподробнее!)) Это будет оч вкусненько!)) ЖДУ!))
Жду с нетерпением вторую часть!
только завтра хотел разобраться в этом, а тут такое видео
спасибо!
Только начал смотреть, походу это, что я так долго искал! Спасибо!
Проснулся утром, увидел, что вышел видос, но нужно было в школу. Вернулся домой, и смотрю видос, хотел поставить лайк, а он уже стоит
Онигири: *делает рей трейсинг с нуля с помощью C++, SFML и GLSL*
NVIDIA: oh shit)
Ага, как дойдет до пересечения треугольника с лучем и обходом BVH (именно эти две вещи и реализованы аппаратно в ядрах RTX) станет понятно, зачем, собственно этот RTX нужен.
nVidia ничего нового не изобрела. Они лишь сделали аппаратное ускорение для RayTracing'а который сам по себе известен ещё с довоенных времён. Студенты-архитекторы 15 лет назад рендерили [на CPU] сцены с лучами для курсовых проектов в 3dMax'е. Это занимало 2~3 дня, но это работало уже тогда.
@@alexkart9239 Так про все можно сказать :) Типа Боинг ничего нового не изобрел после братьев Райт. Любую исследовательскую деятельность очень легко обесценить такими высказываниями. Да, рейтрейсинг был известен еще до Нвидии. Да и сейчас на ЦПУ продолжают очень даже рейтрейсить всякие оффлайн рендерилки (так, в реализации от Нвидии есть ограничение на рекурсию в 31). Однако Нвидия сделала аппаратный рейтрейсинг "модным", сделав его а 10 раз быстрее. Казалась бы ничего революционного, но на 60фпс в игру уже можно поиграть, а на 6-ти - нет. Да, на 90% это маркетинг, но нам, программистам графики, это на руку. Нам дали новый, мощный инструмент. Грех его не изучить и им не пользоваться.
@@holy-del я ничего не принижал и не отрицал достижений. Просто мы сейчас в треде под комментом чела, который (судя по всему) думает, будто трассировка луча - это новая технология, которую придумали в nVidia.
@@alexkart9239 не чел, я так не думаю, это просто рофл коммент...
Ты меня вдохновил на некоторые размышления. Я не нашёл в сети модели того, как видят, например, летучие мыши. Есть условные схемы, но реализации как таковой - нет. Мы часто привыкли видеть объём картинки исходя из возможности восприятия свето-тени. Интересно, как бы выглядел мир, если бы наши рецепторы не воспринимали свет, а, например, мы бы использовали эхолокацию. Т.е. получается, что для нас точка на объекте являлась бы более выраженной, если бы она была ближе к нам, в независимости от влияния света на объект. При этом бы строилась иллюзия многомерности пространства. Интересно, есть ли понятие двухмерности при таком зрении? По сути плоский объект будет иметь разноудалённые точки от зрителя, соответственно для летучей мыши квадратная доска выглядит чётким радиальным градиентом.
В целом эти размышления романтизируются воспоминаниями о ранее узнанном факте, что некоторые слепые люди используют принципы фундаментальной эхолокации для ориентации в пространстве. Т.е. так или иначе наш мозг имеет возможность восприятия пространства в виде отражающихся лучей звука. Интересно, начинают ли слепые люди видеть объём пространства опираясь на звуки или они этот объём только себе додумывают? И что на счёт людей, которые были слепыми с рождения?
Возможно, если бы наука двигалась в направлении обучения человеческого восприятия альтернативными способами, то слепые видели бы свой 3D-мир и даже можно придумать 3D-графику для слепых, отчего бы они ещё лучше обучались, например играя. Кстати, вроде бы движок Frostbite (игра Battlefield) имеет возможность генерировать отражённый от объектов звук (так они хотели добиться реалистичных звуков в играх).
Чуваки, которые умеют кодить примитивную графику, могут по сути воссоздать вид окружения, который рендерится с помощью трассировки "аля-звуковых" лучей. Если кто-то этим займётся или кто-то видел подобное - прошу меня в наблюдатели, очень любопытно. Забавно ещё, что если учесть ограниченность скорости лучей (например, звука), то, вероятно, слишком удалённые объекты при перемещении взгляда наблюдателя будут перерисовываться с некой задержкой, т.е. будет эффект пьяного размытия.
Ахуеть
спасибо дружище, как всегда отлично обьясняешь, все по полочкам
Спасибо за сказку на ночь для меня)
Буду ждать следующее видео с нетерпением.
очень очень круто, спасибо большое! жду продолжения!
- Какая разница, мальчик, выхожу я - не выхожу, главное - чтобы ты хорошо учился!
Всегда это вспоминаю, когда смотрю твои видео. Молодец
Видео классные, только я ничего не понимаю...
Обожаю тебя! Смотрю каждый ролик! Очень интересные видео!
Это именно то что нужно для моего движка! Спасибо большое за обучение чувак :)
Твои видео должны показывать в школах на информатике, это невероятно качественный контент 🔥👍
12:37 в Блендере, кстати, есть интересная реализация для поворота камеры, можно также взять на заметку: там курсор не закреплён, а просто при достижении края экрана переносится на противоположную сторону.
Отлично рассказываешь, мое почтение! Даже практически понятно)
Спасибо за инфу без воды! : )
Очень интересный ролик, спасибо Вам и успехов!
Гуманитарии упали в обморок.
Как всегда отличное видео!
=)
Классное видео. Ты большой молодец. Смотрю с наслаждением) Ты вдохновляешь
Люблю твои видео и рэйкастинг)
Интересные темы! И полезные очень, к тому же!
Это лучшее что я видел по программированию
Очень интересно и круто!
Ну, и в качестве идей для будущих роликов могу предложить воксельную графику, довольно интересная штука.
Как мне повезло, что я наткнулся на такой канал, где мне не все понятно, но все равно интересно)
Отличное видео, спасибо за качественный контент
видосик шикозный, мне прям интересно что будет дальше...
Пожалуйста, выпускай ролики почаще.
Onigiri, премного благодарен за видео. Надеюсь твои старания окупятся сторицей.
О как вовремя)
У меня задание на рейкастинг
Давай больше по теме)
Кидаем второй луч в сторону солнца - *непроизвольно зиганул*
Не ну это бан🗿
@@OnigiriScience так точно штурмбаннфюрер!
Интересно, это как-то связано с массовыми вымираниями? 🤔
Теперь я понимаю что объединяет всех этих авторов, которых я смотрю - "Ничего не понятно, но очень интересно"!
@@OnigiriScience попробуй сделать такое же только в scratch.
Ставлю лайк ещё до начала ролика ! Я фанат этих видео !
Отличное видео и c++ тут. Жаль мало видео выходит но и на том огромное спасибо
Спасибо, очень интересно
Хорошее видео! Уже посмотрел! Класс!
как ?
Врёшь
@@mega_micro ЧЕ РЕАЛЬНО?
Как всегда топчик)
Хорошее видео много интересной информации.
Артем, ты лучший!
Люблю твои видео, ты топ) 💛✨
классный чел, позитивный)
Спасибо за видео очень интересно и полезно
Красиво, торжевно
Привет от школы 21 и конкретно от проекта cub3d, где мы на Си (ага) с нуля пишем свою реализацию вульфа при помощи рейкастинга. Спасибо за видос, очень полезно!
Круто, молодец!
Умеешь, могёшь, видос - топ
Один из лучших каналов на CZcams
Качественно и интересно супер спасибо класс
Ого, у Артёма интеграция. Ну поздравляю с этим этапом развития :3
Ну ты тормоз 🤣, или посмотрел только один видос?
Очень интересно
-Как сделать свой 3д-движок?
-Рей
-Аянами?
/пикча с гордоном
Ну типа
/пичка с Ходорковским
- Гордон?
- Фриман?
Ребзи, не забываем оставлять комментарии дабы продвигать канал Онигири!!! Очень нравится этот чувак и нравится его смотреть, хотелось бы что бы он получал заслуженный фид бэк от своей аудитории
Он умеет вдохновлять)
Невозможно впитывать столько информации разом, тем более в связи с тем, что я работаю на другом языке и незнаком с C++.
Сохранил в "Смотреть позже", посмотрю вторую половину позже.
Уже очень понравилось, хорошо объясняешь.
видео огонь!!!!
Просто класс!
Крутое видио! так держать!
Очень понравился видос, это топ
Спасибо за видео, парень ты очень талантлив. Не только потому что ты разбираешь по атомам тему, а в том что ты можешь объяснить нам. Вот бы все стремились к знаниям так, гляди бы уже давно познали квантовый мир, и взор наш посмотрел вверх в космос. Удачи друг!
Видос супер 👍
Вау , идеально объясняешь
я долго искал подобное видео на зарубежном етубе что бы оно вышло спустя год поисков на моем любимом канале... ЧТОЖ, спасибо! ты этим видео сделал этот день по настоящему прекрасным. жду видео про РТХ
Да что ты со своими иксвайзетами, когда собственный курс, куда записываться?
о, ты тоже тут
Только мне захотелось создать 3D игру, как ты выпускаешь это))
Скоро я буду часто заглядывать к тебе)
Оч круто!
Отличное качество видео супер
Круто!
Спасибо за единственную полезную рекламу)
Спасибо за видео. Просьба больше видео про ИИ, в том же юнити есть learn machine
Куб и сфера классно выглядят
Ля, как классно, даже фрактал запихнул👍
Onigiri: "Меркурий"
Видео: "нет"
с кодом уже попроще воспринимать, но только все равно очень сложно, ты продолжай рассказывать, мы потом разберемся и поймем)
Эпично!
Очень интересный выпуск получился! Однако хотелось бы поподробнее узнать, как именно работают формулы определения расстояния от камеры до точки пересечения с объектом (например для сферы) :p
Нет, это не серьёзно! Просто признайся, что ты рептилоид, или ты меня взломал или не знаю что. Но как только я начал изучать нейросети - ты через пару дней выпускаешь видео, я подумал о игре жизнь в 3d - ты снимаешь видео, я со своим другом размышляли о квантовых компьютерах - ты на следующий день выпускаешь видео. И вот ВЧЕРА Я НАЧАЛ ИЗУЧАТЬ РЕЙКАСТИНГ.
Тогда вангую, что следующее видео будет о обработки аудио с помощью нейросети (типа изменение голоса) или решатель головоломок с помощью нейросети (например решить кубик Рубика за минимальное количество шагов)
Твои видео очень познавательные и интересные. Это самый близкий канал к моим интересам. Спасибо тебе большое!!!
Да тебя, дружок, просчитать можно на раз-два, таких не берут в космонавты. Тебе поможет защитный шлем, фонить мыслями не будешь 😉
@@interested0713 😂😂😂
Ля как интересно. Ну теперь давай рейтрейсинг поскорее.
Заметил математическую неточность, по моему мнению, на 3:30. Функция определения вектора. Вектор (x, y) это не просто множество {x, y}. Это же упорядоченная пара чисел, и на языке множеств определяется так: (x, y) = {x, {x, y}}. Иначе (x, y) = (y, x), а это очевидно не так.
Могу сослаться на первый том Мат анализа Л.Д. Кудрявцева, самое начало, параграф 1.2* "Функции" там дается понимание что такое упорядоченная пара на самом деле
Возможно конкретно в этом прототипе именно на js то о чем я написал не меняет сути.
Хотя объект в жс это и не упорядоченная коллекция свойств, все-таки в конкретный момент времени они находятся в определенном порядке
Спасибо за твои интересные видео!
годнотаааа годнооота единственный в мире малыш ролик годнотаааааааа