Skip to content

implement filament renderer as a native system#45

Merged
Raphalsk050 merged 17 commits into
devfrom
filament-renderer
Feb 15, 2026
Merged

implement filament renderer as a native system#45
Raphalsk050 merged 17 commits into
devfrom
filament-renderer

Conversation

@Raphalsk050

Copy link
Copy Markdown
Contributor

No description provided.

Phase 1 - Foundation:
- Add Filament v1.69.2 pre-built SDK (macOS arm64) to third_party
- Create FilamentContext: manages Engine, SwapChain, Renderer, View, Scene, Camera
- Create FilamentRenderer: high-level BeginFrame/EndFrame, camera, viewport API
- Create FilamentNativeWindow.mm: Obj-C++ bridge for GLFW -> NSView* extraction
- Update CMakeLists.txt: 20 Filament static libs, Apple frameworks, .mm handling
- Fix pre-existing AnimatorAssetLoader clock_cast compatibility issue

Supported backends: Metal (default macOS), Vulkan, OpenGL 4.1+
- MaterialSystem: runtime PBR material compilation via filamat
  (DefaultLit with baseColor/metallic/roughness/reflectance/emissive,
   DefaultUnlit for flat shading)
- MeshSystem: creates Filament VertexBuffer/IndexBuffer/Renderable
  from engine MeshData with snorm16 tangent frame packing
- LightSystem: directional (SUN) and point lights via LightManager
- MeshData: backend-agnostic mesh descriptor with primitive factories
  (Box, Sphere, Plane, Cylinder)
- MaterialHandle: opaque wrapper hiding filament::MaterialInstance
- Updated ServiceLocator with MaterialSystem/MeshSystem/LightSystem
- Updated Application to own and init/shutdown new systems
- Fixed FilamentNativeWindow.mm: return CAMetalLayer for Metal backend
- Fixed PhysicsSystem.cpp: removed incomplete type delete warning
- Sandbox renders PBR scene: red cube, blue sphere, gray ground, sun
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
Signed-off-by: Rafael Aragao Morais <ram.morais50@gmail.com>
@Raphalsk050 Raphalsk050 self-assigned this Feb 15, 2026
@Raphalsk050 Raphalsk050 merged commit 8d2dec6 into dev Feb 15, 2026
0 of 2 checks passed
@Raphalsk050 Raphalsk050 deleted the filament-renderer branch February 15, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant