Hacker Newsnew | past | comments | ask | show | jobs | submit | apresmoi's commentslogin

true, its corrected now! I was using colored blocks, now I prebaked the animation frames into ascii billboards

hey, thanks for the feedback. I was working on a fix for the lightning, should look better now

Hey! I have been working on adapting the cssQuake.wtf port of Quake to ascii!

All you see in screen is ascii, of course that in order to achieve some of the required definition I had to do layers of ascii at different font sizes.

The code is fully opensource at https://github.com/apresmoi/asciiQuake


Thanks for the report, I have fixed it already!


working on it!


send it over when you have it so I can put it in the showcase :)


Really nice. You could use polycss.com and render the library and form all together!


Thanks! The gallery holds real 3D files (.glb/.obj/.vox), ~300 KB each. The ASCII isn't stored, it's rendered live from the mesh. Its size only depends on the grid resolution, not the model: a full-screen view is ~150×50 characters, so around ~10 KB of text (a cube and a detailed mesh would produce the same byte count)



Yes, you can render on server and if you include CSS transitions/animations, you get an animated 3d render without the need for JS !

We haven't built it yet, but its on the roadmap


I'm all for experimentation but getting rid of JS in this case almost certainly results in worse performance. You're trading a bit of load time for significantly slower runtime/rendering.


Huh.... why would a CSS animation of a transform be slower than JS? This is strictly for the "CSS transform" case ofc - obviously pure webgl would be way faster.

I'm having a hard time seeing it. My experiments with CSS animation have always performed much better in CSS than JS (again, excluding it being pure webgl/canvas JS).

And ofc there's the nice bonus that it works if I haven't chosen to trust and whitelist their website for JS yet.


I meant slower vs. WebGL rendering, which requires JS. Each triangle is rendered as a DOM node. There can be thousands of triangles in a single model.

The gallery has been updated with more models. Compare the same model in PolyCSS vs. Three.js:

https://polycss.com/gallery/?model=205023689 (13 fps)

https://threejs.org/examples/#webgl_animation_skinning_morph (60 fps)


Oh. Sure, that is pretty obvious. A triangle in webgl is so much more lightweight than building it out of DOM elements but this was more about "if one is going to use this CSS system, why not support a pure CSS viewing mode" - which right now, it does not - rotation requires JS and is pretty stuttery. I was thinking it should actually be a bit smoother if there was a "toggle on/off rotation using a CSS animation" option. Plus, something like that could easily be done in pure CSS if JS was disabled, which would make the output all the more accessible and offer a good usecase.

It could also be helpful in scenarios where JS is restricted - emails? iframes? bulleting board user content? Dunno. Trying to come up with some that aren't just "nemo was running umatrix and doesn't trust your site just yet"


It's like transcoding a video into a GIF so that it can render everywhere. It will probably work but it's not really a serious option.


well, people do in fact still do that. or APNG or WEBP. But, all I was focused on was the initial comment was on if you were going to use this particular tool, it'd be nice if it had a pure CSS rotate mode, which makes a fair amount of sense given "working without JS" is probably one of the few significant use cases anyway (unless, you reeeeeally need your model to be tightly integrated into the DOM for some reason).

So, saying that CSS would be worse than JS as a feature for this project did not really make sense. We weren't talking about "should the project even exist" (I feel it should and it's awesome ;) )


That is a good observation, being able to do a 3D animation only with HTML+CSS means that it works on js blocked websites!

Of course that the animations won't map to all the animations you can manage with js.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: