Revolut Igor Dudenkov Jul 17, 2019

Interactive 3D Cards for Revolut iOS App

Article Summary

Igor Dudenkov from Revolut reveals how they built interactive 3D metal cards in iOS—without touching OpenGL or Metal frameworks. The secret? Apple's high-level SceneKit framework that made photorealistic card rendering accessible.

When Revolut launched their Metal card (carved from 18g of stainless steel), designers wanted users to feel the texture and weight through the app. The iOS team built a 3D card visualization system using SceneKit, physically-based rendering, and HDRI lightmaps to create realistic metal surfaces that respond to user gestures.

Key Takeaways

Critical Insight

Revolut achieved photorealistic 3D card rendering in iOS by leveraging SceneKit's node-based framework and physically-based materials, avoiding the complexity of low-level graphics APIs.

The article includes the exact material properties and lighting setup that made the metal effect work—plus why their first lighting approach failed spectacularly.

About This Article

Problem

Revolut's lighting setup used directional lights from the left, right, and top. Each card design needed its light intensity manually adjusted, which made the approach hard to maintain when working with multiple card types.

Solution

Igor Dudenkov's team switched to an HDRI lightmap with spherical projection. The lightmap is a single image where the width is twice the height. This provided realistic environmental lighting that worked the same way across all card designs without extra tweaking.

Impact

The HDRI lightmap removed the need to adjust lighting settings for each card type. One lighting setup now renders Metal cards and other card types consistently without any additional parameter changes.