From f77e03123ba4730755c98b8c63f5a352282116ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Madar=C3=A1sz?= Date: Fri, 8 Sep 2023 14:33:36 +0200 Subject: [PATCH] update docs --- MAKE.bat | 2 +- README.md | 149 ++------------------------------ engine/v4k.html | 206 +++++++-------------------------------------- tools/docs/docs.md | 7 +- 4 files changed, 44 insertions(+), 320 deletions(-) diff --git a/MAKE.bat b/MAKE.bat index 9f54f85..e20e812 100644 --- a/MAKE.bat +++ b/MAKE.bat @@ -463,7 +463,7 @@ if "%1"=="web" ( if "%1"=="vps" ( call make.bat git tools\pscp -4 -batch -agent -P 22 -l app engine\v4k.html 128.140.14.212:/home/app/microblog/app/static/v4k/index.html - tools\pscp -4 -batch -agent -P 22 -l app engine\joint\v4k.h 128.140.14.212:/home/app/microblog/app/static/v4k/v4k.h + rem tools\pscp -4 -batch -agent -P 22 -l app engine\joint\v4k.h 128.140.14.212:/home/app/microblog/app/static/v4k/v4k.h exit /b ) diff --git a/README.md b/README.md index e9ab859..a38d607 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,9 @@ 3D multimedia workbench in C, with Luajit and Python bindings.

-## Download -- [v4k.h](https://v4k.dev/v4k.h) -- ~~workbench.exe~~ - -## Goals -- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C. -- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed. - -## Features ᕦ(ᐛ)ᕤ +## Features - [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini). -- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included. +- [x] Embedded: single-file header, all dependencies included. - [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten. - [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support. - [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support. @@ -24,6 +16,7 @@ - [x] Input: keyboard, mouse and gamepads. - [x] Script: Lua scripting, Luajit bindings. - [x] Network: downloads (HTTPS) and sockets (TCP/UDP). +- [x] Network: Game sync module - [x] AI: Swarm/Boids. - [x] UI: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify... - [x] Font: TTF, OTF and TTC. Basic syntax highlighter. Glyph ranges. Atlasing. @@ -42,6 +35,7 @@ - [x] Render: 2D Sprites, spritesheets, AA zooming and batching. - [x] Render: 2D Tilemaps and tilesets: TMX, TSX. - [x] Render: Compute shaders and SSBO support. +- [x] Render: Geometry shaders. - [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP. - [x] Virtual filesystem: ZIP, PAK, TAR and DIR. - [x] Level data: JSON, JSON5, SJSON, XML, INI. @@ -51,135 +45,6 @@ - [x] [Editor (wip)](https://user-images.githubusercontent.com/35402248/174457347-f787a6a2-aac8-404c-a5da-f44310c3d432.mp4). - [x] [Documentation (wip)](https://bit.ly/v4k2023). -## Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support) -- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation. -- [ ] Network/VM pass: Entity/component/systems and worlds. - - [ ] Core pass: struct serialization. - - [ ] Message pipeline and replication. - - [ ] Digital signals, message buffering and event polling. - - [ ] World streaming and level loading. - - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling. - - [ ] Server/client architecture. Hybrid P2P. - - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket). -- [ ] Editor pass = netbased + offline rendering + virtual input. - - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs. - - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱. - - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics). - - [ ] Level: volumes, triggers, platforms, level streaming. - - [ ] Sub-editor: timeline and data tracks, node graphs. - - [ ] Sub-editor: Procedural content, brushes, noise and CSG. - - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs. - - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript. -- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals. - - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. - - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR. -- [ ] Tools pass - - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM. - - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites). - - [ ] Extend bindings and messaging: parse C headers during cooking stage. -- [ ] API pass - - [ ] Extend math: quat2, bezier, catmull. - - [ ] Discuss API and freeze it. - - [ ] Document everything. - - - ## Hello V4K ```C #include "v4k.h" // Minimal C sample @@ -237,7 +102,7 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr ## Credits -**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base! +**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
**Artwork** [Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"), [FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"), @@ -317,5 +182,5 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr - [Rxi](https://github.com/rxi/autobatch "for lovely sprites & cats demo (MIT)") --> -## Unlicense -This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned. +## License +All Rights Reserved. Access provided with written permission. Internal use only. diff --git a/engine/v4k.html b/engine/v4k.html index 2d35129..6f22040 100644 --- a/engine/v4k.html +++ b/engine/v4k.html @@ -596,14 +596,17 @@ details > summary::-webkit-details-marker { |Version: | 2023.9 | |:--------------|:------------| |Branch: | main | -|Commit: | 72 | +|Commit: | 73 | -# [V·4·K 2023.9 ](https://dev.v4.games/zaklaus/v4k) +# [V·4·K 2023.9 ](https://v4k.dev) ## a b o u t -- https://dev.v4.games/zaklaus/v4k is a multimedia workbench for prototyping and planning ideas. +- V4K is a multimedia workbench for prototyping and planning ideas. +- Internal use only. +- Original repo at [FWK](https://github.com/r-lyeh/FWK). Huge thanks for the amazing base provided! +
Code style ```C linenumbers /// ## Markdown comments when documenting (3 slashes) @@ -639,27 +642,11 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
-
Download - - -- [v4k.h](https://v4k.dev/v4k.h) -- ~~workbench.exe~~ - -
- -
Goals - - -- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C. -- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed. - -
- -
Features ᕦ(ᐛ)ᕤ +
Features - [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini). -- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included. +- [x] Embedded: single-file header, all dependencies included. - [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten. - [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support. - [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support. @@ -670,6 +657,7 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere - [x] Input: keyboard, mouse and gamepads. - [x] Script: Lua scripting, Luajit bindings. - [x] Network: downloads (HTTPS) and sockets (TCP/UDP). +- [x] Network: Game sync module - [x] AI: Swarm/Boids. - [x] UI: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify... - [x] Font: TTF, OTF and TTC. Basic syntax highlighter. Glyph ranges. Atlasing. @@ -688,6 +676,7 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere - [x] Render: 2D Sprites, spritesheets, AA zooming and batching. - [x] Render: 2D Tilemaps and tilesets: TMX, TSX. - [x] Render: Compute shaders and SSBO support. +- [x] Render: Geometry shaders. - [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP. - [x] Virtual filesystem: ZIP, PAK, TAR and DIR. - [x] Level data: JSON, JSON5, SJSON, XML, INI. @@ -699,139 +688,6 @@ void assert_positive( int my_int ) { // lowercase snake_case everywhere
-
Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support) - - -- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation. -- [ ] Network/VM pass: Entity/component/systems and worlds. - - [ ] Core pass: struct serialization. - - [ ] Message pipeline and replication. - - [ ] Digital signals, message buffering and event polling. - - [ ] World streaming and level loading. - - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling. - - [ ] Server/client architecture. Hybrid P2P. - - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket). -- [ ] Editor pass = netbased + offline rendering + virtual input. - - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs. - - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱. - - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics). - - [ ] Level: volumes, triggers, platforms, level streaming. - - [ ] Sub-editor: timeline and data tracks, node graphs. - - [ ] Sub-editor: Procedural content, brushes, noise and CSG. - - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs. - - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript. -- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals. - - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. - - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR. -- [ ] Tools pass - - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM. - - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites). - - [ ] Extend bindings and messaging: parse C headers during cooking stage. -- [ ] API pass - - [ ] Extend math: quat2, bezier, catmull. - - [ ] Discuss API and freeze it. - - [ ] Document everything. - - - -
-
Hello V4K @@ -907,7 +763,7 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
Credits -**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base! +**Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing FWK base!
**Artwork** [Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"), [FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"), @@ -989,10 +845,10 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr
-
Unlicense +
License -This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned. +All Rights Reserved. Access provided with written permission. Internal use only.
## config @@ -8848,7 +8704,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str ## shaders - +
extern const char* const fs_0_0_shadowmap_lit; Under construction. Yet to be documented. @@ -8857,7 +8713,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_0_0_shadowmap_unlit; Under construction. Yet to be documented. @@ -8866,7 +8722,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_24_4_sprite; Under construction. Yet to be documented. @@ -8875,7 +8731,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_2_4_preamble; Under construction. Yet to be documented. @@ -8884,7 +8740,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_2_4_texel_inv_gamma; Under construction. Yet to be documented. @@ -8893,7 +8749,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_2_4_texel_ycbr_gamma_saturation; Under construction. Yet to be documented. @@ -8902,7 +8758,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_32_4_model; Under construction. Yet to be documented. @@ -8911,7 +8767,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_32_4_model_basic; Under construction. Yet to be documented. @@ -8920,7 +8776,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_3_4_skybox; Under construction. Yet to be documented. @@ -8929,7 +8785,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_3_4_skybox_rayleigh; Under construction. Yet to be documented. @@ -8938,7 +8794,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const fs_main_shadertoy; Under construction. Yet to be documented. @@ -8947,7 +8803,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_0_2_fullscreen_quad_A; Under construction. Yet to be documented. @@ -8956,7 +8812,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_0_2_fullscreen_quad_B; Under construction. Yet to be documented. @@ -8965,7 +8821,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_0_2_fullscreen_quad_B_flipped; Under construction. Yet to be documented. @@ -8974,7 +8830,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_323444143_16_332_model; Under construction. Yet to be documented. @@ -8983,7 +8839,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_324_24_sprite; Under construction. Yet to be documented. @@ -8992,7 +8848,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_332_32; Under construction. Yet to be documented. @@ -9001,7 +8857,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
- +
extern const char* const vs_3_3_skybox; Under construction. Yet to be documented. diff --git a/tools/docs/docs.md b/tools/docs/docs.md index 9b637f3..0c63cee 100644 --- a/tools/docs/docs.md +++ b/tools/docs/docs.md @@ -4,11 +4,14 @@ |Commit: | {{GIT_REVISION}} | -# [V·4·K {{VERSION}}](https://dev.v4.games/zaklaus/v4k) +# [V·4·K {{VERSION}}](https://v4k.dev) ## a b o u t -- https://dev.v4.games/zaklaus/v4k is a multimedia workbench for prototyping and planning ideas. +- V4K is a multimedia workbench for prototyping and planning ideas. +- Internal use only. +- Original repo at [FWK](https://github.com/r-lyeh/FWK). Huge thanks for the amazing base provided! +
Code style ```C linenumbers /// ## Markdown comments when documenting (3 slashes)