Figured out the basics for drawing stuff I think. The docs are pretty great.

Also, I'm becoming a freaking ACME magician, I love the chords scheme thingy.

I think I will make a cookbook with a bunch of examples files like I did for Think Pascal and 6502 Assembly.

Managed to compile asm6 with pcc and resume my 6502 work, only this time, in .

Dreams do come true.

Implemented bresenham line.
Left is 's line() and right is bresenham.

I know I told myself I wouldn't waste time doing this but the babyblue was NOT calming me down, at all.

Teaching myself how to mod rio. Added wallpapers support from scratch today. Plan9 is amazing, it's everything I was promised, it's now my main daily driver.

Made 's Acme feel a bit more confortable, hacked it a bit so shift+arrows move the selection left and right. Total game changer.

AH! Here we go, 3d from scratch basically. I tried importing some stuff like libgraphics and other fanciful things into , it was too hard for me. I ended up just rebuilding my tiny wireframe engine in a hundred lines or so, no dependencies.

I couldn't figure out how to use sed @cancel so I removed the fancy spacing and pipes and things.

@cancel Could you relay my thanks to sigrid, this is my dream hex view :> I'll come on IRC in 5 more days..

Completed my little .chr(famicom sprite format) file viewer util for , added context menu for zooming.

I want to redo the keyboard scheme for the emulator, but first, gotta learn how Plan 9 apps handles keyboard controls.

Seems easy enough.

AH! Finally, the whole family is here. Managed to lint, assemble and run our NES games. can resume on

The code for making a GUI application with keyboard controls in basically fits in a toot.

Oh my god.

I've always thought 3D was this complicated thing, I would include these big libraries and frameworks to make 3d stuff, but in reality, all I needed was these 2 little functions?! Are you kidding me.

I just love how in I don't need to write image exporters, I can simply `cat /dev/window | topng`

It's what I will be using for to create the scenes, it's inspired by the work I've done on the Macintosh last year.

Tried to implement an extrude function, that did not disappoint.

Listening to: Sixth June - Virgo Rising

@neauoire wait, wait, wait. /dev/window? A window in plan9 is a file that you can just read and write to?

@neauoire i had heard this “everything is a file” stuff before but didn’t realise it went that far!

@neauoire oh I really have to jump on this now and give it a go.

@neauoire can we just make some true shader stuff with spir-v etc?

@neauoire a real hardware stack with the possibility to add hardware acceleration with industry standards, so we can compile standard shaders and run them on plan9. Realtime 3d graphics industry standard compatible etc

@sirjofri I don't know anything about that. Realtime 3d graphics on a raspberry pi sounds interesting tho.

@neauoire have the same filling, I will to do something now on pico8

@neauoire 2D projection of 3D is really simple. You’ve seen the raytracer that fits on a business card, no?

@neauoire raytracing is different from rasterization, but both are pretty simple. This is a breakdown of the business card raytracer:

@neauoire oh! What you’ve implemented is projection. Gotta give credit to those frameworks because there’s a lot more to 3d rendering. Try doing occlusion next 😉

@stephen yeah I don't have normals or anything like that. I'm just surprised projections are so simple.

@neauoire it’s elegant. Perspective was discovered in the 1400s after all.

@stephen rendering the business card raytracer on :glenda: on a :rpi: It's taking FOR EVER.

@stephen 15 minutes in and I'm still in the sky gradient at the top.

@neauoire this is super interesting!! I never managed to do that! Can you please tell me how to do this, where can I find this example source? All I could do when I was teenager was the Wolfenstein 3D engine (which is pseudo-3d)

@neauoire here is what I did if you're interested: please let me know where I can find you version of the super easy 3D vertex projection!!! ❤️

@neauoire thank you!!! I will give it a look immediately

@neauoire ... last year? It was this year, just 5 months ago!

@cancel No you're right, I'm just confused, it feels like a lifetime ago already for some reason.

@neauoire you've made me envious and inspired me

i'll probably be setting up a proper plan9 installation on my own RPi 3 when i can get a new mouse, but currently i don't have one that draws little enough power so i'm messing about with the most interesting bit i've seen, draw

(this is with your mouse example)

@marie_joseph You can find out how to add colors following these breadcrumbs:

Image *clrx, *clry, *clrz;

@neauoire If you're planning to implement some form of hidden line removal, that should be possible with another 200 lines of code. Making it run at a reasonable speed for hundreds / thousands of shapes is a bit harder.

@l3kn yeah I might implement faces, I had started doing it in pascal, I think it shouldn't be too hard for just basic things.

@neauoire Is the version of moogle now discontinued? I quite liked that version for making a base of a drawing.

@FredBednarski yeah, it was superseeded by graf3d and the plan9 versions. I don't want to maintain web apps any longer.

@neauoire I get it :) You don't happen to have the old repo anymore by any chance? I wouldn't mind archiving it.

@FredBednarski I had it on my laptop but it died in the transit so it's gone. It shouldn't be too hard to rebuild, or just port the C code I share up on top, it's fairly straightforward.

@neauoire I know I should be asking about the graphic stuff, but mind sharing the source for that wallpaper? :blobsmilesweat:

@neauoire would be neat to see a 3D-editor-as-a-file-system but it's probably way too big project.

@neauoire same here 😅 werkkzeug is a tool for demo creation. It can modify meshes with parameters. For example to extrude you can select faces with a cube and extrude them. It works with stacked methods

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.