No description
Find a file
Keegan Ott f67fc0ed1e Implement Windows platform adapter and renderer selection
- Add WindowsPlatformApp and INativeWindowProvider for Win32 window creation
- Add PlatformAppFactory for platform-specific app instantiation
- Implement BgfxRenderer2D with native library probing and fallback logic
- Update Game.Sample2D to use dynamic platform/renderer selection
- Update documentation reflecting Milestone A progress
2026-02-20 12:37:18 +08:00
docs Implement Windows platform adapter and renderer selection 2026-02-20 12:37:18 +08:00
src Implement Windows platform adapter and renderer selection 2026-02-20 12:37:18 +08:00
.gitignore initial commit 2026-02-20 10:11:38 +08:00
Bgfx2DLearning.slnx initial commit 2026-02-20 10:11:38 +08:00
bgfx_2d_boundary_contract.md Implement Windows platform adapter and renderer selection 2026-02-20 12:37:18 +08:00
bgfx_2d_learning_plan.md Implement Windows platform adapter and renderer selection 2026-02-20 12:37:18 +08:00
README.md Implement Windows platform adapter and renderer selection 2026-02-20 12:37:18 +08:00

bgfx C# 2D Learning Workspace

This repo is organized to keep gameplay renderer-agnostic while learning graphics internals with bgfx.

Key docs

  • bgfx_2d_learning_plan.md
  • bgfx_2d_boundary_contract.md
  • docs/milestone_a_checklist.md
  • docs/platform-notes.md

Starter layout

  • src/Engine.Core
  • src/Engine.Platform
  • src/Engine.Rendering2D
  • src/Engine.Assets
  • src/Game.Sample2D

Current status

  • .slnx and project scaffolding are in place.
  • Headless platform + null renderer loop is running for boundary validation.
  • Windows adapter (WindowsPlatformApp) is implemented with native window/message pump.
  • BgfxRenderer2D now probes and loads bgfx shared libraries, then falls back to null renderer when unavailable.
  • Milestone A now focuses on validating Windows runtime path and wiring actual bgfx init/clear/shutdown calls.

Immediate next steps

  • Implement first real OS platform adapter (Windows recommended).
  • Integrate bgfx init/clear/shutdown behind IRenderer2D.
  • Keep gameplay and engine-core contracts unchanged while adapters evolve.