You are browsing as a guest. Sign up (or log in) to start making projects!

pkncoder

@pkncoder

Joined June 10th, 2026

  • 2Devlogs
  • 1Projects
  • 0Ships
  • 0Votes
Hi! My name is Kia Preston (she/her), however I go online as pkner, or in the programming space: pkncoder.

I enjoy learning lots of different areas in computer science, however I mostly focus on: 3d rendering, robotics, and app / software creation.
Open comments for this post

2h 24m logged

I haven’t done much work on getting textures or anything, however I was able to re-do the shaders. Just some framework stuff like abstracting the shader models so each renderer can implement them to their need. I also spent some more time getting some generic formatting stuff like naming conventions (mostly naming conventions)

I also made an “architecture” diagram, as I was requested for one (plus I needed one anyways).

  • Anything purple (besides the background) is a temporary connection/file.
  • Anything green needs re-worked
  • The “Services” group contains files that are completely static in use, and are accessible globally.

It’s still a bit messy, but that’s partly due to the temporary/need re-worked files. There’s a still some spaghetti code due to that. The shader files do look a lot like spaghetti as well, but that is mostly do to positioning.

It’s pretty basic, as the ui/ and system/ dirs aren’t in there either (system/ is simulations + any computations that would need to be done (ex. translating data for one renderer to another)).

I made the image in Obsidian’s canvas, sadly the wakatime add-on wasn’t working for me, so that time didn’t get counted, but oh well. And if the image is cut-off for you, the Services block has Input.cpp, Timer.cpp, and Logger.cpp.

I still have a lot of shader work to redo, but I might try to get textures working soon for the Rasterizer, as I’m wanting them more & more.

I haven’t done much work on getting textures or anything, however I was able to re-do the shaders. Just some framework stuff like abstracting the shader models so each renderer can implement them to their need. I also spent some more time getting some generic formatting stuff like naming conventions (mostly naming conventions)

I also made an “architecture” diagram, as I was requested for one (plus I needed one anyways).

  • Anything purple (besides the background) is a temporary connection/file.
  • Anything green needs re-worked
  • The “Services” group contains files that are completely static in use, and are accessible globally.

It’s still a bit messy, but that’s partly due to the temporary/need re-worked files. There’s a still some spaghetti code due to that. The shader files do look a lot like spaghetti as well, but that is mostly do to positioning.

It’s pretty basic, as the ui/ and system/ dirs aren’t in there either (system/ is simulations + any computations that would need to be done (ex. translating data for one renderer to another)).

I made the image in Obsidian’s canvas, sadly the wakatime add-on wasn’t working for me, so that time didn’t get counted, but oh well. And if the image is cut-off for you, the Services block has Input.cpp, Timer.cpp, and Logger.cpp.

I still have a lot of shader work to redo, but I might try to get textures working soon for the Rasterizer, as I’m wanting them more & more.

Replying to @pkncoder

0
16
Open comments for this post

19h 15m 57s logged

Hey everyone, I’m Kia! 👋 I’m currently building a custom 3D Engine from the ground up. While it’s definitely a fun passion project, it’s designed to be a genuinely powerful and useful tool.

The scope of this project is pretty massive, but here are the main goals I’m chasing right now:

  • 🎨 Multi-Style Rendering: I want this engine to render scenes in highly stylized ways using a variety of techniques. Currently planning support for:
    • Rasterization
    • Path Tracing
    • Ray Marching
    • Ray Casting (Voxels)
  • Simple and easy: No one likes being thrown to the wolves. The engine will feature a clean, simple UI that scales in complexity as you learn how to use it, rather than overwhelming you right at the start.

  • Accessible Animation: Built-in tools for animations and simulations that are actually easy to understand and use.

🛠️ Latest Update: Path Tracer Rewrite
I recently did a complete rewrite of the Path Tracer! This was a massive step to future-proof the engine. It now supports multiple shader passes, debug textures, and is fully prepped for texture mapping.

Why am I so excited about getting textures working? Because the second they drop, I am immediately rendering 1) The Backrooms 🟨 and 2) the spinning “Oiiaioooooiai” cat 🐈. Texture support should be ready very soon!

Want to check it out (please do)?

Hey everyone, I’m Kia! 👋 I’m currently building a custom 3D Engine from the ground up. While it’s definitely a fun passion project, it’s designed to be a genuinely powerful and useful tool.

The scope of this project is pretty massive, but here are the main goals I’m chasing right now:

  • 🎨 Multi-Style Rendering: I want this engine to render scenes in highly stylized ways using a variety of techniques. Currently planning support for:
    • Rasterization
    • Path Tracing
    • Ray Marching
    • Ray Casting (Voxels)
  • Simple and easy: No one likes being thrown to the wolves. The engine will feature a clean, simple UI that scales in complexity as you learn how to use it, rather than overwhelming you right at the start.

  • Accessible Animation: Built-in tools for animations and simulations that are actually easy to understand and use.

🛠️ Latest Update: Path Tracer Rewrite
I recently did a complete rewrite of the Path Tracer! This was a massive step to future-proof the engine. It now supports multiple shader passes, debug textures, and is fully prepped for texture mapping.

Why am I so excited about getting textures working? Because the second they drop, I am immediately rendering 1) The Backrooms 🟨 and 2) the spinning “Oiiaioooooiai” cat 🐈. Texture support should be ready very soon!

Want to check it out (please do)?

Replying to @pkncoder

0
28

Followers

Loading…