diff README.md @ 95:8011e4d6372d

add: consistent way to define platform-specific code
author Sam <sam@basx.dev>
date Wed, 01 Mar 2023 00:01:06 +0700
parents 17c12b79faaa
children f0ceb8c17d2c
line wrap: on
line diff
--- a/README.md	Tue Feb 28 23:51:07 2023 +0700
+++ b/README.md	Wed Mar 01 00:01:06 2023 +0700
@@ -4,32 +4,24 @@
 Hi there
 
 This is a very simplistic little game engine, mainly trying to wrap around vulkan and the operating system's windowing, input and audio system.
-This is using the last programming language you will ever need, [Nim](https://nim-lang.org/)
+I am using the last programming language you will ever need, [Nim](https://nim-lang.org/)
 
 Building
 --------
 
-Run ```nim help``` to see a list of available build commands.
-
-It is required to download the glslangValidator binary into the ```examples/``` directory in order to be able to build.
-There is a nim command for this that works on linux.
-
-Compilation on Windows
-----------------------
+Requires Nim to be installed and ```glslangValidator``` to be downloaded to the
+directory of the main compilation file (e.g. into ```examples/``` in order to
+compile the examples). It can be downloaded at
+https://github.com/KhronosGroup/glslang/releases/.
 
-Requires a Windows SDK to be installed (e.g. via Visual Studio Build Tools).
-Also, using Nim on Windows with mingw seems to be way faster than with vcc/lc.
-For compilation with vcc/ls, install additionaly (with Visual Studio Build Tools):
-- Windows Universal C Runtime (some important files)
-- Windows CRT SDK (some important header files)
-- Some version of MSVC (the compiler)
-
-glslangValidator cannot yet be downloaded automatically on windows, check config.nim for instructions.
+Run ```nim help``` to see a list of available build commands.
 
 Roadmap
 -------
 
-Still tons to do, but it feels like the worst things (except audio maybe?) are over the hill.
+Still tons to do. Making render pipeline and scenegraph somewhat compatible
+seems like it will require quite a bit more of work. Also, audio might require
+quite a bit of work, no experience there.
 
 Rendering:
 
@@ -41,7 +33,7 @@
 - [ ] Depth buffering
 - [ ] Mipmaps 
 - [ ] Multisampling 
-- [~] Instanced drawing (currently can use instance attributes, but we only support a single instance per mesh)
+- [~] Instanced drawing (currently can use instance attributes, but we only support a single instance per draw call)
 - [ ] Fullscreen mode + switch between modes
 - [x] Fixed framerate
 - [ ] Allow multipel Uniform blocks
@@ -52,7 +44,7 @@
 Asset handling:
 - [ ] Mesh files (Wavefront OBJ, MTL) (use something from sketchfab for testing, https://sketchfab.com/)
 - [ ] Image files (BMP RGB + BMP Graysscale for transparency)
-- [ ] Audio files (WAV)
+- [ ] Audio files (AU)
 
 Quality improvments:
 
@@ -65,8 +57,7 @@
   - [x] Win32
 - [ ] Config files ala \*.ini files (use std/parsecfg)
 - [ ] Input-mapping configuration
-- [ ] Audio (Alsa, Windows Waveform API?)
-- [ ] Game controller input handling
+- [ ] Audio playing (Alsa, Windows Waveform API?)
 
 Advanced features:
 - [ ] Text rendering
@@ -74,3 +65,4 @@
 - [ ] Sprite system
 - [ ] Particle system
 - [ ] Query and display rendering information from Vulkan
+- [ ] Game controller input handling