1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-24 13:07:44 +00:00
Commit graph

10 commits

Author SHA1 Message Date
0e739187ab Make the render size not hardcoded to 640x480 in the new renderer 2024-04-21 14:11:40 -04:00
7bba79f62f Make lighting work (finally)
Now it can display a directional light source, albeit in a tiny
hardcoded size. Time to clean up my mess!
2024-04-21 14:05:41 -04:00
eb9e5dc094 Implement more of g_CameraParameter 2024-04-21 13:29:30 -04:00
ec47e52f80 Implement view position extraction, and provide g_SamplerDepth 2024-04-21 13:17:40 -04:00
ed9d6e62b8 More stuff that's needed for directional lighting
It's not working yet as we're missing view positions and the normal
clear color is wrong, but it's getting there. It can display a nice
blobby plane with the light color right now.
2024-04-21 13:04:25 -04:00
7f1c167251 Create GBuffer (normals only for now) and render into it 2024-04-21 12:00:13 -04:00
fd61cfca26 "Implement" the directional lighting pass, fix GBuffer normal
Implement is in quotes because it doesn't work yet, the code is just
written. We still need actual framebuffers to do work in and not the
swapchain image we're reusing.

In other news, the GBuffer shader now works and outputs normals! I
forced it to simple texture mode for now so it makes development easier.
2024-04-21 11:52:30 -04:00
2f8f155a6c Begin implementation of directional lighting
This takes the correct node from directionallighting.shpk, but doesn't
draw anything yet as we're missing GBuffers.
2024-04-21 10:25:52 -04:00
699141d04b Pass real data to the new render system
Based off of structures reversed engineered by Ouroboros, now it can
render objects without shading! Note that it breaks the basic renderer
at the moment, will be fixed later.
2024-04-21 09:01:02 -04:00
b9b162b377 Add experimental new rendering system
I started writing this late last year, and finally uploading parts of
it. Currently, doesn't work, but doesn't crash either. Enable it via
the NOVUS_USE_NEW_RENDERER environment variable.

The goal is to use the game's own shaders instead of creating our own,
it's lacking support for buffers with actual data in them and constants
so while it "works" nothing is displayed on screen yet.
2024-04-20 17:29:29 -04:00