Как создать 3D Туннель на Python. Имитируем Шейдер OpenGL/GLSL [ Pygame ]

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • В этом видео проводится эксперимент по созданию имитации работы фрагментного шейдера OpenGL в Pygame путем использования только синтаксиса языка программирования Python.
    В процессе видео получаем возможность задействовать мощь графического чипа и получаем 3D эффект перемещения по туннелю.
    Для достижения этих целей используется библиотека для параллельных вычислений Taichi и модули: Pygame, Numpy.
    Source:
    github.com/Sta...
    #standalonecoder

Комментарии • 125

  • @funny_poco
    @funny_poco 2 года назад +32

    Я всегда восхищаюсь вашим знанием математике, и итоговый результат всегда удивляет меня своей красотой)

  • @AlexanderGorshkov
    @AlexanderGorshkov 2 года назад +25

    Котий туннель - топ!
    А квадратный - сюжет из хоррора (но это в следующем ролике) :)

  • @ДмитрийЯковлев-д6э
    @ДмитрийЯковлев-д6э 2 года назад +66

    Огромная и жирная Вам оценка 5 (отлично). Вам срочно нужно устроиться в фирму Wargaming, а то у них беда с танками и картами. Вы молодец, что воплощаете свои знания математики в программирование!

    • @CAHCrawlAdaptHide
      @CAHCrawlAdaptHide 2 года назад +7

      С танками беды нет, проверено за 40к боёв... А ВОТ С КАРТАМИ:))))))

    • @ДмитрийЯковлев-д6э
      @ДмитрийЯковлев-д6э 2 года назад +7

      Автор верни фразу "Привет мир"

    • @ohnocoder
      @ohnocoder 2 года назад +2

      @@ДмитрийЯковлев-д6э +

  • @Skerean
    @Skerean 2 года назад +14

    Я.... Я Восхищен! Такой заряд мотивации изучать тригонометрию чтобы такое исполнять. Я поражен

    • @ohnocoder
      @ohnocoder 2 года назад

      Баян

    • @ohnocoder
      @ohnocoder 2 года назад +1

      А, нет ошибся сори((((

  • @gost333
    @gost333 Год назад +1

    продолжай пожалуйста, я учусь за счёт твоих видео

  • @MrNarutorengun
    @MrNarutorengun Год назад +1

    У меня возникла ошибка, я написал на гитхаб и мне сказали что taichi_GLSL больше не поддерживается

  • @ohnocoder
    @ohnocoder 2 года назад +1

    Где старый голос бота Максима...

  • @dangerpro1337
    @dangerpro1337 2 года назад +4

    Красиво!) Продолжай в том же духе

  • @CHITUS
    @CHITUS 2 года назад

    Я.... Я Восхищен! Такой заряд мотивации изучать тригонометрию чтобы такое исполнять. Я поражен

    • @ohnocoder
      @ohnocoder 2 года назад

      Госпди... Пиарщики...

  • @MultiArtalex
    @MultiArtalex 2 года назад +3

    Лайк и комент для продвижения канала. Спасибо автору за труд.

  • @poker_7775
    @poker_7775 2 года назад

    теперь я знаю как создавался FurMark

  • @d17-d7e
    @d17-d7e 2 года назад +2

    Блин, код абсолютно обычный, без каких либо извращений. Но результат - ММММММММ. Вкусно

  • @shadow_blader192
    @shadow_blader192 2 года назад +1

    Круто

  • @kruvgeny
    @kruvgeny Год назад

    Никогда не задумывался насчет алгоритма процедурной генерации Wave Function Collapse?)

  • @АлексейПасечников-ш8б
    @АлексейПасечников-ш8б 11 месяцев назад

    А какая у вас версия python, у меня taichi не получается установить?

  • @seoonlyRU
    @seoonlyRU 2 года назад +2

    вот это да)))) ну тут лайк заслуженный от сеошника, кодера и вебмастера-легенды СЕООНЛИ

  • @DimPerch
    @DimPerch 2 года назад

    шикарно

  • @Sfinxsx
    @Sfinxsx 2 года назад +3

    Наконец новое видео! Хотелось бы почаще! 👍

  • @icada-dp3yo
    @icada-dp3yo 2 года назад

    Мне очень понравилось, круто. У меня к сожалению cuda error

  • @vanyka06
    @vanyka06 2 года назад

    Тем временем Чёртик(Дьявол) Не Спойлери:)

  • @download7179
    @download7179 2 года назад +4

    Привет, классный видос! Сможешь включить в следующую программу звук, и рассказать, какие библиотеки лучше использовать для звуков или фоновой музыки? Например в pygame mixer.Sound может в стеке может храниться около 5-6 звуков, а это мало для, наапример, пианино

    • @qrenjustaboutjava8680
      @qrenjustaboutjava8680 2 года назад +1

      Ну, если говорить не совсем о библиотеках музыки - то берёшь, открываешь отдельный поток и суешь туда отдельную мелодию
      По идее, для каждого потока будет отведён свой стек, тк интерпретатор питона считает его за отдельную программу

  • @ThA891
    @ThA891 2 года назад +8

    Шейдеры на Python, теперь я видел все. Представьте если бы он на 1С программировал . . .

    • @ohnocoder
      @ohnocoder 2 года назад

      Ты быканул?

    • @ThA891
      @ThA891 2 года назад +2

      @@ohnocoder Восхитился

    • @ohnocoder
      @ohnocoder 2 года назад +2

      @@ThA891 Понятно)

  • @Дмитрийсергеевич-о9п

    Круто!!

  • @CharJlJly
    @CharJlJly 2 года назад

    То чувство, когда: "Ах вот зачем она нужна была (математика)! xD xD xD

  • @CharJlJly
    @CharJlJly 2 года назад

    Ты какой-то реально-нереальный *____________* Ващееее.....

  • @medmaksik
    @medmaksik 2 года назад

    Мне одному этот туннель фурмарк напоминает ?

  • @qdnr
    @qdnr Год назад

    Давай тунель из "доктора кто"

  • @KETVA_
    @KETVA_ 2 года назад

    Смешной котик на превью

  • @uladzislaukarnitski3251
    @uladzislaukarnitski3251 2 года назад +1

    Очень долго ждал видосы от тебя)

  • @vialomur__vialomur5682
    @vialomur__vialomur5682 2 года назад +1

    вау просто супер хочу попробовать сделать переход между текстурами)

  • @slava6105
    @slava6105 2 года назад

    4:15 надо было вставить логотип LG или Samsung

  • @БотКронд
    @БотКронд 2 года назад +1

    продублирую вопрос комментатора из предыдущего видео (про фрактал, часть где подключаем taichi),
    вопрос остался незамеченным, а я столкнулся с такой же проблемой:
    Exception has occurred: URLError
    During handling of the above exception, another exception occurred:
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 20, in _init_
    ti.init(arch=ti.cpu)
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 100, in _init_
    self.fractal = Fractal(self)
    File "C:\Users\incar\Downloads\Mandelbrot-set-Realtime-Viewer--main\main.py", line 114, in
    app = App()
    подскажите как решить

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      Какая стоит версия Python и Taichi?

    • @БотКронд
      @БотКронд 2 года назад

      @@StandaloneCoder [Taichi] version 0.8.6, llvm 10.0.0, commit d5f18ffd, win, python 3.8.5

  • @redlag4225
    @redlag4225 2 года назад

    вместо taichi можно было использовать threading или multiprocesing

  • @rinskiii
    @rinskiii Год назад

    Спасибо за видео!
    А сколько по времени вы писали эту программу?
    п.с. у меня теперь ощущение, что вашего уровня мне не достичь)

    • @DenissMatjusevs
      @DenissMatjusevs Год назад

      Этому эффекту тунеля уже лет 30. Автор сам не придумывал алгоритм.

  • @akimidrisov1433
    @akimidrisov1433 2 года назад +1

    Спасибо большое! Классно делаете и объясняете)

  • @MATVEICH
    @MATVEICH 2 года назад

    А сделай трёхмерный физический движок с использованием ursina)

  • @maxsspeaker
    @maxsspeaker 2 года назад

    Чисто когда делаешь свой бенчмарк на python

  • @valad699
    @valad699 2 года назад

    Ö

  • @АлексейПротасов-п6э

    Чел переходи уже на нейронки,хватит фигнёй страдать, с твоими способностями я думаю это не проблема

  • @doiman6591
    @doiman6591 2 года назад +1

    Сколько ты потратил времени, чтобы добиться таких успехов в программировании ?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад +1

      могу сказать, что в первый год изучения я тратил от 1 до 3 часов в день...

    • @doiman6591
      @doiman6591 2 года назад

      @@StandaloneCoder А что посоветуете изучать, дабы достичь такого же уровня?
      Ну сейчас я учу только Python.

    • @StandaloneCoder
      @StandaloneCoder  2 года назад +3

      в таком случае рекомендую постоянно практиковаться на задачках, к примеру, сайт codewars (начинай с самого простого уровня), проект Эйлера и т.п.

    • @doiman6591
      @doiman6591 2 года назад +1

      @@StandaloneCoder Хорошо, спасибо большое! Пойду смотреть че за сайт там такой)

  • @ultimathul3
    @ultimathul3 2 года назад

    Хотел сделать туннельный эффект, но смог сделать только туннельный синдром

  • @nekitos501
    @nekitos501 2 года назад

    пытался написать подобный эффект на glsl, но выходит как то не так, совсем не похоже на туннель, текстура как бы быстро вытягивается из центра, а ближе к краям экрана начинает двигаться медленнее как будто, не пойму в чем причина такого поведения

  • @ВладДавыдов-м9ь
    @ВладДавыдов-м9ь 2 года назад

    Умоляю сделайте матрицу на веб камеру но на телефон

  • @adikbimyrza1902
    @adikbimyrza1902 2 года назад

    Здравствуйте, можете помочь сделать объект арочную ферму?
    Либо можете оставить контакты? Пожалуйста

  • @justafish_
    @justafish_ 2 года назад

    А я то посмотрев предыдущее видео уж разочаровался в питоне, думал он такие шейдеры не потянет

  • @selainro1791
    @selainro1791 2 года назад

    Просто комментарий для продвижения данного видео и выведение его в топы!
    Спасибо, не знал что так можно)

  • @222.2АндрійЛяшенко
    @222.2АндрійЛяшенко 2 года назад

    Продолжай в том же духе! Как много можно еще зделать....

  • @bN-hw9ld
    @bN-hw9ld 2 года назад

    А отсылочки на тоннель из доктора кто не будет? Ладно. Всё равно видео очень интересное и информативное

  • @falongor6836
    @falongor6836 2 года назад +1

    При установке через pip не установливается taichi.

  • @linod5962
    @linod5962 2 года назад

    cgfcb,j pf dbltj
    это шифр

  • @denbiggy3835
    @denbiggy3835 2 года назад

    Уходим в бесконечность

  • @dann1kid
    @dann1kid 2 года назад

    А чем генеришь озвучку?

  • @FOX-XOF
    @FOX-XOF 2 года назад +1

    Не шейдер, а целая демосцена=)

    • @ohnocoder
      @ohnocoder 2 года назад

      Это все-таки шейдер.

  • @karen-7057
    @karen-7057 2 года назад

    i love you. you have helped me tremendously. first time I understand all this, and i dont even speak russian. hugs from argentina

    • @eagold
      @eagold 2 года назад

      How did you understand if you don't speak Russian?

  • @shadow_blader192
    @shadow_blader192 2 года назад +1

    А тут по градусам или радианам , просто в игре по рэйкастингу видел там ты использовал двойное_пи.

  • @Anonim-im6ln
    @Anonim-im6ln 2 года назад

    Воу!) Супер!) Ви молодець!)

  • @АбдурахмонНугманов

    Слушай...подскажи ПОЖАЛУЙСТА!!!откуда ты находишь такие классные модули?Ты умеешь профессионально гуглить и задовать вопросы в интернете или ты просто долго искал?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      в данном случае - интерес к программированию шейдеров автоматически привел меня к этому модулю

  • @zealot4325
    @zealot4325 2 года назад

    спасибо за отличное видео

  • @dnsvrkv203
    @dnsvrkv203 2 года назад

    Спасибо за видео !
    Сделал все с другой текстурой. Подскажите, как сделать движение тоннеля прямо и затем назад, как в случае с пупырчатой текстурой? Этого нет в коде

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      можно завязаться на функцию sin, сделать что-то вроде того:
      st = vec2((angle + ts.sin(time) / 3.0) / ts.pi, ts.sin(time) + 0.25 / radius)

  • @Alex18Rus
    @Alex18Rus 10 месяцев назад

    это просто чертовски охрененно!

  • @Artymka
    @Artymka 2 года назад

    О Яндекс))
    А мне нрааавится проект , не хватает правда иногда субтитров , но вот вопрос а стоит ли на путоне и почему pygame? Может стоит сразу в c# ¿

    • @quadroninja2708
      @quadroninja2708 2 года назад

      Можешь перевести, если хочешь, язык в целом не важен

  • @quadroninja2708
    @quadroninja2708 2 года назад

    Что вы думаете об олимпиадах по информатике? Много ли у них общего с чудесами, как в видео?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      Я считаю, что увлечение спортивным программированием позволяет хорошо изучить язык, особенно на первых порах. И конечно же развивает уникальное мышление и способность написания эффективного кода (применение алгоритмов, правильных структур данных и т.п.)

  • @umedjonodinaev2022
    @umedjonodinaev2022 2 года назад

    Я в восторге...

  • @ЭдКалумнуз
    @ЭдКалумнуз 2 года назад

    Шикарно, однозначно лайк и репост

  • @olgach3989
    @olgach3989 2 года назад

    Прям залипла)

  • @МаратЯнгличев-й8н
    @МаратЯнгличев-й8н 2 года назад

    Шикарно

  • @TGrod
    @TGrod 2 года назад

    Невообразимо круто)

  • @androker185
    @androker185 2 года назад

    Спасибо за видео!

  • @evgenymerzlikin6178
    @evgenymerzlikin6178 2 года назад

    отличное видео!

  • @nicko6815
    @nicko6815 2 года назад

    Как всегда круто!!!

  • @enqeegeth3604
    @enqeegeth3604 2 года назад

    математику ты учил в универе или самостоятельно?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад +3

      в большинстве случаев самостоятельно

  • @UnifaStu
    @UnifaStu 2 года назад +1

    Пожалуйста скажите, как программа называется?

  • @максКозлов-ф3ш
    @максКозлов-ф3ш 2 года назад

    Все класс. Давно хотел спросить, почему не озвучиваете своим голосом??? Где учат такому??? Я понимаю математика, но в универе такого не было (((

    • @Grapeoff
      @Grapeoff 2 года назад

      Арктангенс? Вектор? Тригонометрия? Декартовы координаты? Всё это в старшей школе ещё проходят :)

    • @максКозлов-ф3ш
      @максКозлов-ф3ш 2 года назад +1

      @@Grapeoff то, что проходят - да, а то как в жизни применяет про это не рассказывают. Вот если бы на таких примерах ... эх..

  • @СекретныйКот-и1и
    @СекретныйКот-и1и 2 года назад

    А на встроенной в проц видеокарте тоже будет работать?

    • @StandaloneCoder
      @StandaloneCoder  2 года назад

      Да, будет. Все зависит от того насколько она производительная.

    • @СекретныйКот-и1и
      @СекретныйКот-и1и 2 года назад

      @@StandaloneCoder спасибо

  • @Volkich_
    @Volkich_ 2 года назад +1

    Как бы это не было круто,я все равно не буду учить математику)

  • @АлексейАлёнкин-ф6б
    @АлексейАлёнкин-ф6б 4 месяца назад

    какие версии библиотек taichi и какой питон нужен, чтобы это запустилось в 2024 году, помогите, пожалуйста!!!!!!

    • @АлексейАлёнкин-ф6б
      @АлексейАлёнкин-ф6б 4 месяца назад

      делаю на 3.10 taichi 1.5.0 taichi_glsl 0.0.12 первая часть до смайлика сработала, дальше, когда пошли полярные координаты случилась где-то внутри taichi_glsl ошибка как я понял

  • @juke_crusader
    @juke_crusader 2 года назад

    Жаль не этому учат нас на матане. Лайк однозначно

    • @brr3534
      @brr3534 2 года назад

      Сходи на пару лекций ангема тогда, порисуешь сердечки и прочий шлак в полярных координатах xd

    • @juke_crusader
      @juke_crusader 2 года назад

      @@brr3534 я то хожу, потому и жалуюсь(

  • @poker_7775
    @poker_7775 2 года назад

    я сидел писал этот код,И оппаа выходит ошибка , посидел 30минут и оказывается я 'length' написал 'lenght'

  • @IamRAVe
    @IamRAVe 2 года назад +1

    квадратный тоннель из хоррора

  • @анатолійзаграфов
    @анатолійзаграфов 2 года назад

    Респект!!!Где можна такому научитса?

  • @murrmeoow5761
    @murrmeoow5761 2 года назад

    Люблю твои видео, но приколы не в тему.

  • @ВасилийШумилов-о8ь
    @ВасилийШумилов-о8ь 2 года назад

    Шейдеры это так интересно но так не понятно. Непонятно - это когда пробелы в познаниях на которые не может положиться новый материал

  • @shadowsscripts
    @shadowsscripts 2 года назад

    Выглядит как 3Д

  • @user-yu6cu5ot4u
    @user-yu6cu5ot4u 2 года назад

    3 шипа...

  • @1mpulse696
    @1mpulse696 2 года назад +1

    На питоне игры делать, лол, это убого

    • @quadroninja2708
      @quadroninja2708 2 года назад

      Та нормально, если не какой-нибудь шутер.

    • @israinddertou5973
      @israinddertou5973 2 года назад

      Да убого, но он игру не делал, если ты не заметил.