И слушать интересно, и человек приятный. Это следствие того, что это настоящий специалист и нет ему резона выпендриваться.
@Satabol4 жыл бұрын
Спасибо, просто интересно было слушать.
@angelicoctahedron36464 жыл бұрын
Еще конечно можно было-бы при помощи тех-же шейдеров рассчет позиций переписать. Выиграли бы сразу на двух вещах: - распараллеливается не только отрисовка, но и рассчет. - нет обмена данными на каждый кадр между CPU и GPU. Вопрос только в том, а есть ли в WebGL компьютерные шейдеры...
@dmitryrukavishnikov67113 жыл бұрын
Такое вполне возможно, и это действительно должно ускорить отрисовку за счет устранения необходимости передавать данные на видеокарту. Все что понадобиться - передать начальные координаты, начальные скорости и время. Координаты и скорости передаются через атрибуты (данные, которые уникальны для каждого экземпляра шейдера). А время нужно будет передавать не через атрибуты а через интерфейс uniform. Uniform - способ передачи данных, которые одинаковы для каждого шейдера.
@СЭДМИ4 жыл бұрын
все видео: 🙏
@iarde34226 ай бұрын
"На regexе" - если бы это было "на regexе", то кода было бы в 10 раз меньше. Да, вообще,в 2 строчки можно было бы всё написать, думаю.
@nikolaisemko58412 жыл бұрын
Что-то я не догнал. пример на JS в этом видео работает в раз 10-15 медленнее. Почему в 1,5 раза? Может докладчик ошибся. В 1,5 раза в сравнении с WebGL, а не с JS?
@xenonist45024 жыл бұрын
Подскажите, пожалуйста, что ещё за resizeArray в коде? На 9 строчке в файле физики
@programmers_imprint Жыл бұрын
Не узнали что это?
@xenonist4502 Жыл бұрын
@@programmers_imprint не, я даже уже не помню что за видео :):
@programmers_imprint Жыл бұрын
@@xenonist4502 ну если вдруг нужно, это просто ресайз для типизированного массива. Примерно так: const resizeArray = (arr, len) => { if (arr.length === len) return arr const resizedArrayBuffer = new ArrayBuffer(len), resizedView = new Float32Array(resizedArrayBuffer) for (let i = 0; i < arr.length; i++) { resizedView[i] = arr[i]; } return resizedView; }
@mgevlich4 жыл бұрын
Вот зачем нужен webassembly если он всеголишь в 1.5 раза быстрее и только лишь потому что работает на числах с меньшей точностью?! Не понятно.
@ammonjerro3964 жыл бұрын
и правда, какие-то жалкие 50%, кому они нужны.
@mgevlich4 жыл бұрын
@@ammonjerro396 и правда, какие то жалкие 32 бита. Кому они нужны.
@angelicoctahedron36464 жыл бұрын
@@mgevlich а чего вдруг 64-битные будут складываться медленее? И там и там по итогу вроде как одна машинная операция.
@mgevlich4 жыл бұрын
@@angelicoctahedron3646 в вебасембли завезли 64 разрядную точность?
@kostya_super Жыл бұрын
А зачем нам большая точность, если от этого пикселей на экране не станет больше?
@torcher50232 жыл бұрын
А представляете, если бы мы жили в мире, где для так называемых программистов написать простенький шейдер или функцию на СИ не являлось бы "самым низким уровнем"
@-THE-MASTER-5 жыл бұрын
Доклад для домохозяек... Неужели эти люди в зале считают себя программистами, если им нужно разжёвывать что такое выравнивание, смещение во линейном буфере и пр... Думаю, что ASM/C/C++/GLSL/HLSL/SPIR-V программисты с каждым годом будут стоить всё дороже и дороже :-)
@JohnDoe-lw7yb5 жыл бұрын
Ну, не думаю. Это ведь доклад не для матёрых сишников, а фронтэндеров, которых до выравнивания не пускают :) Я запариваюсь с тем, чтобы компилятор мой цикл развернул в автовекторизацию, но узнать как там у них мне было интересно. А священная -война- срач что [language] недостоин звание true - это дерьмо. Если в своей нише тот же php выполняет свою задачу - он хорош, тупо требовать от него выравнивание с ручной работой с памятью. P. S. Ненавижу PHP ;)
@RafaelShepard5 жыл бұрын
Это доклад для фронтендеров. Что за прикол у таких как ты постоянно в комментах такие штуки писать? (для конкретики:"ХА, доклад для домохозяек! И вы называете себя программистами! ХА! ") Вам не хватает внимания\признания\или еще чего ? Мне любопытно что ты ответишь, что бы я раз и навсегда перестал себя спрашивать: "Если ты занимаешься другими вещами, то зачем ты заходишь сюда и выебываешся?)". Развейте свою иллюзию, что вы занимаетесь супер сложными вещами, недосягаемыми другими, смертными, ведь при желании, любой из сидящих в зале может научиться всему, чему пожелает. В этом и есть смысл таких докладов - развитие. И складывается впечатление, что вам действительно не хватает чего-то, раз вы лезете сюда. *вы, в моем сообщении - вся тусовка таких умников как ты.
@-THE-MASTER-5 жыл бұрын
@@RafaelShepard , ой...да брось, причём тут выёбываться, детский сад какой-то, мы ж не политики, что бы заниматься пустозвонством... Я сюда зашёл только потому, что мне по работе нужно было накидать один модуль для видео стрима через сеть, в котором я думал сделать gui (hud) на чистом WebGL (возможно через imgui), а сам стрим на кодеке h.264/hevc с ручным кодированием фреймов, по этому мне нужно было разобраться, что сейчас на острие копья технологий для web-а, краем уха услышал, что сейчас модно webassembly, стал копать информацию и к сожалению она оказалась на столько разрозненна и для откровенных нубов, что я долго по крупицам собирал то, что хотел узнать, т.к. в каждой статье или видеоролике автор всё время городил тонну какой-то общеизвестной чуши, которую по идее должен знать любой программист по дефолту, то есть тонны галимой "информации" для откровенных домохозяек и минимум конкретики по теме, по этому это и вызвало моё негодование ))) Да забей, я уже давно этот вопрос закрыл, тупо собираешь всё через emscripten и траблов ноль, кстати это можно было сказать одной фразой и ролик бы длился 2 секунды )) P.S.: забей на всё, лучше мой старый ролик с процедурной геометрией посмотри :-) kzbin.info/www/bejne/ioiklGyjl7N7fcU
@ollegat4 жыл бұрын
Обычный напыщенный сноб, но это его личная половая драма. Докладчик же просто огонь, учитель от бога 8)
@tozpeak3 жыл бұрын
@@-THE-MASTER- А зачем делать gui на чистом WebGL? Разве не оптимальнее использовать для интерфейса html, который вроде как должен без обёрток рендерится браузером?