mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-06-02 21:23:49 -04:00
docs+container: remove unused GLEW dep; fix ATTRIBUTION list; document Tracy vendoring
- ATTRIBUTION.md: removed GLEW (not used — no glew.h includes, no
find_package(GLEW) in CMakeLists.txt); added the libraries that
ARE actually used (Vulkan, vk-bootstrap, zlib, FFmpeg, Lua, Catch2,
nlohmann/json, stb, FidelityFX-FSR2). OpenSSL row clarified for 3.x.
- container/{builder-linux,builder-macos,builder-windows}.Dockerfile:
drop libglew-dev / vcpkg 'glew' — nothing links against GLEW, so
these were dead weight in the images.
- container/FLOW.md: matched the Dockerfile changes.
- docs/perf_baseline.md: Tracy is NOT vendored — building with
WOWEE_ENABLE_TRACY=ON references extern/tracy/ which doesn't exist.
Documented the required 'git clone' step. Also corrected the
M2::computeBoneMatrices / M2Renderer::update file paths
(m2_renderer_internal.h and m2_renderer_render.cpp, not
m2_renderer.cpp).
This commit is contained in:
@@ -40,13 +40,21 @@ This project uses the following open-source libraries:
|
||||
| Library | License | Purpose |
|
||||
|---------|---------|---------|
|
||||
| [SDL2](https://libsdl.org/) | zlib | Window management, input handling |
|
||||
| [GLEW](http://glew.sourceforge.net/) | BSD/MIT | OpenGL extension loading |
|
||||
| [Vulkan](https://www.vulkan.org/) (loader + headers) | Apache 2.0 | Graphics API |
|
||||
| [vk-bootstrap](https://github.com/charles-lunarg/vk-bootstrap) | MIT | Vulkan instance/device boilerplate |
|
||||
| [GLM](https://github.com/g-truc/glm) | MIT | Mathematics library |
|
||||
| [OpenSSL](https://www.openssl.org/) | Apache 2.0 | Cryptographic functions (SRP6, RC4, RSA) |
|
||||
| [OpenSSL](https://www.openssl.org/) | Apache 2.0 (OpenSSL 3.x) | Cryptographic functions (SRP6, RC4, RSA) |
|
||||
| [zlib](https://www.zlib.net/) | zlib | Decompression for DBC/M2/packet payloads |
|
||||
| [FFmpeg](https://ffmpeg.org/) (libav*) | LGPL 2.1 | Video playback (cinematics) |
|
||||
| [Unicorn Engine](https://www.unicorn-engine.org/) | LGPL 2 | x86 CPU emulation for Warden module execution |
|
||||
| [miniaudio](https://miniaud.io/) | MIT/Unlicense | Audio playback |
|
||||
| [StormLib](https://github.com/ladislav-zezula/StormLib) | MIT | MPQ archive extraction |
|
||||
| [StormLib](https://github.com/ladislav-zezula/StormLib) | MIT | MPQ archive extraction (asset_extract tool) |
|
||||
| [Dear ImGui](https://github.com/ocornut/imgui) | MIT | Immediate mode GUI |
|
||||
| [Lua 5.1.5](https://www.lua.org/) | MIT | Macro and addon script execution |
|
||||
| [Catch2](https://github.com/catchorg/Catch2) (amalgamated) | BSL-1.0 | Test framework (test build only) |
|
||||
| [nlohmann/json](https://github.com/nlohmann/json) | MIT | JSON parsing (opcode tables, manifests) |
|
||||
| [stb_image / stb_image_write](https://github.com/nothings/stb) | MIT/Public Domain | PNG/JPG decode and write |
|
||||
| [AMD FidelityFX FSR2](https://github.com/GPUOpen-Effects/FidelityFX-FSR2) | MIT | Optional temporal upscaling |
|
||||
|
||||
## Cryptographic Standards
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ run-{platform}.sh/.ps1
|
||||
|------|------|-----|
|
||||
| 1 | `apt-get install` cmake, ninja-build, build-essential, pkg-config, git, python3 | Core build tools |
|
||||
| 2 | `apt-get install` glslang-tools, spirv-tools | Vulkan shader compilation |
|
||||
| 3 | `apt-get install` libsdl2-dev, libglew-dev, libglm-dev, libssl-dev, zlib1g-dev | Runtime dependencies (system packages) |
|
||||
| 3 | `apt-get install` libsdl2-dev, libglm-dev, libssl-dev, zlib1g-dev | Runtime dependencies (system packages) |
|
||||
| 4 | `apt-get install` libavformat-dev, libavcodec-dev, libswscale-dev, libavutil-dev | FFmpeg libraries |
|
||||
| 5 | `apt-get install` libvulkan-dev, vulkan-tools | Vulkan SDK |
|
||||
| 6 | `apt-get install` libstorm-dev, libunicorn-dev | MPQ archive + CPU emulation |
|
||||
@@ -116,7 +116,7 @@ No manual download required.
|
||||
| 10 | COPY `macos/triplets/` → `/opt/vcpkg-triplets/` | vcpkg cross-compile triplet definitions |
|
||||
| 11 | `apt-get install` file, nasm | Mach-O detection + ffmpeg x86 asm |
|
||||
| 12 | Bootstrap vcpkg → `/opt/vcpkg` | Package manager |
|
||||
| 13 | `vcpkg install` sdl2, openssl, glew, glm, zlib, ffmpeg `--triplet arm64-osx-cross` | arm64 dependencies |
|
||||
| 13 | `vcpkg install` sdl2, openssl, glm, zlib, ffmpeg `--triplet arm64-osx-cross` | arm64 dependencies |
|
||||
| 14 | `vcpkg install` same packages `--triplet x64-osx-cross` | x86_64 dependencies |
|
||||
| 15 | `apt-get install` libvulkan-dev, glslang-tools | Vulkan headers (for compilation, not runtime) |
|
||||
| 16 | COPY `build-macos.sh` → `/build-platform.sh` | Container entrypoint |
|
||||
@@ -184,7 +184,7 @@ The main CMakeLists.txt has a macOS cross-compile branch that:
|
||||
| 2 | Download + extract LLVM-MinGW (v20240619 ucrt) → `/opt/llvm-mingw` | Clang/LLD cross-compiler for Windows |
|
||||
| 3 | Add `/opt/llvm-mingw/bin` to PATH | Makes `x86_64-w64-mingw32-clang` etc. available |
|
||||
| 4 | Bootstrap vcpkg → `/opt/vcpkg` | Package manager |
|
||||
| 5 | `vcpkg install` sdl2, openssl, glew, glm, zlib, ffmpeg `--triplet x64-mingw-static` | Static Windows dependencies |
|
||||
| 5 | `vcpkg install` sdl2, openssl, glm, zlib, ffmpeg `--triplet x64-mingw-static` | Static Windows dependencies |
|
||||
| 6 | `apt-get install` libvulkan-dev, glslang-tools | Vulkan headers + shader tools |
|
||||
| 7 | Create no-op `powershell.exe` stub | vcpkg MinGW post-build hook needs it |
|
||||
| 8 | COPY `build-windows.sh` → `/build-platform.sh` | Container entrypoint |
|
||||
|
||||
@@ -13,7 +13,6 @@ RUN apt-get update && \
|
||||
glslang-tools \
|
||||
spirv-tools \
|
||||
libsdl2-dev \
|
||||
libglew-dev \
|
||||
libglm-dev \
|
||||
libssl-dev \
|
||||
zlib1g-dev \
|
||||
|
||||
@@ -114,7 +114,6 @@ RUN git clone --depth 1 https://github.com/microsoft/vcpkg.git "${VCPKG_ROOT}" &
|
||||
RUN "${VCPKG_ROOT}/vcpkg" install \
|
||||
sdl2[vulkan] \
|
||||
openssl \
|
||||
glew \
|
||||
glm \
|
||||
zlib \
|
||||
ffmpeg \
|
||||
@@ -124,7 +123,6 @@ RUN "${VCPKG_ROOT}/vcpkg" install \
|
||||
RUN "${VCPKG_ROOT}/vcpkg" install \
|
||||
sdl2[vulkan] \
|
||||
openssl \
|
||||
glew \
|
||||
glm \
|
||||
zlib \
|
||||
ffmpeg \
|
||||
|
||||
@@ -44,7 +44,6 @@ ENV VCPKG_DEFAULT_TRIPLET=x64-mingw-static
|
||||
RUN "${VCPKG_ROOT}/vcpkg" install \
|
||||
sdl2[vulkan] \
|
||||
openssl \
|
||||
glew \
|
||||
glm \
|
||||
zlib \
|
||||
ffmpeg \
|
||||
|
||||
@@ -5,8 +5,17 @@
|
||||
|
||||
## Tracy Profiler Integration
|
||||
|
||||
Tracy v0.11.1 integrated under `WOWEE_ENABLE_TRACY` CMake option (default: OFF).
|
||||
When enabled, zero-cost zone markers instrument the following critical paths:
|
||||
Tracy is integrated under the `WOWEE_ENABLE_TRACY` CMake option (default: OFF).
|
||||
When enabled, zero-cost zone markers instrument the following critical paths.
|
||||
|
||||
> **Setup**: Tracy is *not* vendored in this repo. `CMakeLists.txt` looks for
|
||||
> `extern/tracy/public/TracyClient.cpp` and `extern/tracy/public/` headers
|
||||
> (lines 1045-1050). Clone Tracy into that path before configuring with
|
||||
> `-DWOWEE_ENABLE_TRACY=ON`:
|
||||
>
|
||||
> ```bash
|
||||
> git clone --depth 1 --branch v0.11.1 https://github.com/wolfpld/tracy extern/tracy
|
||||
> ```
|
||||
|
||||
### Instrumented Zones
|
||||
|
||||
@@ -20,8 +29,8 @@ When enabled, zero-cost zone markers instrument the following critical paths:
|
||||
| `Renderer::renderWorld` | src/rendering/renderer.cpp | Main world draw call |
|
||||
| `Renderer::renderShadowPass` | src/rendering/renderer.cpp | Shadow depth pass |
|
||||
| `PostProcess::execute` | src/rendering/post_process_pipeline.cpp | FSR/FXAA post-process |
|
||||
| `M2::computeBoneMatrices` | src/rendering/m2_renderer.cpp | CPU skeletal animation |
|
||||
| `M2Renderer::update` | src/rendering/m2_renderer.cpp | M2 instance update + culling |
|
||||
| `M2::computeBoneMatrices` | src/rendering/m2_renderer_internal.h | CPU skeletal animation |
|
||||
| `M2Renderer::update` | src/rendering/m2_renderer_render.cpp | M2 instance update + culling |
|
||||
| `TerrainManager::update` | src/rendering/terrain_manager.cpp | Terrain streaming logic |
|
||||
| `TerrainManager::processReadyTiles` | src/rendering/terrain_manager.cpp | GPU tile uploads |
|
||||
| `ADTLoader::load` | src/pipeline/adt_loader.cpp | ADT binary parsing |
|
||||
|
||||
Reference in New Issue
Block a user