Made RTX again, BUT HUNDRED TIMES BETTER!

  Переглядів 55,911

OxygenSE

OxygenSE

День тому

Hi there, I'm Oxygen!
In this video I'll make a lot of global changes in my RTX engine!
This video is a sequel - • Напиши СВОЙ RTX прямо ...
Here I remade my game on C++, also upgraded graphics to hundred times better!
Also, join my Discord server, there you'll be able to ask me a question and just talk: / discord
And, lastly, GitHub with source code: github.com/SonicallGameXGit/R...
Have a good time wathing it! At this time there will be much less of stuffiness :)
- Timecodes -
00:00 - Intro
01:14 - Moving to C++
01:23 - How to build own OpenGL project on C++?
04:06 - Rewriting old engine
05:18 - Simplest denoiser
07:12 - Fresnel equation
07:44 - Skybox (no, Skyspheres)
09:00 - DoF (Depth Of Field, shortly, just to make cool blur)
11:04 - ImGui (or why I didn't written own UI)
13:21 - Make your own map for RTX!
15:46 - TEXTURES AND NORMAL MAPS!!!
17:51 - Sounds
18:23 - The end

КОМЕНТАРІ: 291
@user-wb5nv8cp9f
@user-wb5nv8cp9f Місяць тому
Пояснять техническую часть - не духота, а база.
@oxygense2008
@oxygense2008 Місяць тому
Согласен, но я перестал это делать по двум причинам: 1. Гораздо дольше делается видео из-за кучи проблем с записью кода, 2. Канал больше развлекательный чем познавательный, так что смысла тоже, к сожалению, нет(
@make.9621
@make.9621 2 місяці тому
Ты крут, чел! Православный OpenGL - это богоугодное дело. Сам ковырял его пару лет назад, написал простенький графический движок, было весело и больно. Делай дальше, ты машина. Попробуй декомпозировать код, чтобы было легче поддерживать его потом. Например, можно не копировать формулу, а вынести это в отдельную функцию или класс и использовать это, тогда не нужно будет ручками менять все места с этим кодом, чтобы добиться новой функциональность. Нужно будет просто поменять одно место в коде - балдёж же
@oxygense2008
@oxygense2008 2 місяці тому
Спасибо! А я так и сделал, если зайти в GitHub, я там уже все структурировал)
@warmBy
@warmBy Місяць тому
Декомпозиция кода это всё равно что запизивание определённых значений в переменные, просто тут не только обычные значения
@a3development960
@a3development960 Місяць тому
орнул на 2:15 🤣 просто попаболь многих игроразрабов))
@viedCS
@viedCS 2 місяці тому
У меня только один вопрос... А есть ли что-то, чего школьники с ютуба не знают? А так, вспоминая себя в 15 лет, мне становится спокойно за поколение. Чтоб чел и в 15 лет уже спокойно общался с плюсами, это дорогого стоит. Далеко пойдешь, главное - не останавливайся
@oxygense2008
@oxygense2008 Місяць тому
Спасибо большое)
@tothemoon7438
@tothemoon7438 Місяць тому
Афигеть. 15 летний парень обладает таким огромным багажём знаний в программировании, формулах и графике. Я в 15 лет в кампуктер играл😅 Удачи тебе в твоих достижениях и освоении такого не лёгкого ремесла!
@oxygense2008
@oxygense2008 Місяць тому
Спасибо большое!
@FikSam
@FikSam 2 місяці тому
УРААА, Продолжение 😊
@iv_lucky
@iv_lucky 2 місяці тому
Лет 10 назад писал трассировку лучей как лабу в универе. Ностальгия=)
@v1dzhet
@v1dzhet 2 місяці тому
я с кайфом посмотрел видео, жду продолжение на directx :)
@oxygense2008
@oxygense2008 2 місяці тому
К сожалению я не буду на него переходить, я буду переходить на Vulkan, только, как обычно, с GLFW
@Markoti-OK
@Markoti-OK Місяць тому
+подписка на твой канал ) уже все серии пересмотрел 2 раза
@oxygense2008
@oxygense2008 Місяць тому
Хаха, спасибо))
@mailgoogle6000
@mailgoogle6000 2 місяці тому
Отличное видео! Ждем продолжения)
@Hozar2002
@Hozar2002 2 місяці тому
Помню в статейке про облака находил формулу трипланарной проекции текстур. По идее она как раз хорошо подходит в твоём случае, чтоб не пришлось плодить if в шейдрах для распределения текстур. На хабре статейка называется "Рендерим облака на мобильных девайсах"
@oxygense2008
@oxygense2008 Місяць тому
Спасибо)
@Hrom_Brom_Iod
@Hrom_Brom_Iod 2 місяці тому
Приходилось в целях обучения писать на джаве фрактальное пламя: алгебра, матюки и вопрос, преследующий весь проект: "почему шумит".. Короче, спасибо за видос, удачи в проекте и продвижения канала)
@hidusa
@hidusa 2 місяці тому
я делаю свой движок на опенжл, увидел твоё видео, посмотрел, мотивация поднялась и я сделал так чтобы тень исходили от объекта :) сейчас же тут артефакты, но я думаю, что и их я порешаю, спасибо тебе за поднятие мотивации
@oxygense2008
@oxygense2008 Місяць тому
Рад слышать, удачи, все получится!
@fedotttbv
@fedotttbv 2 місяці тому
7:48 Немного подушню: всё же это никакой не skybox( который состоит из 6-ти отдельных изображений и, по хорошему, использует особый аппаратно ускоренный тип текстур (кубические, они есть и в OpenGL), избавляющий от вычислительно тяжёлой тригонометрии, давая сэмплировать значение просто по вектору), а абсолютно типичная skysphere (которая восстанавливается из развёртки сферы, хранящейся в одном изображении, может иметь неприятные артефакты в полюсах из-за искажений этой развёртки и требует дополнительных вычислений). Да, разницы не особо много в данном случае, но техническая разница тут важна.
@user-gb1ch8rf1e
@user-gb1ch8rf1e 2 місяці тому
Верно. Оптимальнее будет при помощи фреймбуффера отрендерить эту сферическую панораму на всех 6 гранях кубмапа, и уже её использовать для семплирования
@oxygense2008
@oxygense2008 Місяць тому
То есть все же я правильно его назвал скайсферами?))
@oxygense2008
@oxygense2008 Місяць тому
А насчет искажений, согласен, но тогда как-то вообще и не задумывался об этом
@300f20t
@300f20t 2 місяці тому
Когда про вулкан услышал, плохо сразу стало... Флешбек словил.
@oxygense2008
@oxygense2008 2 місяці тому
Ахаха, да, сам боюсь его))
@KupitmanZ
@KupitmanZ 2 місяці тому
Больше лучей!
@eszdman
@eszdman 14 днів тому
Привет, в качестве шумоподавления советую простой алгоритм SNN (Symmetric nearest neighbor), если вкратце, то мы выбираем ближайшее по интенсивности значение среди симметричных соседей, например точки с координатами(относительными) (i,j) (-i,-j), среди них выбираем значение той которая имеет минимальную дистанцию с значением в (0,0) и суммируем все результаты в переменную
@oxygense2008
@oxygense2008 12 днів тому
Привет, спасибо большое) Посмотрел, не сильно похоже на то, но попробую
@eszdman
@eszdman 12 днів тому
@@oxygense2008 Есть билатеральные фильтры, но они менее эффективные для очистки шума, а у SNN можно подобрать правильный радиус и интенсивность, есть разные разновидности
@Felix14_v2
@Felix14_v2 2 місяці тому
Мне твой предыдущий ролик ютуб в рекомендации раз 20 кидал, постоянно его обложку видел. На этот раз решил сдаться :)
@rusik_luka
@rusik_luka 2 місяці тому
Я продолжил писать трассировку лучей на основе твоего шейдера из прошлой части видео, и с того момента сам сделал шумодав, материал дыма, фокусировку, материал металла, улучшил стекло с добавлением ior и transparent, добавил текстурное небо и ещё кучу фич. Правда шейдер стоило бы переделать тк там много мусора ну да ладно. Всю программу написал на питоне и glsl Твой доф (фокусировка) плохо работает из за функции рандома. Тебе нужна более хорошая функция рандома. Тогда и размытие будет хорошим. + не будет бага с освещением, потому что материал света создаёт на другой поверхности освещенную область, на ней создаются пересекающиеся линии. Онигири про это говорил и показал как исправить.
@oxygense2008
@oxygense2008 Місяць тому
Ага, спасибо)
@rusik_luka
@rusik_luka Місяць тому
dof у меня реализован так. Тут ещё можно настраивать размер матрицы. Код можно улучшить, но так как работает, лень: float camera_matrix_size = 0.1; // Размер матрицы камеры. 1.0 = 1 метр. float camera_focus_depth = 2.0; // Расстояние фокуса. 1.0 = 1 метр. // Бросаем луч до объекта в центре камеры: Ray rayc = Ray(u_cam_pos, normalize(vec3(0, 0, -1.0))); rayc.direction.yz *= rotate(u_cam_rot.x); rayc.direction.xz *= rotate(u_cam_rot.y+90); rayc.direction.zy *= rotate(u_cam_rot.z); camera_focus_depth = raycast(rayc).distance; // Генерируем случайную позицию луча в пределах размера матрицы камеры: vec3 random_ray_position = vec3( (randomOnSphere().x - 0.5) * camera_matrix_size * 2.0, (randomOnSphere().y - 0.5) * camera_matrix_size * 2.0, 0 ); // Вычисляем позицию камеры с учетом случайной позиции луча: random_ray_position.yz *= rotate(u_cam_rot.x); random_ray_position.xz *= rotate(u_cam_rot.y+90); random_ray_position.zy *= rotate(u_cam_rot.z); vec3 camera_position = u_cam_pos + random_ray_position * camera_matrix_size; // Направление луча через центр экрана на заданное расстояние фокусировки: vec3 direction = vec3((uv * camera_matrix_size) + (uv * abs(camera_focus_depth)), -abs(camera_focus_depth)); direction.yz *= rotate(u_cam_rot.x); direction.xz *= rotate(u_cam_rot.y+90); direction.zy *= rotate(u_cam_rot.z); Ray ray = Ray(camera_position, normalize(u_cam_pos + direction - camera_position));
@user-uh7nk7vt6h
@user-uh7nk7vt6h 29 днів тому
мега хорош чел
@MonsterGaroo
@MonsterGaroo 2 місяці тому
Конец убило ахахаха бллин прикольно
@rostus_official
@rostus_official 2 місяці тому
Ты дал мне мотивацию продолжить создание RTX для одного проекта!
@oxygense2008
@oxygense2008 Місяць тому
Очень рад слышать) удачи в проекте!
@xain.offical
@xain.offical 24 дні тому
Nvidia курит и плачет в сторонке
@user-yn2tv8eo9r
@user-yn2tv8eo9r 2 місяці тому
Крутое видео.
@bright307
@bright307 2 місяці тому
УРА ЛЮБИМКА ВИДОС ВЫПУСТИЛА
@oxygense2008
@oxygense2008 2 місяці тому
Хаха, спасибо))
@user-fg6qw5hr9y
@user-fg6qw5hr9y Місяць тому
5:05 Еще одна фича языка c++ это range-for, он позволяет с помощью итератора того же типа, что и элементы массива/коллекции, перебрать все элементы массива/коллекции. При этом не требуется вычислять размер или длину массива/коллекции, цикл автоматически обрабатывает это. А так же не нужно указывать условие прекращения цикла и операции инкремента или декремента в синтаксисе цикла.
@oxygense2008
@oxygense2008 Місяць тому
А я знаю про эту фичу (если правильно понял, то ты про это - MyType& element : vector), но мне удобнее в этом случае так, потому что не надо создавать лишний int i, от которого я буду путаться)
@ntldev
@ntldev 2 місяці тому
Оч интересно. Тоже изучаю OpenGL, но все равно мало что понимаю
@oxygense2008
@oxygense2008 Місяць тому
Желаю удачи, тема крайне интересная)
@Hlorovodorod_official
@Hlorovodorod_official 22 години тому
6:03 ноль пять в пивнушке, а тут ноль целых пять десятых
@oxygense2008
@oxygense2008 22 години тому
Хаха)))
@EreminYaroslav
@EreminYaroslav 2 місяці тому
Хочу продолжение на вулкане ;)
@RATNO763
@RATNO763 Місяць тому
Я понял от силы 22% того, что ты рассказал и показал.
@provincialresident
@provincialresident 2 місяці тому
Днем рейтрейсинг, ночью читы для кс ахаахаахаха
@dedrka
@dedrka 2 місяці тому
Весь день сегодня мучался с mingw и библиотеками(vulkan, glfw, glm) и осталось подключить одну либу. Я устал, но это видео придаёт мне сил. Я пошёл опять пытаться. Спасибо
@oxygense2008
@oxygense2008 2 місяці тому
Желаю удачи, скоро присоединюсь к твоим мукам)
@leolui2061
@leolui2061 Місяць тому
Если с плюсами с его системой сборки и линкером проблы то попробуй - D - там все из коробки робит - просто dub build и все) как в яве или шарпе, плюс про управление памятью можешь забить.
@mrfuf4ik
@mrfuf4ik 2 місяці тому
Имба
@TheGameChat
@TheGameChat Місяць тому
Гений
@morskoyzmey
@morskoyzmey Місяць тому
Вообще сфера не так лучи пропускает, картинка переворачивается же
@oxygense2008
@oxygense2008 Місяць тому
Ничего, поправим)
@GetKnowLoreNIKKI
@GetKnowLoreNIKKI Місяць тому
@@oxygense2008 к вопросу а как так много просмотров, ты просто в рекомендации попал, магия гугла ехе
@emroy6238
@emroy6238 Місяць тому
ебаа 15 лет??? Красавчик, я в 15 только в юнити чето там пытался делать
@oxygense2008
@oxygense2008 Місяць тому
Спасибо)))
@DendyHandy
@DendyHandy Місяць тому
Бро, смотрю твои видео и вдохновляюсь. Кстати ты шаришь по алгебре? Странный вопрос, но мне просто интересно и стоит ли учить математику для программиста?
@reqience4117
@reqience4117 Місяць тому
Смотря в какой сфере прогать будешь. Где-то нужна дискретка, где-то векторная алгебра, в редких случаях матан(мат.анализ).
@oxygense2008
@oxygense2008 Місяць тому
Спасибо)) ну… смотря что значит «шарю», если в привычном понимании, то ни капли, я только вчера узнал что модуль, это как раз и есть тот самый Math.abs из джавы, который я называл минусоубирателем)) а так, как этим всем пользоваться, я примерно знаю, хоть и не знаю принцип работы. А так, стоит ли? Ну если графический программист или что-то подобное, ну тупо никак без этого, а если, к примеру, делать сайты, ну дальше обычной школьной математики я лично не заходил)
@DendyHandy
@DendyHandy Місяць тому
@@oxygense2008 спасибо за ответ, ты лучший!
@emeri_k
@emeri_k Місяць тому
Го продолжение, хы
@OfficialPlaneta-Play
@OfficialPlaneta-Play 2 місяці тому
Мама, я в ютубе! ❤
@laser_creative
@laser_creative Місяць тому
Не ОксигенЭсЕ, а оусидженЭсЕ. А так круто, молодец🎉😮
@oxygense2008
@oxygense2008 Місяць тому
Как меня только не обзывали... Охуген эс е, Оксик, Окси, Октаген, Охиген))
@Flaxor
@Flaxor 2 місяці тому
Го 3 часть, и убирай шум!
@fractalzombie
@fractalzombie Місяць тому
почему бы просто не использовать JSON, вместо этих странных своих велосипедов с парсерами? Мало того, там описать можно будет, что это.
@oxygense2008
@oxygense2008 Місяць тому
У меня причина такая - если уж так, то тогда почему бы не начать использовать готовый NVIDIA Ray Tracing SDK после перехода на Vulkan?) Я JSON люблю (хотя YAML как-то больше, не знаю почему), но все же было бы ржачнее сделать свой парсер + так я быстрее обучаюсь плюсам, если пытаюсь все сделать сам
@VechnoMolodoyyy
@VechnoMolodoyyy 2 місяці тому
Брат, небольшой совет, используй динамическую линковку, с одной стороны она кажется неудобной, т.к. необходимо вместе с проектом тащить дллки, однако статическая линковка увеличивает время компиляции и итоговый размер экзешника, в этом есть смысл когда мы например на контроллеры пишем, там всё в одном экзешнике должно быть, но в твоём случае в этом нет смысла. Если хочешь побольше узнать про сборку посмотри видео с канала UNИX "Многофайловая сборка", там конечно на линуксе, но на винде принципы те же
@oxygense2008
@oxygense2008 Місяць тому
Спасибо)) я уже перешел на vscode, с статической линковкой не разобрался, так что как раз использую динамическую)
@_nekit_off
@_nekit_off 2 місяці тому
❤❤
@user-yd6ij8ck2x
@user-yd6ij8ck2x 21 день тому
Здравствуйте у меня тут один вопросик есть, а какую лучше всего версию джавы выбрать для того чтобы писать моды для манйркафта 1.20.1
@oxygense2008
@oxygense2008 20 днів тому
Ну я помню, что до 1.20.5 (еще не вышедшей), вроде как 17, а уже после нее или 19, или 20, это уже не помню
@user-wn4wk3gq3k
@user-wn4wk3gq3k 4 дні тому
OxygenSE убирает шум и оптимизирует всё по максимуму в 3 части, Nvidia: R I P
@oxygense2008
@oxygense2008 3 дні тому
Надеюсь, хотя бы немного уберу шум, а то понял, что до такого ойойой как далеко)
@user-wn4wk3gq3k
@user-wn4wk3gq3k 3 дні тому
@@oxygense2008 далеко, но возможно!
@terxd1681
@terxd1681 2 місяці тому
хм, по сути, единственной визуальной помехой у тебя является ШУМ, от него у меня всегда готовы глаза вытекать, я в любой игре стараюсь врубить минимальный шум (он так глаза не режет), благо моя RX 570 это позволяет делать. Я не знаю, собираешься ли ты делать полноценный 3Д движок, если да, то тут потом с физикой тебе разбираться. Удачи!
@oxygense2008
@oxygense2008 2 місяці тому
Ну... полноценный 3д движок точно нет, но вот просто прикольную игру с RTX, это пожалуйста) Спасибо))
@dmitrydvachevsky568
@dmitrydvachevsky568 2 місяці тому
харош
@Jeka476
@Jeka476 2 місяці тому
Хочу Вулкан, хочу Трассировку лучёв!
@FiEctro
@FiEctro 2 місяці тому
Open image denoiser не рассматривали?
@oxygense2008
@oxygense2008 2 місяці тому
Сейчас посмотрю, впервые слышу, спасибо)
@ViaggiaconAutoForza
@ViaggiaconAutoForza 2 місяці тому
я читал вес собшени каторый ему прихадило :)
@user-hd9mf6ch7y
@user-hd9mf6ch7y Місяць тому
ок чел познал силу RTX с таким набором знаний можно даже видеокарту создать
@HACK_YOUTUBE_
@HACK_YOUTUBE_ Місяць тому
прикинь если бы он это зделал у меня был бы майнер который будет майнить 10 бтк в секудну XD
@user-fg6qw5hr9y
@user-fg6qw5hr9y Місяць тому
Кстати, совет на будущее, если будет много объектов на сцене и они будут постоянно добавляться и удаляться из std::vector, то это достаточно сильно будет влиять на производительность, т.к. по суть, в самом простом описании, std::vector - это класс-обертка, или правильнее сказать контейнер, динамического массива со всеми вытекающими. А именно: при переполнении выделенной с запасом памяти на хранение, происходит перевыделение памяти с большим объемом и копирование всего содержимого вектора в новую в эту новую память. Чтобы этого не происходило, все лучше использовать std::list, который работает, как динамическая структура - список, о котором знает каждый уважающий себя программист) Надеюсь, тебе это поможет) Возможно, в коде есть еще моменты, где можно произвести оптимизацию, но мне если честно лень вдаваться в подробность, я пришел ради контента, а не подушнить) (P.S. но все же подушнил)
@oxygense2008
@oxygense2008 Місяць тому
О, спасибо)) ой уж эти плюсы… если в джаве есть смысл задать вопрос - а почему это существует, если есть другое? То вот в плюсах ответ один - просто существует, не для чего, просто чтобы быть…
@kirillbutyrin1232
@kirillbutyrin1232 Місяць тому
@@oxygense2008 для обратной совместимости существует восновном
@original2062
@original2062 Місяць тому
Какие ресурсы для изучения OpenGl ты использовал? и какая версия OpenGl используется в видео?
@oxygense2008
@oxygense2008 Місяць тому
Ну я лично люблю The Cherno (для C++) и ThinMatrix (для Java), я их до сих пор смотрю, крутые ребята, спасают жизнь)) А версия OpenGL, как я помню, 3.2
@hauyt424
@hauyt424 2 місяці тому
Жду как он создаст свою гта 6
@user-yt5zp9cs3j
@user-yt5zp9cs3j Місяць тому
Давай продолжение
@leolui2061
@leolui2061 Місяць тому
по шумам можно ковырять TAA и .... FSR как ни странно. хоть и из другой оперы, но может быть очень полезно.
@oxygense2008
@oxygense2008 Місяць тому
Блин, вот слышу везде про этот TAA, смотрю, ничего не понятно, может, не правильно ищу и мне вообще не то выдается
@Lolohit48
@Lolohit48 Місяць тому
@@oxygense2008ТАА самый имбовый вид сглаживания, не зря везде о нем слышишь, я не знаю в тонкостях как он работает но суть такая что мы берем предыдущие пару кадров, ну или не пару, штуки 4-16, и создаем избыточную выборку вместе с текущим отрендереным кадром, таким образом если у нас используется 4 последних кадра то у нас получается кадр в 4 раза больше чем текущий, потом даунскейлим его и получаем сглажены края. Ну и забыл, мы каждый кадр сдвигаем камеру на полпикселя, чтобы получать разную информацию а не одну и ту же если например у нас камера не двигается, коротко суть такая.
@Narezchik_cheeeek
@Narezchik_cheeeek 2 місяці тому
Гоу ещё, уберёшь шум тогда я ничего не сделаю 🙂👍
@DoomeR18G
@DoomeR18G Місяць тому
тебе 15 лет? или ты пошутил?
@oxygense2008
@oxygense2008 Місяць тому
Я шучу, говоря что мне 21)) А так да, мне 15, не шутка
@DoomeR18G
@DoomeR18G Місяць тому
а где яве учился?@@oxygense2008
@oxygense2008
@oxygense2008 Місяць тому
Да везде)) Я самоучка, так что просто код-гугл-код-гугл и т.д.
@DoomeR18G
@DoomeR18G Місяць тому
просто я смотрю ты jetbrains используешь, а он вроде дорогой@@oxygense2008
@mizmoo
@mizmoo Місяць тому
@@DoomeR18GОн бесплатный и опенсурс, есть версия с ИИ вот она платная уже
@Entyx1337
@Entyx1337 2 місяці тому
Бро, пожалуйста, сделай длсс 4.0 на мою 4070)) + подписка кстати
@Narezchik_cheeeek
@Narezchik_cheeeek 2 місяці тому
О Господи помилуй. . . . . КОООООООООООООООООООД
@Arrlek1nXD
@Arrlek1nXD 10 днів тому
Нечего не понял, но очень интересно
@artmplay7219
@artmplay7219 2 місяці тому
Задушнил но меньше по сравнению с прошлой частью :)
@oxygense2008
@oxygense2008 2 місяці тому
Mission complete
@NikitchaEn
@NikitchaEn Місяць тому
боже, что я делаю в своей жизни...
@oxygense2008
@oxygense2008 Місяць тому
Хаха, все ок, просто отдыхай и наслаждайся)
@swilon_
@swilon_ Місяць тому
где монтируешь?
@oxygense2008
@oxygense2008 Місяць тому
DaVinci Resolve 18 Studio, естественно скомунизденный)
@Quadq
@Quadq 2 місяці тому
А почему бы не использовать для шумоподавления TAA?
@oxygense2008
@oxygense2008 Місяць тому
Да блин, что это такое, ваше TAA)))
@user-qk4xp3tn8w
@user-qk4xp3tn8w 2 місяці тому
Ещё RTX
@alexeyk3k947
@alexeyk3k947 2 місяці тому
Оптимизируй лучи что бы они превратились в норм мод за место васянского от хуанга, которая требует 4090 и ложит на Лопатки 3080 и 2080.
@POLLMIXANENG
@POLLMIXANENG 2 місяці тому
подскажи, как описать отражение?
@oxygense2008
@oxygense2008 2 місяці тому
Типа как формула в GLSL? Там это - reflect(направление луча, направление нормали)
@POLLMIXANENG
@POLLMIXANENG 2 місяці тому
@@oxygense2008 да, но интересно математически
@POLLMIXANENG
@POLLMIXANENG Місяць тому
кстати, ты на стриме говорил, что шумы изза диффузного освещения, но по идее должно быть наоборот, хотел бы узнать
@sergant445
@sergant445 Місяць тому
мне 15 и мне больше всего нравятся C++, и Java, но работаю я почи на все 98% с C++, и спустя 6 месяцев я сделал свой первый Raycasting движок на SFML 2.6.1. Сделал в этом месяце
@nice1583
@nice1583 Місяць тому
Привет,хочу пару вопросов позадавать,скинешь свой дс?
@sergant445
@sergant445 Місяць тому
@@nice1583 ютуб удаляет ответы
@sergant445
@sergant445 Місяць тому
@@nice1583 dssergant445 без ds. ds чтобы ютуб не удалил ответ.
@oxygense2008
@oxygense2008 Місяць тому
Хаха, меня это тоже бесит, вижу: коммент, открываю - нет)
@sergant445
@sergant445 Місяць тому
@@oxygense2008 я минут 15 написать тот ответ пытался
@waplo5
@waplo5 Місяць тому
На самом деле вторую часть не нужно было выкладывать на UKposts, если качество уступает качеству обычный PBR карт. На самом деле я ожидал хотя бы какого-то прогресса от вас, в плане RTX, хотя бы чтобы у текстур были элементарные отражения и глубина. То есть показать более качественный вариант как по мне интереснее, чем шумовую картинку, но зато с рефлексом света и цвета на другие объекты. Да и пример в конце был не столь логичным, так как в первом вы показываете всё тоже отражение, а во втором просто мыльный квадрат, шума меньше, но и мыло в конце комнаты удивляет конечно.
@lilsquash6473
@lilsquash6473 2 місяці тому
Как называется трек с 1:01?
@oxygense2008
@oxygense2008 Місяць тому
Вот: ukposts.info/have/v-deo/hKCWaaFtnHp6ro0.htmlsi=AzuI_lylDq5f9EIz
@denfox4820
@denfox4820 2 місяці тому
ребят, может кто нибудь сделать билд? не хочу качать визуалстудио на десяток гигов ради "ого круто ртх на 750ти"
@kom1790
@kom1790 2 місяці тому
у меня на 1080ти - 2фпс, то что будет на 750ти☠, ноль шансов крч
@rusik_luka
@rusik_luka Місяць тому
написал свой rtx на основе первой части этого видео, на gtx 1660 более 300 fps. Всё зависит от настроек рендеринга. Просто надо подогнать их под свою видюху и всё. Можно сделать так, что если камера не движется, то качество рендера повышается, а если движется, то падает. Так сделано практически во всех 3д рендер движках. В том же блендере или MagicaVoxel. Кста свою реализацию написал фулл на питоне + pyopengl + glsl сам шейдер трассировки лучей. Полностью сделал на своём фреймворке
@oxygense2008
@oxygense2008 Місяць тому
А там, если я помню, вроде в проекте был билд, но я добавлю в «Релизы», спасибо что напомнил)
@oxygense2008
@oxygense2008 Місяць тому
А там, если я помню, вроде в проекте был билд, но я добавлю в «Релизы», спасибо что напомнил)
@oxygense2008
@oxygense2008 Місяць тому
О, красава) а насчет настроек, полностью согласен, остается только добавить деноизер и готово
@user-yf9wo9bt4g
@user-yf9wo9bt4g Місяць тому
Здоровья тебе большого, хорошего мозгового кровообращения, я пошёл лечиться
@leolui2061
@leolui2061 Місяць тому
Вместо Uniform лучше юзать shader storage buffer, да и про DSA глянь
@oxygense2008
@oxygense2008 Місяць тому
Ага, спасибо, мне там уже предлагали, к сожалению уже вряд ли понадобиться, так как хочу перейти на вулкан) А про DSA посмотрю обазятельно
@Senoplay
@Senoplay 27 днів тому
Уже 1 месяц?
@HMEi100
@HMEi100 25 днів тому
Std::cout
@syoritohatsuki
@syoritohatsuki 2 місяці тому
Предпочту CLion
@Slava-far_cry6
@Slava-far_cry6 8 днів тому
Что за програма
@FikSam
@FikSam 24 дні тому
Где новые видео 😢
@oxygense2008
@oxygense2008 24 дні тому
Как я писал в постах, во всю работал над контентом для следующего видео, будет очень много всякого!)
@DoRX.
@DoRX. Місяць тому
делай проду пжпжп
@kostrrstop5675
@kostrrstop5675 Місяць тому
Насколько я знаю вулкан более оптимизированый +- 20% можно получить
@oxygense2008
@oxygense2008 Місяць тому
Ну… если ты не редкий дебил учащий вулкан, изучая c++ только месяц (каковым я и являюсь, лол), то 100%, потому что vullan ориентирован на минимальную перегрузку видеокарты, если тебе что-то надо? Пиши сам, мы тебе сотни бесполезных в твоем проекте возможностей совать, как это делает OpenGL, не будем))
@Hlorovodorod_official
@Hlorovodorod_official 22 години тому
как скачать игру?
@oxygense2008
@oxygense2008 22 години тому
А там вроде я сделал гитхаб и закинул в описание, если я протупил, то там должна была остаться .exe игра, а если и нет, можно просто открыть как visual studio проект)
@syoritohatsuki
@syoritohatsuki 2 місяці тому
Надо было делать на Rust, он же на хайпе :D
@oxygense2008
@oxygense2008 2 місяці тому
Ахаха, ну тогда + месяц к задержке выхода видео))
@syoritohatsuki
@syoritohatsuki 2 місяці тому
@@oxygense2008 Я жду что то по майну, такое и так редко выходит (по всему ютубу), так что нам не привыкать
@user-xw3uj8ij6v
@user-xw3uj8ij6v Місяць тому
5:07 видим i++ в цикле можем закрывать видео)
@user-to5tv8cr2j
@user-to5tv8cr2j Місяць тому
а чё не так?
@user-xw3uj8ij6v
@user-xw3uj8ij6v Місяць тому
​@@user-to5tv8cr2j лишняя операция происходит если знаешь как устроены операторы ++i i++ лучше использовать ++i не будет создаваться копия)
@ussenUtebayev
@ussenUtebayev Місяць тому
Этот бро узнал про инкрементацию и декрементацию и его оптимизацию в реализаций языка и думает что умнее всех 💀
@user-xw3uj8ij6v
@user-xw3uj8ij6v Місяць тому
@@ussenUtebayev не проецируй свое эго на других)
@ussenUtebayev
@ussenUtebayev Місяць тому
@@user-xw3uj8ij6v Эй 🤓☝ не тебе говорить про эго. P.S поэтому тебя и не любят твои одноклассники.
@soul_minefine
@soul_minefine 2 місяці тому
Прога жутко лагает при разрешении Full HD на дефолтных настройках на GTX 1660 Super (5 фпс буквально)
@oxygense2008
@oxygense2008 Місяць тому
Ну это и неудивительно, учитывая то что это первый раз, когда я написал свою трассировку путей)
@kelet-std
@kelet-std Місяць тому
а как в юнити юзать
@callfish3
@callfish3 Місяць тому
🤣😂🤣😂
@sergant445
@sergant445 Місяць тому
он на OpenGL сделал, вроде делать самому придётся
@callfish3
@callfish3 Місяць тому
@@sergant445 не вроде а точно он делал отдельное управление и opengl в юнити не используется + это c++ а юнити такой не поддерживает
@sergant445
@sergant445 Місяць тому
@@callfish3 спасибо за то, что подправил
@oxygense2008
@oxygense2008 Місяць тому
Ага, но вот шейдер, в принципе, попробовать переписать сможет, а благодаря возможностям юнити у него получится даже удобнее и лучше
@eto_sedewl320
@eto_sedewl320 2 місяці тому
По поводу решения проблемы шума вместо всей этой ереси просто добавит txaa либо же fsr 2 на основе txaa считай (фср больше девайсов поддерживает, чем длсс и ртх на всяких нейронках), да и вообще добавление готовой библиотеки ртх просто убьет весь смысл в видео(((
@oxygense2008
@oxygense2008 2 місяці тому
Ну да, конечно, просто упомянул, но вряд ли буду использовать NVIDIA Ray Tracing SDK, так как в чем смысл)) Просто готовое шумоподавление возьму + реализую более продвинутые алгоритмы рейтрейсинга, чтобы было меньше шума
@eto_sedewl320
@eto_sedewl320 2 місяці тому
@@oxygense2008 опять же, а что по поводу временного сглаживания? Типо мне кажется, что тут уже проще передвигать эти пиксели, стараясь не терять картинку, а тут по идее векторы движения надо внедрять или как оно, вообще кстати как по мне матовость через шумы звучит достаточно хреново, как по мне, типо вообще почему люди просто не использовали просто смешение цветов, замыливание, либо что-то в этом роде... Как минимум кажется, что ты двигаешься в достаточно успешном направлении, просто не останавливайся на этом)
@Andre_JT
@Andre_JT Місяць тому
и вот зачем я это смотрю, если я вообще 3дшник?))
@oxygense2008
@oxygense2008 Місяць тому
Ну мало-ли, решишь основать главный конкурент блендера, где все будет прекрасно, а самое главное - z с y будут на своих местах))
@Andre_JT
@Andre_JT Місяць тому
@@oxygense2008 ахахах, да, все по учебнику термеха)
@1qxz
@1qxz 2 місяці тому
гооооооооооооооооооууууууууууу проду пыж пыж пыжпыжпыжпыжпыжпыж
@FewDieOne
@FewDieOne Місяць тому
С помощником вроде жпт и я илон макс :D
@ruria_coda
@ruria_coda 2 місяці тому
Пому хороший контент собирает мало просмотров.
@oxygense2008
@oxygense2008 Місяць тому
Вот увидишь, когда-то (может и даже очень скоро, кто знает), я буду как онигири)
@POLLMIXANENG
@POLLMIXANENG 2 місяці тому
ку
@alixbs
@alixbs Місяць тому
чтобы вечно не писать std:: введи строку using namespace std;
@user-wk3gw5dg3e
@user-wk3gw5dg3e Місяць тому
Ты знаешь, почему это не ок?)
@FireKing2225
@FireKing2225 Місяць тому
1-е, потом гадай где у тебя std, а где не std 2-е, конфликт имен 3-е, Пойду подключу все пространство имен, жизнь то вечная. Это 3 причины почему не стоит так делать.
@oxygense2008
@oxygense2008 Місяць тому
Блин, абсолютно согласен)) я удивляюсь, как мне советуют это делать, когда я уже пишу движки на плюсах, наверное, посмотрев как минимум 20 разных туториалов по разным темам, наверняка я знаю про это и у меня есть причины не использовать это)
@oxygense2008
@oxygense2008 Місяць тому
Короче using namespace можно только внутри функций и то иногда, когда прям с ума сходишь, что у меня лично никогда не было)
@Xack3r
@Xack3r Місяць тому
@@FireKing2225 Лучше всего написать using namespace std::string, std::cout и тд
@user-xe1ke3nd8s
@user-xe1ke3nd8s Місяць тому
Сложна...
@GamePlay_452
@GamePlay_452 Місяць тому
Тебе 15??????? Мне 15 но я только на питоне Стиллера делал и всякие там калькуляторы систем исчисления но это полнейшая фигня по сравнению с этим Го прошу пж
@oxygense2008
@oxygense2008 Місяць тому
Спасибо :)
@anos_voldigoad_2
@anos_voldigoad_2 2 місяці тому
Жаль что не на Java :(
@oxygense2008
@oxygense2008 2 місяці тому
Ну смотря как, в плане удобства, да, а в плане производительности, то C++ все равно лучше...
@kotofyt
@kotofyt 2 місяці тому
буфферы...
@oxygense2008
@oxygense2008 2 місяці тому
Да будет все, будет, хватит напоминать, боюсь все равно их))
@kamikadze8531
@kamikadze8531 Місяць тому
Сидишь смотришь на нормальные языки, а потом вспоминаешь про друга со своим Js топ Js топ
@oxygense2008
@oxygense2008 Місяць тому
Не трожь js, я он мой любимый после c++)
ЧТО ДЕЛАТЬ, ЕСЛИ НЕ ХВАТАЕТ ДЕНЕГ НА ВОССТАНОВЛЕНИЕ ТАЧКИ?
47:52
Voloshyn - ЗУСИЛЛЯ (прем'єра треку 2024)
06:17
VOLOSHYN
Переглядів 520 тис.
ЛУЧЕВЫЕ МОНИТОРЫ ПРЕКРАСНЫ!
20:56
Okmani
Переглядів 222 тис.
Как на 100% пройти Майнкрафт
17:17
GRIDoN
Переглядів 321 тис.
Нейросеть УНИЧТОЖИЛА Hill Climb Racing
20:07
Code Wizer
Переглядів 1,6 млн
31 portals of impossible shape
35:50
optozorax
Переглядів 499 тис.
Худшее от Каждой Версии Майнкрафт (1.0 - 1.21)
23:32
Демор Квадрон
Переглядів 334 тис.
Result of the portable iPhone electrical machine #hacks
1:01
KevKevKiwi
Переглядів 8 млн
Apple Event - May 7
38:22
Apple
Переглядів 6 млн
Как установить Windows 10/11?
0:56
Construct PC
Переглядів 1,7 млн