MateriaMateria
Kotlin Multiplatform 3D graphics library with WebGPU/Vulkan backends. Write 3D apps once, deploy on JVM, Web, Android, iOS & Native.Materia provides Three.js-equivalent capabilities for Kotlin with type-safe math, scene graph, materials, lighting, and more—all with seamless multiplatform deployment.
WebGPU & VulkanModern graphics backends with automatic fallback. High-performance rendering across all platforms.
Type-safe 3D MathVectors, matrices, quaternions, and transforms with full Kotlin type safety and operator overloading.
Scene Graph & MaterialsHierarchical scene management, PBR materials, lighting systems, and camera controls out of the box.
Full 3D toolkitMateria includes meshes, geometries, textures, shaders, lights, cameras, and post-processing effects—everything you need for 3D graphics.Explore the full API and examples in the docs.Open documentation
// Create scene and camera val scene = Scene() val camera = PerspectiveCamera( fov = 75f, aspect = 16f / 9f, near = 0.1f, far = 1000f ).apply { position.set(0f, 2f, 5f) lookAt(Vector3.ZERO) } // Create geometry and material val geometry = BoxGeometry(1f, 1f, 1f) val material = MeshStandardMaterial( color = Color(0f, 1f, 0f), metalness = 0.3f, roughness = 0.4f ) // Create mesh and add to scene val cube = Mesh(geometry, material) scene.add(cube) // Render renderer.render(scene, camera)
Building web apps with Kotlin?Check out Summon — a Kotlin Multiplatform frontend framework for high-performance apps across JVM, JS, and WASM with a single codebase.Explore Summon →
Build with Materia todayDocs live at materia.dev.yousef.codes/docs and the API reference is always up to date at materia.dev.yousef.codes/docs/api-reference.
© 2025Yousef
Built withSummonSummon