TimoGuy / solanine_vulkan

2 stars 0 forks source link

Solanine Vulkan

Impetus

Due to inability to play the game Solanine on Steam Deck, as well as the frustration and shottiness of OpenGL, a rewrite and restructuring into Vulkan for the rendering became desirable. Thus, this repository exists.

Build Guide

NOTE: this repository and guide only supports Visual Studio 2022

  1. Install the Vulkan SDK version 1.3.224.1 to C: drive onto the default location
  2. Clone this repository with git clone
  3. Open the solution file solanine_vulkan.sln with Visual Studio 2022
  4. Select a build configuration:
    • Debug
      • Unoptimized code, level editor
    • Release
      • Removes the editor and just leaves the game as if for release Similar to Debug but just whole program optimization is enabled
  5. Click the green play button

Videos

https://github.com/TimoGuy/solanine_vulkan/assets/6829048/066cab14-4819-486a-b103-ba24ca15001b

Combat gameplay with a two-handed weapon. (Build #3102)

Screenshots

Pipelines, importing gltf models, skinning gltf models, and skyboxes Pipelines, importing gltf models, skinning gltf models, and skyboxes (Build #227)

Renderdoc showing that the irradiance and prefilter maps were generated and connected to the shader (if you scroll just a little further down the input textures you would've seen the brdf lut map too) Renderdoc showing that the irradiance and prefilter maps were generated and connected to the shader (if you scroll just a little further down the input textures you would've seen the brdf lut map too) (Build #242)

First PBR! It uses the textures packed in the gltf model (also, using a night space skybox probs wasn't the best for generating the irradiance and prefiltered maps. At least it's a little noticable) First PBR! It uses the textures packed in the gltf model (also, using a night space skybox probs wasn't the best for generating the irradiance and prefiltered maps. At least it's a little noticable) (Build #256)

Implementation of hdr skyboxes, finally Implementation of hdr skyboxes, finally (Build #292)

Object picking and transformation gizmo set up! Object picking and transformation gizmo set up! (Build #385)

Various things, but feature is shadows here. Various things, but feature is shadows here. Truthfully, there was bullet3 physics integration, the new YosemiteTM object (just a model with a cube collision... for now!), saving and loading, a nice object serialization system to make saving and loading easy maintenance, and then finally the CSM shadows. (Build #752)