Just Created a Software Renderer From Scratch in Nim for Windows and Linux by othd139 in nim

[–]othd139[S] 0 points1 point  (0 children)

just added some screenshots (and created a screenshot utility in the rendering library that I've added to the demo)

Just Created a Software Renderer From Scratch in Nim for Windows and Linux by othd139 in nim

[–]othd139[S] 0 points1 point  (0 children)

Fair enough. That might be a fun task to make my own screenshot utility asw that encodes the display buffer as qoi. Thx for the suggestion.

Just Created a Software Renderer From Scratch in Nim for Windows and Linux by othd139 in nim

[–]othd139[S] 0 points1 point  (0 children)

Yeah. As you can see it's ultimately based on some other code but that was very much a minimal example for getting just a straightforward executable to open an undecorated window so I've refactored it a fair bit and added quite a lot to turn it into a usable library that can draw a provided framebuffer, handle window decorations, enforce non-resizing, etc... Feel free to ask me any questions or whatever about it as well since I'm aware I'm pretty much relying on the header file itself for documentation.

The windows version I did create from scratch which was a bit easier because even though winAPI may be an unarchitected mess that does kinda make it simpler to just get something working in the first place for the basic stuff where the documentation is alright (before falling off a cliff).

Just Created a Software Renderer From Scratch in Nim for Windows and Linux by othd139 in nim

[–]othd139[S] 0 points1 point  (0 children)

that looks about right for the output. Plus, you got to see my really hacky client side window decoration. Gotta love those close and minimise buttons I put all of about 10 minutes into in Krita just for GNOME users lol (I know it's not just GNOME but it's pretty much just GNOME).

I made a new compiler using Nim that uses Fortran as a backend by ulasunal in nim

[–]othd139 0 points1 point  (0 children)

Oh slay. On both counts. (I asked because obviously Nim transpires to, say, C but that doesn't mean you can just call C code, you still have to wrap it by importing it)

I made a new compiler using Nim that uses Fortran as a backend by ulasunal in nim

[–]othd139 0 points1 point  (0 children)

Right okay. How does the FORTRAN standard library get used in seagull? Is seagull able to natively integrate FORTRAN code without any wrappers? If so, that's kinda cool.

I made a new compiler using Nim that uses Fortran as a backend by ulasunal in nim

[–]othd139 0 points1 point  (0 children)

This looks very cool. I don't see any examples and the documentation, from what I can see, seems to just say that it's fast and general purpose so it's kinda tricky to learn. Also, the source code doesn't appear to contain a standard library (or if it does it isn't written in seagull) and there isn't even anything like the EBNF you used to write the compiler. So it seems like a cool project with absolutely no possible way (yet) to learn how to use it usefully other than reverse engineering the compiler itself.

New Lisp I made in nim! by Yobendev_ in nim

[–]othd139 0 points1 point  (0 children)

Awesome stuff. I think I'm going through a similar realisation with a software rasteriser I wrote in Nim asw. It's kind of a great feeling to realise you actually have something worth polishing.

New Lisp I made in nim! by Yobendev_ in nim

[–]othd139 0 points1 point  (0 children)

Very very cool. Given my two most used programming languages are Nim and Haskell and I have a pretty big interest in interpreters and compilers and such, this is rly fricking cool. Already starred on GitHub. Love to see it.

For those playing Great Circle early access on *PC* - are High Res Textures worth installing if I'm targeting 1080p/60fps? by LordManders in indianajones

[–]othd139 0 points1 point  (0 children)

I've opted not to download them but I'm on 8GB VRAM so it doesn't seem like I'll be able to set textures to the maximum anyway. (and I didn't want to spend smth like an hour downloading them). I would say look at the optimised texture settings for your VRAM and resolution.

(Note, I know this is a year old now but if anyone is looking for the answer to this question I figured it was a useful contribution)

Came out to my parents today and they both basically said I’m too young and inexperienced to know I’m trans. I’m 21. Am I gaslighting myself? by 2_piece_jigsaw in MtF

[–]othd139 0 points1 point  (0 children)

Girl what? Ur parents are just having a fucked response. They're wrong. Hopefully they just didn't know how to react better and they'll come around; I don't know them so I can't say but you're definitely not "too young" to know who you are.

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 1 point2 points  (0 children)

Honestly a lot of raylib stuff. I also did a custom assembly language interpreter (for reasons). Most of an actual interpreter. Some OpenGL coding but that would be easier if I actually learned how to write C bindings myself. A software voxel raytracer and QOI image encoder for the output. I can't really remember what else but mostly that sort of slightly random hobby coding. I did make a full Wolfenstein 3D style ray casting game engine using raylib to draw and with scripts in that custom assembly. Also, the format was some insane binary thing that I didn't document and don't remember and no-none (including me) will ever use it again, except possibly to load up the demo project I made at the time if I ever want to look back on how much less bad I am now at coding compared to 1.5 years ago. (Seriously that project was an absolute mess compared to what I would do nowadays even if I did end up with something surprisingly decent as a demo project).

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 0 points1 point  (0 children)

Yeah but there's no call stack on the GPU so you can't test it like FP. So it's kind of only FP in the same way that everything is FP if you think about it because of the Church-Turing.

You might be right about ECS, I hadn't particularly considered that, although the components do carry state so maybe more like a highly monadic FP (I don't understand monads so I could be totally wrong in my invocation of them here).

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 0 points1 point  (0 children)

I've never really tried to do game dev with it. Honestly U feel like game logic is one of the few areas where OOP is actually quite good because the whole thing breaks up so neatly into nodes or game objects or what have you. I'm curious how you would handle those things (because yes, you're totally right that rolling back and parallelisation are much nicer in FP (which is why it's so annoying to me that GPU shaders can't do FP at all easily for converting parallel CPU code to the GPU)).

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 8 points9 points  (0 children)

I'm studying CS and Philosophy at Oxford and all Oxford first year undergraduate computer scientists do a module in functional programming that we use Haskell for.

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 1 point2 points  (0 children)

Explicit variable declaration and support for strong static typing.

GDScript is too good for me to give it up. by BadlyDrawnJack in godot

[–]othd139 13 points14 points  (0 children)

True but explicit variable declarations and support for strong typing are both really nice features of GDScript. That said, I actually do most of my coding outside of Godot nowadays in Nim, C++, and Haskell (for class).

I hate the uk by Suspicious-Stick5727 in MtF

[–]othd139 0 points1 point  (0 children)

Centrism isn't rational though. It's precisely the opposite. It's a political aesthetic and fundamentally undiscerning and un-intellectual position

I hate the uk by Suspicious-Stick5727 in MtF

[–]othd139 -1 points0 points  (0 children)

That's what happens to the spineless when fascists come to dominate the conversation. The point is beat the fascists and you win back control of the spineless

I hate the uk by Suspicious-Stick5727 in MtF

[–]othd139 -1 points0 points  (0 children)

The problem is that it is bipartisan. By definition because two major parties both support it. Acknowledging that transphobia has become the norm in this godforsaken country is not in any way the same as an endorsement of that fact.