1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-21 19:57:44 +00:00
Commit graph

68 commits

Author SHA1 Message Date
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
2d17af5675 Fix the dummy texture not actually being white 2024-04-21 11:50:56 -04:00
0d303f0e6e Add dummy shader for testing purposes
This is used to make sure the vertex stage successfully completed, thats
it.
2024-04-21 11:50:39 -04:00
81bdef14ca Remove and simplify code in the render system 2024-04-21 10:30:51 -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
d651f56e2b No longer hardcode the SHPK node selector 2024-04-21 10:08:55 -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
640099f9db Fix compilation on Fedora 2024-04-21 07:02:34 -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
02ce1c2f51 Renderer: Add a slight ambient to not make shadows pitch black 2024-04-20 15:38:49 -04:00
5c907b63da Add a wireframe checkbox to MDLViewer 2024-04-18 18:08:50 -04:00
4f99fc363d renderer: Remove unnecessary imgui font size message 2024-02-04 14:56:04 -05:00
f95fd2efc2 Add a dedicated skinned shader
This is to prevent trying to use bone transforms on terrain.
2024-02-02 14:37:58 -05:00
af8582467b renderer: Add position property to RenderModel 2024-02-02 14:26:33 -05:00
883169762a renderer: Add GLM_EXPERIMENTAL just in case for older GLM 2024-02-02 14:26:18 -05:00
1b518b1eee renderer: Support meshes without materials properly 2024-02-02 14:26:01 -05:00
3af1e9f8f9 renderer: Change clear color 2024-02-02 14:25:47 -05:00
693a47cf4e Fix tangent reading/writing
Updates to latest physis changes, and fixing tangent reading/writing.
2023-12-17 19:00:43 -05:00
039b6e6d30 More small code improvements/cleanup 2023-12-10 08:39:45 -05:00
09e1d25d09 Fix a crash in VulkanWindow when trying to close one 2023-12-10 07:16:21 -05:00
546ebfd0bd Reformat CMake code a bit 2023-12-10 06:51:33 -05:00
81e9c09be8 Fix most warnings 2023-12-09 22:35:59 -05:00
7d93024a56 Use more CMake library aliases 2023-12-09 21:51:57 -05:00
2ac5eb6498 Fix more petty warnings 2023-12-09 21:18:34 -05:00
88d80a64cf Fix misc warnings, code errors and slight improvements 2023-12-09 15:24:54 -05:00
c7b6dd076c Add glTF import support, multiple fixes for upstream physis changes
Adds basic glTF import (although right now it only imports back
positions) and fixes support for more of the vertex data that's
available to us. The MDL file isn't written back out yet either, it only
displays in the viewport.
2023-12-09 14:49:31 -05:00
b5b83e1b83 renderer: Add from_body_id and to_body_id parameters to RenderModel
This will be used in the future for model deformation.
2023-10-13 14:59:28 -04:00
9d6f06bf1f renderer: Reformat code, misc cleanup 2023-10-12 23:45:45 -04:00
7b59ed7f28 renderer: Prevent imgui from saving settings 2023-10-10 18:37:08 -04:00
44732293ac renderer: Clean up CMakeLists, remove standalone window 2023-10-10 18:31:50 -04:00
5698992250 renderer: Add README 2023-10-10 17:56:09 -04:00
0f75e9730c armoury: Embed shaders, skeletons (for now) to allow it to run
Previously you needed the secret sauce of shader files and skeleton
files from TexTools in the same directory, now this is all embedded in
the application.
2023-10-10 17:16:11 -04:00
c2fa324ec0 armoury: Export proper model and part names 2023-10-10 16:02:02 -04:00
5c9284106f renderer: Add support for imgui 2023-09-26 17:10:18 -04:00
4cd6f17439 Port to Qt6 2023-09-26 00:37:55 -04:00
127b57b820 Add a settings file to store the game directory 2023-09-23 15:21:36 -04:00
dc6f12a95a Use even less FetchContent! 2023-09-23 14:57:56 -04:00
2eccb10eda Remove fmt dependency
It's no longer used, and replaced with physis functions where formatting
was needed.
2023-09-23 14:51:47 -04:00
b96b2a86c2 Use uint64 for storing descriptor hashes 2023-09-23 14:09:33 -04:00
749ad49c3a Ensure compliance with REUSE, add to CI 2023-08-06 08:50:33 -04:00
dd0dc5fbcf Allow no material meshes with a dummy texture instead 2023-07-09 11:53:27 -04:00
635cf15f2c Increase descriptor count limits 2023-07-07 15:51:00 -04:00
673a80e781 Oops, bone weights are 4 components and not 3 2023-07-06 17:39:29 -04:00
b216a670b2 Add support for modifying the renderer view matrix 2023-07-06 17:39:29 -04:00
792da6da6a Expand Renderer's capabilities for materials and skeletons
The renderer can now store diffuse, normal, specular, and multi
textures. Skin textures now color with a hardcoded skin tone (to be
changed) and bone info buffers are now per-model instead of set globally

Level of detail above 0 is now loaded properly, although break for
other reasons.
2023-04-09 15:26:27 -04:00
ab0d0a7d1e Add material and texture support to mdlviewer, renderer 2022-08-11 17:53:56 -04:00
2b79c33d1f Use physis in mdlviewer 2022-08-10 14:52:28 -04:00
6800c875b8 Fix the remaining depth buffer issues 2022-05-04 15:56:30 -04:00