home.social

#wgpu — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #wgpu, aggregated by home.social.

fetched live
  1. Как я пишу RTS про Марс на Rust вместе с ИИ-агентами: архитектура, ошибки и 400+ тестов

    Можно ли одному человеку собрать не демо, а работающую классическую RTS, если почти весь код пишут несколько ИИ-агентов? Я проверяю это на неудобной задаче: Марс 1:1, Rust + wgpu, камера от орбиты до ног робота, отдельная детерминированная симуляция, единая шина команд для человека, сети и ИИ. Разбираю, что уже работает к середине проекта, как устроены научные карты и BUS, почему 15 мс «в API» оказались ожиданием GPU, как тест на одном ПК скрыл сетевой лаг и какие красивые решения пришлось выбросить после измерений. Читать разбор

    habr.com/ru/articles/1068148/

    #Rust #wgpu #gamedev #RTS #ИИагенты #процедурная_генерация #компьютерная_графика #сетевой_код #геоданные #детерминизм

  2. Как я пишу RTS про Марс на Rust вместе с ИИ-агентами: архитектура, ошибки и 400+ тестов

    Можно ли одному человеку собрать не демо, а работающую классическую RTS, если почти весь код пишут несколько ИИ-агентов? Я проверяю это на неудобной задаче: Марс 1:1, Rust + wgpu, камера от орбиты до ног робота, отдельная детерминированная симуляция, единая шина команд для человека, сети и ИИ. Разбираю, что уже работает к середине проекта, как устроены научные карты и BUS, почему 15 мс «в API» оказались ожиданием GPU, как тест на одном ПК скрыл сетевой лаг и какие красивые решения пришлось выбросить после измерений. Читать разбор

    habr.com/ru/articles/1068148/

    #Rust #wgpu #gamedev #RTS #ИИагенты #процедурная_генерация #компьютерная_графика #сетевой_код #геоданные #детерминизм

  3. Как я пишу RTS про Марс на Rust вместе с ИИ-агентами: архитектура, ошибки и 400+ тестов

    Можно ли одному человеку собрать не демо, а работающую классическую RTS, если почти весь код пишут несколько ИИ-агентов? Я проверяю это на неудобной задаче: Марс 1:1, Rust + wgpu, камера от орбиты до ног робота, отдельная детерминированная симуляция, единая шина команд для человека, сети и ИИ. Разбираю, что уже работает к середине проекта, как устроены научные карты и BUS, почему 15 мс «в API» оказались ожиданием GPU, как тест на одном ПК скрыл сетевой лаг и какие красивые решения пришлось выбросить после измерений. Читать разбор

    habr.com/ru/articles/1068148/

    #Rust #wgpu #gamedev #RTS #ИИагенты #процедурная_генерация #компьютерная_графика #сетевой_код #геоданные #детерминизм

  4. Ratatui keeps getting wilder! 🐀

    🧀 **bevy_tui_texture** — Render @ratatui_rs interfaces directly onto textures in Bevy

    💯 Retro CRT WASM demo: tt-toe.github.io/bevy_tui_text

    🦀 GUI apps meet TUIs w/ Rust!

    ⭐ GitHub: github.com/tt-toe/bevy_tui_tex

    #rustlang #ratatui #bevy #gamedev #wgpu #opensource

  5. Ratatui keeps getting wilder! 🐀

    🧀 **bevy_tui_texture** — Render @ratatui_rs interfaces directly onto textures in Bevy

    💯 Retro CRT WASM demo: tt-toe.github.io/bevy_tui_text

    🦀 GUI apps meet TUIs w/ Rust!

    ⭐ GitHub: github.com/tt-toe/bevy_tui_tex

  6. Ratatui keeps getting wilder! 🐀

    🧀 **bevy_tui_texture** — Render @ratatui_rs interfaces directly onto textures in Bevy

    💯 Retro CRT WASM demo: tt-toe.github.io/bevy_tui_text

    🦀 GUI apps meet TUIs w/ Rust!

    ⭐ GitHub: github.com/tt-toe/bevy_tui_tex

    #rustlang #ratatui #bevy #gamedev #wgpu #opensource

  7. Ratatui keeps getting wilder! 🐀

    🧀 **bevy_tui_texture** — Render @ratatui_rs interfaces directly onto textures in Bevy

    💯 Retro CRT WASM demo: tt-toe.github.io/bevy_tui_text

    🦀 GUI apps meet TUIs w/ Rust!

    ⭐ GitHub: github.com/tt-toe/bevy_tui_tex

    #rustlang #ratatui #bevy #gamedev #wgpu #opensource

  8. Ratatui keeps getting wilder! 🐀

    🧀 **bevy_tui_texture** — Render @ratatui_rs interfaces directly onto textures in Bevy

    💯 Retro CRT WASM demo: tt-toe.github.io/bevy_tui_text

    🦀 GUI apps meet TUIs w/ Rust!

    ⭐ GitHub: github.com/tt-toe/bevy_tui_tex

    #rustlang #ratatui #bevy #gamedev #wgpu #opensource

  9. I was able to understand that, to update the texture, I need to call queue.write_texture(). The only question is, how do I get hold of queue, if I'm using eframe/egui.

    I still am not feeling frustrated for some reason, because I'm still learning.

    I do have a way to get video frame, I just want to show it on screen and also apply shaders to it.

  10. youtube.com/live/fc5W-PhbyGs Trying to make a video editor in wgpu 🤞

    A video editor where you have to use shaders for everything, filters, effects.

    Decode the video, get the frame, show it in wgpu surface. Can I do it?

  11. Yes! Got it! 🥳

    Switched from #Vulkan to #WebGPU in my video synthesizer / mixer.
    Using #eframe instead of plain #egui now and also changed the API in that process.

    The application compiles again. Loading pictures and connecting them to other nodes works.

    The core, which binds everything together, is fully functional.

    Not much to see at the moment. After removing piles of old code, I will add the rest of the filter and then release.

    Cleaning up before was so worth it!

    #wgpu #rust #RustLang

  12. Yes! Got it! 🥳

    Switched from #Vulkan to #WebGPU in my video synthesizer / mixer.
    Using #eframe instead of plain #egui now and also changed the API in that process.

    The application compiles again. Loading pictures and connecting them to other nodes works.

    The core, which binds everything together, is fully functional.

    Not much to see at the moment. After removing piles of old code, I will add the rest of the filter and then release.

    Cleaning up before was so worth it!

    #wgpu #rust #RustLang

  13. Anyone familiar with this error? It occurs when I start the game I'm currently developing und #wgpu #rust .

    libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.4')

    #ubuntu #linux

  14. Anyone familiar with this error? It occurs when I start the game I'm currently developing und #wgpu #rust .

    libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.4')

    #ubuntu #linux

  15. Anyone familiar with this error? It occurs when I start the game I'm currently developing und #wgpu #rust .

    libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.4')

    #ubuntu #linux

  16. Anyone familiar with this error? It occurs when I start the game I'm currently developing und #wgpu #rust .

    libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.4')

    #ubuntu #linux

  17. Anyone familiar with this error? It occurs when I start the game I'm currently developing und #wgpu #rust .

    libEGL fatal: DRI driver not from this Mesa build ('23.2.1-1ubuntu3.1~22.04.3' vs '23.2.1-1ubuntu3.1~22.04.4')

    #ubuntu #linux

  18. Три фикса, четыре ошибки, один файл

    # Как мы четыре раза неправильно диагностировали зависание на джобе 281 339 Несколько месяцев назад я писал, [как мы четыре раза неправильно чинили мерцание]( habr.com/ru/articles/1042962/ ) при рендеринге 4,4 миллиона полигонов. Тогда казалось, что это рекорд: месяц блужданий, четыре отброшенных подхода, решение на неделю. Эта история хуже. Баг пережил четыре диагноза подряд , два из которых мы успели «подтвердить числами», получил по дороге три работающих фикса от несуществующих причин - и в итоге оказался файлом, который лежал на рабочем столе. Напомню контекст: мы небольшой командой пишем на Rust + Vulkan редактор топологий интегральных схем + верификатор (DRC/LVS/Antenna/PEX) с прицелом на российский рынок. Команда - три человека, я в роли CTO направляю архитектуру и принимаю основные решения. В том числе неверные, о которых ниже. Тестовый основной дизайн всё тот же - Caravel SkyWater SKY130: 4,4 миллиона полигонов, 1014 уникальных ячеек, 22 уровня иерархии, 278 МБ GDS (недавно воспользовались прекрасным проектом [TinyTapeout]( github.com/TinyTapeout/ ) - для прогона на различных gds) К моменту этой истории мы только что закончили перф-кампанию по паразитной экстракции (PEX). Если коротко: чтобы посчитать ёмкости, нужно сначала собрать цепи - обойти иерархию чипа BFS-ом от каждого "сида" (точки на цепи устройства) и выяснить, какие фигуры электрически связаны. На Caravel это 537 748 сидов. Кампания ужала полный холодный прогон с 962 секунд до 70: пространственный грид вместо квадратичного перебора пар, параллельные трейсы на 14 потоках, кеш результата. Все гейты бит-идентичности зелёные, CLI летает.

    habr.com/ru/articles/1047302/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  19. Три фикса, четыре ошибки, один файл

    # Как мы четыре раза неправильно диагностировали зависание на джобе 281 339 Несколько месяцев назад я писал, [как мы четыре раза неправильно чинили мерцание]( habr.com/ru/articles/1042962/ ) при рендеринге 4,4 миллиона полигонов. Тогда казалось, что это рекорд: месяц блужданий, четыре отброшенных подхода, решение на неделю. Эта история хуже. Баг пережил четыре диагноза подряд , два из которых мы успели «подтвердить числами», получил по дороге три работающих фикса от несуществующих причин - и в итоге оказался файлом, который лежал на рабочем столе. Напомню контекст: мы небольшой командой пишем на Rust + Vulkan редактор топологий интегральных схем + верификатор (DRC/LVS/Antenna/PEX) с прицелом на российский рынок. Команда - три человека, я в роли CTO направляю архитектуру и принимаю основные решения. В том числе неверные, о которых ниже. Тестовый основной дизайн всё тот же - Caravel SkyWater SKY130: 4,4 миллиона полигонов, 1014 уникальных ячеек, 22 уровня иерархии, 278 МБ GDS (недавно воспользовались прекрасным проектом [TinyTapeout]( github.com/TinyTapeout/ ) - для прогона на различных gds) К моменту этой истории мы только что закончили перф-кампанию по паразитной экстракции (PEX). Если коротко: чтобы посчитать ёмкости, нужно сначала собрать цепи - обойти иерархию чипа BFS-ом от каждого "сида" (точки на цепи устройства) и выяснить, какие фигуры электрически связаны. На Caravel это 537 748 сидов. Кампания ужала полный холодный прогон с 962 секунд до 70: пространственный грид вместо квадратичного перебора пар, параллельные трейсы на 14 потоках, кеш результата. Все гейты бит-идентичности зелёные, CLI летает.

    habr.com/ru/articles/1047302/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  20. Три фикса, четыре ошибки, один файл

    # Как мы четыре раза неправильно диагностировали зависание на джобе 281 339 Несколько месяцев назад я писал, [как мы четыре раза неправильно чинили мерцание]( habr.com/ru/articles/1042962/ ) при рендеринге 4,4 миллиона полигонов. Тогда казалось, что это рекорд: месяц блужданий, четыре отброшенных подхода, решение на неделю. Эта история хуже. Баг пережил четыре диагноза подряд , два из которых мы успели «подтвердить числами», получил по дороге три работающих фикса от несуществующих причин - и в итоге оказался файлом, который лежал на рабочем столе. Напомню контекст: мы небольшой командой пишем на Rust + Vulkan редактор топологий интегральных схем + верификатор (DRC/LVS/Antenna/PEX) с прицелом на российский рынок. Команда - три человека, я в роли CTO направляю архитектуру и принимаю основные решения. В том числе неверные, о которых ниже. Тестовый основной дизайн всё тот же - Caravel SkyWater SKY130: 4,4 миллиона полигонов, 1014 уникальных ячеек, 22 уровня иерархии, 278 МБ GDS (недавно воспользовались прекрасным проектом [TinyTapeout]( github.com/TinyTapeout/ ) - для прогона на различных gds) К моменту этой истории мы только что закончили перф-кампанию по паразитной экстракции (PEX). Если коротко: чтобы посчитать ёмкости, нужно сначала собрать цепи - обойти иерархию чипа BFS-ом от каждого "сида" (точки на цепи устройства) и выяснить, какие фигуры электрически связаны. На Caravel это 537 748 сидов. Кампания ужала полный холодный прогон с 962 секунд до 70: пространственный грид вместо квадратичного перебора пар, параллельные трейсы на 14 потоках, кеш результата. Все гейты бит-идентичности зелёные, CLI летает.

    habr.com/ru/articles/1047302/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  21. Как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов на wgpu

    Уже год мы небольшой командой пишем на Rust + wgpu редактор топологий интегральных схем — что-то вроде KLayout, только с прицелом на российский рынок. Команда — три человека. Я в роли CTO направляю архитектуру и принимаю основные технические решения. История ниже — про одну такую серию решений, которую я завёл в тупик четыре раза подряд , прежде чем мы поняли, в чём была ошибка. Тестовый дизайн у нас — Caravel SkyWater SKY130, открытый чип на ~4,4 миллиона полигонов, 1014 уникальных ячеек и 22 уровня иерархии. Полный GDS-файл — 278 МБ. Первая попытка отрендерить это на экране показала: всё работает, всё на месте. Только мерцает. Не «иногда подёргивается» — а так, что смотреть невозможно. Любой zoom или pan превращал картинку в стробоскоп: половина чипа есть, половина пропала, через кадр — наоборот. Дальше — история про то, как мы четыре раза по-разному пытались это починить, и как пятая попытка наконец заработала. Если у кого-то такой же случай — может, сэкономлю недели две.

    habr.com/ru/articles/1042962/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  22. Как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов на wgpu

    Уже год мы небольшой командой пишем на Rust + wgpu редактор топологий интегральных схем — что-то вроде KLayout, только с прицелом на российский рынок. Команда — три человека. Я в роли CTO направляю архитектуру и принимаю основные технические решения. История ниже — про одну такую серию решений, которую я завёл в тупик четыре раза подряд , прежде чем мы поняли, в чём была ошибка. Тестовый дизайн у нас — Caravel SkyWater SKY130, открытый чип на ~4,4 миллиона полигонов, 1014 уникальных ячеек и 22 уровня иерархии. Полный GDS-файл — 278 МБ. Первая попытка отрендерить это на экране показала: всё работает, всё на месте. Только мерцает. Не «иногда подёргивается» — а так, что смотреть невозможно. Любой zoom или pan превращал картинку в стробоскоп: половина чипа есть, половина пропала, через кадр — наоборот. Дальше — история про то, как мы четыре раза по-разному пытались это починить, и как пятая попытка наконец заработала. Если у кого-то такой же случай — может, сэкономлю недели две.

    habr.com/ru/articles/1042962/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  23. Как мы четыре раза неправильно чинили мерцание при рендеринге 4,4 миллиона полигонов на wgpu

    Уже год мы небольшой командой пишем на Rust + wgpu редактор топологий интегральных схем — что-то вроде KLayout, только с прицелом на российский рынок. Команда — три человека. Я в роли CTO направляю архитектуру и принимаю основные технические решения. История ниже — про одну такую серию решений, которую я завёл в тупик четыре раза подряд , прежде чем мы поняли, в чём была ошибка. Тестовый дизайн у нас — Caravel SkyWater SKY130, открытый чип на ~4,4 миллиона полигонов, 1014 уникальных ячеек и 22 уровня иерархии. Полный GDS-файл — 278 МБ. Первая попытка отрендерить это на экране показала: всё работает, всё на месте. Только мерцает. Не «иногда подёргивается» — а так, что смотреть невозможно. Любой zoom или pan превращал картинку в стробоскоп: половина чипа есть, половина пропала, через кадр — наоборот. Дальше — история про то, как мы четыре раза по-разному пытались это починить, и как пятая попытка наконец заработала. Если у кого-то такой же случай — может, сэкономлю недели две.

    habr.com/ru/articles/1042962/

    #rust #wgpu #gpu #instanced_rendering #оптимизация_производительности #рендеринг #computer_graphics #eda #vulkan_api

  24. Sometimes writing #Rust is like figuring out how to draw a line in Java. First you make a Brush, Pen, Color, Stroke, and then you call the new Line...

    I'm talking about WGPU APIs at the moment, but it just word mess.

    #WGPU #Rust

  25. Sometimes writing #Rust is like figuring out how to draw a line in Java. First you make a Brush, Pen, Color, Stroke, and then you call the new Line...

    I'm talking about WGPU APIs at the moment, but it just word mess.

    #WGPU #Rust

  26. Sometimes writing #Rust is like figuring out how to draw a line in Java. First you make a Brush, Pen, Color, Stroke, and then you call the new Line...

    I'm talking about WGPU APIs at the moment, but it just word mess.

    #WGPU #Rust

  27. Sometimes writing #Rust is like figuring out how to draw a line in Java. First you make a Brush, Pen, Color, Stroke, and then you call the new Line...

    I'm talking about WGPU APIs at the moment, but it just word mess.

    #WGPU #Rust

  28. Sometimes writing #Rust is like figuring out how to draw a line in Java. First you make a Brush, Pen, Color, Stroke, and then you call the new Line...

    I'm talking about WGPU APIs at the moment, but it just word mess.

    #WGPU #Rust

  29. Orbiter is a generative ambient music system for the web + Linux, macOS, Win, iOS, Android, available also as DAW plugins. Enjoy!

    Orbiter has a built-in neural sequencer, to compose meditative music, or for you to compose together with it — driving physically modelled instruments.

    orbiter.audio/blog/introducing

    #dsp #vst #clap #ml #rust #webgpu #wgpu #wasm #ambient

  30. Orbiter is a generative ambient music system for the web + Linux, macOS, Win, iOS, Android, available also as DAW plugins. Enjoy!

    Orbiter has a built-in neural sequencer, to compose meditative music, or for you to compose together with it — driving physically modelled instruments.

    orbiter.audio/blog/introducing

  31. Orbiter is a generative ambient music system for the web + Linux, macOS, Win, iOS, Android, available also as DAW plugins. Enjoy!

    Orbiter has a built-in neural sequencer, to compose meditative music, or for you to compose together with it — driving physically modelled instruments.

    orbiter.audio/blog/introducing

    #dsp #vst #clap #ml #rust #webgpu #wgpu #wasm #ambient

  32. Orbiter is a generative ambient music system for the web + Linux, macOS, Win, iOS, Android, available also as DAW plugins. Enjoy!

    Orbiter has a built-in neural sequencer, to compose meditative music, or for you to compose together with it — driving physically modelled instruments.

    orbiter.audio/blog/introducing

    #dsp #vst #clap #ml #rust #webgpu #wgpu #wasm #ambient

  33. Orbiter is a generative ambient music system for the web + Linux, macOS, Win, iOS, Android, available also as DAW plugins. Enjoy!

    Orbiter has a built-in neural sequencer, to compose meditative music, or for you to compose together with it — driving physically modelled instruments.

    orbiter.audio/blog/introducing

    #dsp #vst #clap #ml #rust #webgpu #wgpu #wasm #ambient

  34. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  35. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  36. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  37. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  38. I am still developing my “grab a repo to build and run it” skills with #rust.
    On my (mostly up to date) MacOS boxes this is fairly straightforward, but trying to coax code into building and running successfully on older hardware (eg ten year old raspberry pi) is harder and I’m still working out which things to fiddle on Cargo.toml to adjust how things are built. #GLEW #egui #wgpu

  39. wgpu v0.29.0 is out 🎉

    • get_current_texture → CurrentSurfaceTexture enum (no more SurfaceError)
    • Display handle moved to InstanceDescriptor (winit friendly)
    • Optional bind group layouts →full unbinding support
    • WriteOnly<[u8]>for safe mapped buffer writes

    #rust #wgpu

  40. wgpu v0.29.0 is out 🎉

    • get_current_texture → CurrentSurfaceTexture enum (no more SurfaceError)
    • Display handle moved to InstanceDescriptor (winit friendly)
    • Optional bind group layouts →full unbinding support
    • WriteOnly<[u8]>for safe mapped buffer writes

    #rust #wgpu

  41. wgpu v0.29.0 is out 🎉

    • get_current_texture → CurrentSurfaceTexture enum (no more SurfaceError)
    • Display handle moved to InstanceDescriptor (winit friendly)
    • Optional bind group layouts →full unbinding support
    • WriteOnly<[u8]>for safe mapped buffer writes

    #rust #wgpu

  42. wgpu v0.29.0 is out 🎉

    • get_current_texture → CurrentSurfaceTexture enum (no more SurfaceError)
    • Display handle moved to InstanceDescriptor (winit friendly)
    • Optional bind group layouts →full unbinding support
    • WriteOnly<[u8]>for safe mapped buffer writes

    #rust #wgpu

  43. wgpu v0.29.0 is out 🎉

    • get_current_texture → CurrentSurfaceTexture enum (no more SurfaceError)
    • Display handle moved to InstanceDescriptor (winit friendly)
    • Optional bind group layouts →full unbinding support
    • WriteOnly<[u8]>for safe mapped buffer writes

    #rust #wgpu

  44. Colors are not mine, this is just how #wgpu-native has it :blobcat_thisisfine:

    I finally looked up the story about Lemonodor, so yeah, I am way late to that party... I don't even understand why I am doing #commonlisp, but for some reason, I find it addictive.

    And so, after 3 months of pretty intense work, I proudly present this beauty—THE TRIANGLE!!! :blobcat_dundundun:

    It’s the wgpu-native triangle example implemented in CL with the #wgpu bindings lib I’ve been working on. I hope I can now exhale, relax, and take a small break. And then jump into it again. Refreshed. A bit, at least.

    There’s going to be a lot of work to clean up the mess I made while zerg rushing things with my brain cells in these past 3 months before I start expanding the API. I hope wgpu-native will continue to bless me with smooth rendering and zero crashes. 🤞

    github.com/keelah-mt/cl-kl-wgpu

    #cffi #lisp #programming

  45. Colors are not mine, this is just how #wgpu-native has it :blobcat_thisisfine:

    I finally looked up the story about Lemonodor, so yeah, I am way late to that party... I don't even understand why I am doing #commonlisp, but for some reason, I find it addictive.

    And so, after 3 months of pretty intense work, I proudly present this beauty—THE TRIANGLE!!! :blobcat_dundundun:

    It’s the wgpu-native triangle example implemented in CL with the #wgpu bindings lib I’ve been working on. I hope I can now exhale, relax, and take a small break. And then jump into it again. Refreshed. A bit, at least.

    There’s going to be a lot of work to clean up the mess I made while zerg rushing things with my brain cells in these past 3 months before I start expanding the API. I hope wgpu-native will continue to bless me with smooth rendering and zero crashes. 🤞

    github.com/keelah-mt/cl-kl-wgpu

    #cffi #lisp #programming

  46. Colors are not mine, this is just how #wgpu-native has it :blobcat_thisisfine:

    I finally looked up the story about Lemonodor, so yeah, I am way late to that party... I don't even understand why I am doing #commonlisp, but for some reason, I find it addictive.

    And so, after 3 months of pretty intense work, I proudly present this beauty—THE TRIANGLE!!! :blobcat_dundundun:

    It’s the wgpu-native triangle example implemented in CL with the #wgpu bindings lib I’ve been working on. I hope I can now exhale, relax, and take a small break. And then jump into it again. Refreshed. A bit, at least.

    There’s going to be a lot of work to clean up the mess I made while zerg rushing things with my brain cells in these past 3 months before I start expanding the API. I hope wgpu-native will continue to bless me with smooth rendering and zero crashes. 🤞

    github.com/keelah-mt/cl-kl-wgpu

    #cffi #lisp #programming

  47. Colors are not mine, this is just how #wgpu-native has it :blobcat_thisisfine:

    I finally looked up the story about Lemonodor, so yeah, I am way late to that party... I don't even understand why I am doing #commonlisp, but for some reason, I find it addictive.

    And so, after 3 months of pretty intense work, I proudly present this beauty—THE TRIANGLE!!! :blobcat_dundundun:

    It’s the wgpu-native triangle example implemented in CL with the #wgpu bindings lib I’ve been working on. I hope I can now exhale, relax, and take a small break. And then jump into it again. Refreshed. A bit, at least.

    There’s going to be a lot of work to clean up the mess I made while zerg rushing things with my brain cells in these past 3 months before I start expanding the API. I hope wgpu-native will continue to bless me with smooth rendering and zero crashes. 🤞

    github.com/keelah-mt/cl-kl-wgpu

    #cffi #lisp #programming

  48. Colors are not mine, this is just how #wgpu-native has it :blobcat_thisisfine:

    I finally looked up the story about Lemonodor, so yeah, I am way late to that party... I don't even understand why I am doing #commonlisp, but for some reason, I find it addictive.

    And so, after 3 months of pretty intense work, I proudly present this beauty—THE TRIANGLE!!! :blobcat_dundundun:

    It’s the wgpu-native triangle example implemented in CL with the #wgpu bindings lib I’ve been working on. I hope I can now exhale, relax, and take a small break. And then jump into it again. Refreshed. A bit, at least.

    There’s going to be a lot of work to clean up the mess I made while zerg rushing things with my brain cells in these past 3 months before I start expanding the API. I hope wgpu-native will continue to bless me with smooth rendering and zero crashes. 🤞

    github.com/keelah-mt/cl-kl-wgpu

    #cffi #lisp #programming

  49. Shoutout to @juretriglav 's "Surfel-based global illumination on the web"

    Genuinely one of the best posts I have ever seen. If you are interested in #GI #wgpu or #rendering and #graphics in general, I definitely recommend it.

    I love playing around with the multi-scale mean estimator :D

    juretriglav.si/surfel-based-gl

  50. Shoutout to @juretriglav 's "Surfel-based global illumination on the web"

    Genuinely one of the best posts I have ever seen. If you are interested in #GI #wgpu or #rendering and #graphics in general, I definitely recommend it.

    I love playing around with the multi-scale mean estimator :D

    juretriglav.si/surfel-based-gl

  51. Shoutout to @juretriglav 's "Surfel-based global illumination on the web"

    Genuinely one of the best posts I have ever seen. If you are interested in #GI #wgpu or #rendering and #graphics in general, I definitely recommend it.

    I love playing around with the multi-scale mean estimator :D

    juretriglav.si/surfel-based-gl

  52. Shoutout to @juretriglav 's "Surfel-based global illumination on the web"

    Genuinely one of the best posts I have ever seen. If you are interested in #GI #wgpu or #rendering and #graphics in general, I definitely recommend it.

    I love playing around with the multi-scale mean estimator :D

    juretriglav.si/surfel-based-gl

  53. Shoutout to @juretriglav 's "Surfel-based global illumination on the web"

    Genuinely one of the best posts I have ever seen. If you are interested in #GI #wgpu or #rendering and #graphics in general, I definitely recommend it.

    I love playing around with the multi-scale mean estimator :D

    juretriglav.si/surfel-based-gl

  54. So this is the first time I'm doing anything raw #Vulkan in #RustLang, and ash is actually nice to work with (save all the unsafe-ness). Coming from #wgpu, the biggest difference is of course having to take care of memory allocations and synchronization yourself (and that there is no alternative to render passes in wgpu yet). Instead of VMA (and its #Rust-wrapper vk_mem) I picked github.com/Traverse-Research/g, which is also used by wgpu's Vulkan and D3D12 backends.

  55. So this is the first time I'm doing anything raw #Vulkan in #RustLang, and ash is actually nice to work with (save all the unsafe-ness). Coming from #wgpu, the biggest difference is of course having to take care of memory allocations and synchronization yourself (and that there is no alternative to render passes in wgpu yet). Instead of VMA (and its #Rust-wrapper vk_mem) I picked github.com/Traverse-Research/g, which is also used by wgpu's Vulkan and D3D12 backends.

  56. So this is the first time I'm doing anything raw #Vulkan in #RustLang, and ash is actually nice to work with (save all the unsafe-ness). Coming from #wgpu, the biggest difference is of course having to take care of memory allocations and synchronization yourself (and that there is no alternative to render passes in wgpu yet). Instead of VMA (and its #Rust-wrapper vk_mem) I picked github.com/Traverse-Research/g, which is also used by wgpu's Vulkan and D3D12 backends.

  57. So this is the first time I'm doing anything raw #Vulkan in #RustLang, and ash is actually nice to work with (save all the unsafe-ness). Coming from #wgpu, the biggest difference is of course having to take care of memory allocations and synchronization yourself (and that there is no alternative to render passes in wgpu yet). Instead of VMA (and its #Rust-wrapper vk_mem) I picked github.com/Traverse-Research/g, which is also used by wgpu's Vulkan and D3D12 backends.

  58. So this is the first time I'm doing anything raw #Vulkan in #RustLang, and ash is actually nice to work with (save all the unsafe-ness). Coming from #wgpu, the biggest difference is of course having to take care of memory allocations and synchronization yourself (and that there is no alternative to render passes in wgpu yet). Instead of VMA (and its #Rust-wrapper vk_mem) I picked github.com/Traverse-Research/g, which is also used by wgpu's Vulkan and D3D12 backends.

  59. I finally got my head around WebGPU/wgpu enough to make my own render graph. Now the bubble universe thing is decomposed into a graph of render passes, and I've got some simple parameter animation going.

    In this screencap, I'm varying the particle size and transparency and varying the number of particles in two ways in sync with the universe's revolution. The color map is just doing its own thing; that wasn't planned.

    🧵 8/N

    #BubbleUniverse #wgpu

  60. I finally got my head around WebGPU/wgpu enough to make my own render graph. Now the bubble universe thing is decomposed into a graph of render passes, and I've got some simple parameter animation going.

    In this screencap, I'm varying the particle size and transparency and varying the number of particles in two ways in sync with the universe's revolution. The color map is just doing its own thing; that wasn't planned.

    🧵 8/N

    #BubbleUniverse #wgpu