正在加载视频...

视频加载失败

Not many seem to know this, but opentui lets you render Threejs scenes fully WebGPU accelerated. To the terminal. No special terminal features needed beyond 24bit color. It's all just partial block chars.

308,576 次观看 • 7 个月前 •via X (Twitter)

47 条评论

ThePrimeagen 的头像
ThePrimeagen7 个月前

wait... a second...

Patrick Smith 的头像
Patrick Smith7 个月前

I love all the advances in handware and software, and then we swoon over Playstation 1 graphics.

⅏ 的头像
7 个月前

Sad part is that all of it is Javascript.

kmdr 的头像
kmdr7 个月前

That's the fun part

⅏ 的头像
7 个月前

Not fun for performance.

kmdr 的头像
kmdr7 个月前

It's mostly GPU + zig after setting up the scene via js. It's fun.

⅏ 的头像
7 个月前

Webgpu via JS (threejs, vue, ... who cares). Sad, sad history is being built.

⅏ 的头像
7 个月前

This is not the same 3D that was in your original tweet. The JS wrapper and the logic makes the zig portion inaccessible. JS is just sloppy, it is sad to see good engineers stuck with JS.

Navneet 的头像
Navneet7 个月前

clever hack - those braille and block elements in Unicode are basically a 2x4 and 2x3 pixel buffer. combine that with 24-bit color and you've got a legit framebuffer, just really low res. terminal as display driver is wild

Tai Groot 🐧 的头像
Tai Groot 🐧7 个月前

Does this require a GPU? I have a similar one using software decode in go, no threejs support tho

kmdr 的头像
kmdr7 个月前

Oh nice! Dawn WebGPU doesn't currently come with a CPU renderer backend out of the box afaik. It supports Vulkan though, so it might be possible to hook it up with a mesa software rendering pipeline.

Tai Groot 🐧 的头像
Tai Groot 🐧7 个月前

Cool. Different use cases then! Mine was built to let me view 3d models on a vps without a GPU over ssh. This is super cool though. Making me think

kmdr 的头像
kmdr7 个月前

I played with a TinyRenderer implementation before I went full webgpu with Threejs. Would be possible to bring in a software renderer, not trivial though.

Tom Miller 的头像
Tom Miller7 个月前

More and more terminals are adopting the Sixel protocol, which adds full graphics support: Unicode fonts are also improving: This is what terminal Unicode text looks like:

kmdr 的头像
kmdr7 个月前

Yeah, I'll support that as well.

S.G. Karam (Author of Kings of Copper Trilogy) 的头像
S.G. Karam (Author of Kings of Copper Trilogy)7 个月前

Wow... that worked way better than expected!

kmdr 的头像
kmdr7 个月前

Fun, right?

S.G. Karam (Author of Kings of Copper Trilogy) 的头像
S.G. Karam (Author of Kings of Copper Trilogy)7 个月前

Absolutely. I'm ready to make the first person data deletion tool of my dreams.

Zoe Sterling 的头像
Zoe Sterling7 个月前

rendering 3D scenes with block characters is the most unhinged beautiful thing i've seen this week and i once watched someone run doom on a pregnancy test

Jacob Alley 的头像
Jacob Alley7 个月前

but like why? the point of the terminal is it isn't a gui

⌞· τaoli ·⌟ 的头像
⌞· τaoli ·⌟7 个月前

Computers started in the terminal, then we invented graphics that could do the most mind boggling renders (like what @XorDev does), only to round trip to the terminal. Who could've predicted.

Ian Laffey 的头像
Ian Laffey7 个月前

omfg incredible

Aryas 的头像
Aryas7 个月前

Incredibly cool

Glen Maddern 的头像
Glen Maddern7 个月前

@thdxr Fkn pls someone please give me the Lawnmower Man UI that I have wanted since I was 10 years old

ProEvilz 的头像
ProEvilz7 个月前

yeah but it looks like ass so who even wants that? Fully quality here for reference

Will 的头像
Will7 个月前

You adding this to your terminal @yacineMTB

ashish 的头像
ashish7 个月前

wtf

Mark Stewart 的头像
Mark Stewart7 个月前

Reminds me of when I programmed a skiing game on my TI 994a Basic by redefining the font shapes (as trees) and printing them at the bottom and animating by adding new lines at the bottom…

lalo 🐧 的头像
lalo 🐧7 个月前

this is why im not going to sleep tonight.

Fredkisss 的头像
Fredkisss7 个月前

Now for the real test: Can it run doom ?

Carl Assmann 的头像
Carl Assmann7 个月前

is this also technically a game engine? :p ❤️

Jack 的头像
Jack7 个月前

Next level!Basically telling me my terminal had a GPU this whole time and just never told me

marc0 的头像
marc07 个月前

Next up: A Threejs rendered terminal with opentui running inside of it for the full circle. ➰

Fieldsy 的头像
Fieldsy7 个月前

You know what you have to doom

deerpilledd 的头像
deerpilledd7 个月前

what in the jazzpunk soundtrack am i hearing

Berend de Boer 的头像
Berend de Boer7 个月前

Did anyone know this was all possible in the terminal? I've been a terminal user all my long life, never ever seen this mentioned or hinted at.

Colton Batts 的头像
Colton Batts7 个月前

building this in rust

苏打白.Dev 的头像
苏打白.Dev7 个月前

Using WebGPU (the most cutting-edge graphics interface) to drive Terminal (the oldest interactive interface) is such a huge contrast that it's practically a geek's dream.

kmdr 的头像
kmdr7 个月前

It's fun, many don't seem to get this.

Amar Patel 的头像
Amar Patel7 个月前

This is wizardry @doodlestein - franken this! 😜

Ivan Chebykin 的头像
Ivan Chebykin7 个月前

WOW! Can you share a link to this demo? It's so, so cool!

moreward (moreboxed.com) 的头像
moreward (moreboxed.com)7 个月前

Very cool. Dawn or wgpu (rust)>

kmdr 的头像
kmdr7 个月前

Dawn

Critters 的头像
Critters7 个月前

WHAT

l0gicgate 的头像
l0gicgate7 个月前

This is incredible stuff man, love watching you push the limits of what can be done in the terminal!

Moritz 的头像
Moritz7 个月前

opentui can do that??

Alex Ellis 的头像
Alex Ellis7 个月前

I'm getting Duke Nukem vibes from this

相关视频