ββββββ Devlog XVIII ββββββ
- π² Trees π§ββοΈ - π©βπ» SO MUCH REWRITING π-
To recap, my project is a custom made rendering engine that focuses on diverse rendering options along with high stylistic control (very high-level explanation).
β¨ What did I do? βοΈ
These last few days, Iβve been working on getting my Rasterizer (drawing triangles of a model on screen and coloring them) working.
The big changes that I did include:
- Fixing an issue with textures not loading
- Updated the Interface for every Renderer.
- Implemented the extract / prepare / dispatch pipeline into the Rasterizer for real now.
- Started working on the base ideas of a βShader Graphβ
The issue with textures was just moving a line like 3 lines lower. I was freeing the image data before saving it (oops).
The updated interface is the IRenderer class. Each Renderer bases off of the class, supplying it with a framework so each Renderer can be talked to the same way. Here are some of those functions:
- beginFrame - Clear previous frame data and prepare for a new frame
- extract - Take raw scene data (camera, renderables) and convert it into packets for the next step.
- prepare - Take each packet from extract and turn them into draw commands for dispatch.
- dispatch - Take each draw command and send a draw call, along the way binding any textures & uniforms.
- postProcess - Take the frame and post-process it. This may be removed.
- present - Take the rendered frame and show it to the screen (blit it).
To do a quick review on what the Shader Graph is - it is a collection of βnodes,β each with their own inputs and outputs that connect together to render out a frame.
Iβm still a bit confused, but Iβve been watching presentations on the topic from companies like Unity & Activision.
Thank You for Reading
Yea, I know itβs been a while since my last devlog. Iβve been making some posts in slack about my Path Tracer, since I spent a little time on that.
Iβm looking at the timing for everything, the hope is to ship this at the end of Phase-IV and hope that I can get a UI working before too late. Iβm hoping I can get enough stardust to pay for a new laptop, but idk thatβs a long shot. I still have about 25 more hours if I get a 16x mult (which I can only hope for) before I would hit the mark for the FW 12, which isnβt crazy (the mult is tho).
Github repo: https://github.com/pkncoder/Engine
Project landing page: https://pkncoder.github.io/Engine
β Whatβs next? π
- Stop the program from crashing to reach a black screen
- Rewrite shaders to allow for correct models wo/ shadows
- Write the shadow cubemap geometry shader & ad it to the OpaquePass (temp main pass)
- Make and debug UBOs replacing base uniforms
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.