1e898130b9
Add GitHub actions
...
It now builds Novus (and it's dependencies) for Windows and Linux. Artifacts and macOS support will come later.
2024-04-24 21:39:43 +00:00
04717aea62
Add missing header in swapchain.h
2024-04-22 15:47:45 -04:00
84887a5470
Start working on normals support
2024-04-21 19:56:52 -04:00
74f754b382
Implement some stuff required for skin shaders
...
Punching some holes to allow shaders to access textures
2024-04-21 19:45:21 -04:00
af806bff63
Remove hardcoded character.shpk path
...
Now the new renderer should load the material's requested shader package
2024-04-21 19:07:09 -04:00
dcb54cf4e3
Begin working on bone support for the new renderer
...
Doesn't work completely yet (not sure why) but for basic items it works.
2024-04-21 18:49:48 -04:00
e34daadbcd
Split up Renderer's source files and a lot of refactoring
...
This now splits up the rendering system into sensible parts, and makes
it easier to switch between the simple renderer and the new experimental
one. Lots of refactors I needed to do for a while are now done, too.
2024-04-21 17:35:51 -04:00
5317300aaf
Remove GLM_FORCE_LEFT_HANDED
...
This wasn't needed after all, and fixes both the new and old renderers.
2024-04-21 14:15:17 -04:00
8ea47a5502
Make a note why there's no UV coordinates for the plane vertices
2024-04-21 14:12:56 -04:00
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
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