Graphics & Games
-
WWDC24 -
31:31 Discover RealityKit APIs for iOS, macOS, and visionOS
Learn how new cross-platform APIs in RealityKit can help you build immersive apps for iOS, macOS, and visionOS. Check out the new hover effects, lights and shadows, and portal crossing features, and view them in action through real examples.
-
19:03 Design great visionOS apps
Find out how to create compelling spatial computing apps by embracing immersion, designing for eyes and hands, and taking advantage of depth, scale, and space. We'll share several examples of great visionOS apps and explore how their designers approached creating new experiences for the platform.
-
23:54 Design advanced games for Apple platforms
Learn how to adapt your high-end game so it feels at home on Mac, iPad, and iPhone. We'll go over how to make your game look stunning on different displays, tailor your input and controls to be intuitive on each device, and take advantage of Apple technologies that deliver great player experiences.
-
16:22 Explore game input in visionOS
Discover how to design and implement great input for your game in visionOS. Learn how system gestures let you provide frictionless ways for players to interact with your games. And explore best practices for supporting custom gestures and game controllers.
-
16:39 Meet TabletopKit for visionOS
Build a board game for visionOS from scratch using TabletopKit. We'll show you how to set up your game, add powerful rendering using RealityKit, and enable multiplayer using spatial Personas in FaceTime with only a few extra lines of code.
-
11:29 Capture HDR content with ScreenCaptureKit
Learn how to capture high dynamic colors using ScreenCaptureKit, and explore new features like HDR support, microphone capture, and straight-to-file recording.
-
19:54 Render Metal with passthrough in visionOS
Get ready to extend your Metal experiences for visionOS. Learn best practices for integrating your rendered content with people's physical environments with passthrough. Find out how to position rendered content to match the physical world, reduce latency with trackable anchor prediction, and more.
-
24:10 Break into the RealityKit debugger
Meet the RealityKit debugger and discover how this new tool lets you inspect the entity hierarchy of spatial apps, debug rogue transformations, find missing entities, and detect which parts of your code are causing problems for your systems.
-
22:13 Optimize your 3D assets for spatial computing
Dive into an end-to-end workflow for optimized 3D asset creation. Discover best practices for optimizing meshes, materials, and textures in your digital content creation tool. Learn how to harness shader graph, baking, and material instances to enhance your 3D scene while optimizing performance...
-
11:31 Discover area mode for Object Capture
Discover how area mode for Object Capture enables new 3D capture possibilities on iOS by extending the functionality of Object Capture to support capture and reconstruction of an area. Learn how to optimize the quality of iOS captures using the new macOS sample app for reconstruction, and find...
-
18:42 Bring your iOS or iPadOS game to visionOS
Discover how to transform your iOS or iPadOS game into a uniquely visionOS experience. Increase the immersion (and fun factor!) with a 3D frame or an immersive background. And invite players further into your world by adding depth to the window with stereoscopy or head tracking.
-
26:06 Create custom visual effects with SwiftUI
Discover how to create stunning visual effects in SwiftUI. Learn to build unique scroll effects, rich color treatments, and custom transitions. We'll also explore advanced graphic effects using Metal shaders and custom text rendering.
-
14:24 What’s new in Quick Look for visionOS
Explore how Quick Look in visionOS can elevate file preview and editing experiences in your app. We'll cover the integration of in-app and windowed Quick Look, as well as a brand-new API that customizes the windowed Quick Look experience in your app. We'll also share the latest enhancements to...
-
9:24 What’s new in USD and MaterialX
Explore updates to Universal Scene Description and MaterialX support on Apple platforms. Discover how these technologies provide a foundation for 3D content creation and delivery, and learn how they can help streamline your workflows for creating great spatial experiences. Learn about USD and...
-
29:32 Port advanced games to Apple platforms
Discover how simple it can be to reach players on Apple platforms worldwide. We'll show you how to evaluate your Windows executable on Apple silicon, start your game port with code samples, convert your shader code to Metal, and bring your game to Mac, iPhone, and iPad. Explore enhanced Metal...
-
32:25 Build a spatial drawing app with RealityKit
Harness the power of RealityKit through the process of building a spatial drawing app. As you create an eye-catching spatial experience that integrates RealityKit with ARKit and SwiftUI, you'll explore how resources work in RealityKit and how to use features like low-level mesh and texture APIs...
-
23:20 Enhance your spatial computing app with RealityKit audio
Elevate your spatial computing experience using RealityKit audio. Discover how spatial audio can make your 3D immersive experiences come to life. From ambient audio, reverb, to real-time procedural audio that can add character to your 3D content, learn how RealityKit audio APIs can help make your...
-
25:06 Accelerate machine learning with Metal
Learn how to accelerate your machine learning transformer models with new features in Metal Performance Shaders Graph. We'll also cover how to improve your model's compute bandwidth and quality, and visualize it in the all new MPSGraph viewer.
-
-
Tech Talks -
4:37 Add SharePlay to your multiplayer game with Game Center
Learn how to let your players jump into games with friends they're on FaceTime calls with, using SharePlay. We'll show you how easy it is to turn on SharePlay support if you are already using the Game Center multiplayer UI. And if you've built a custom interface, we'll give you the few lines of...
-
26:00 Learn performance best practices for Metal shaders
Discover how you can improve Metal shader performance using some of the latest advancements in Apple GPUs. Learn to reduce a shader's execution time by configuring function constants, and investigate ways to increase compiler optimization with function groups. Find out how to save run time by...
-
11:56 Manage Game Center with the App Store Connect API
Discover how you can use the App Store Connect API to automate your Game Center configurations outside of App Store Connect on the web. Find out how the API can help you create achievements and leaderboards and share them between related games using groups. And learn how to enable and configure...
-
6:44 Discover Metal Performance HUD
Get to know the new heads-up display panel built to help you analyze graphics performance in real time. Metal Performance HUD displays key graphics statistics so you can monitor, log, and identify tough-to-spot performance problems.
-
17:06 Meet rule-based matchmaking in Game Center
Learn how to incorporate the new rule-based matchmaking feature into your real-time multiplayer games. Discover how you can provide customized and flexible matchmaking to improve the quality of player matches and create a more fun and engaging experience for all players.
-
33:56 Discover new Metal profiling tools for M3 and A17 Pro
Learn how the new profiling tools in Xcode 15 can help you achieve the best Metal performance on Apple family 9 GPUs. Discover how to use shader cost graphs, performance heat maps, and shader execution history tools to profile and optimize your Metal code. Find out how to use new GPU counters to...
-
16:57 Bring your high-end game to iPhone 15 Pro
Discover how the power of A17 Pro can help you maximize your game on iPhone 15 Pro and iPhone 15 Pro Max. We'll share best practices and technical resources, and explore ways to optimize game performance, input, and asset management.
-
29:09 Explore GPU advancements in M3 and A17 Pro
Learn how Dynamic Caching, the next-generation shader core, hardware-accelerated ray tracing, and hardware-accelerated mesh shading of Apple family 9 GPUs can improve the performance of your Metal apps and games.
-
12:50 Discover Reference Mode
Learn how you can match color requirements in demanding pro workflows using Reference Mode on the 12.9-inch iPad Pro with Liquid Retina XDR display. We'll show you how Reference Mode enables you to represent color accurately and provide consistent image representation in workflows like review and...
-
23:31 Discover advances in Metal for A15 Bionic
Discover how you can elevate your apps and games with Metal and the A15 Bionic. We'll help you take advantage of Apple GPU family 8 with the latest Metal features: Learn how to save memory with Lossy Compression, dive into complex shadow mapping techniques with Sparse Depth and Stencil Textures,...
-
23:44 Metal Compute on MacBook Pro
Discover how you can take advantage of Metal compute on the latest MacBook Pro. Learn the fundamental principles of high-performance Metal compute and find out how you can take advantage of the framework to create better workflows for your development process and even better apps for creative pros.
-
35:07 Tune CPU job scheduling for Apple silicon games
Graphically-intensive games can be very demanding on hardware resources, requiring hundreds or even thousands of CPU jobs to be processed every frame. We'll show you how you can organize those jobs to maximize CPU efficiency and performance on the M1, M1 Pro, and M1 Max chips. Learn how you can...
-
28:57 Discover Metal enhancements for A14 Bionic
Explore how Metal is bringing sophisticated rendering and powerful compute features to A14 Bionic. We'll take you through the Metal capabilities delivered in the Apple GPU Family 7 feature set, including new texture addressing modes, fast SIMD reduction and matrix multiplication operations, and a...
-
13:26 Explore Live GPU Profiling with Metal Counters
Take advantage of the Metal Counters API for GPU profiling in macOS Big Sur and iOS 14. This API provides access at runtime to low-level GPU profiling information, which was previously available only through offline tools in Xcode and Instruments. Metal Counters accelerate the optimization...
-
35:48 Metal Enhancements for A13 Bionic
Metal brings powerful API features and GPU-driven capabilities to A13 Bionic including sparse textures, vertex amplification, Tier 2 argument buffers, ASTC HDR, and more. Understand the architectural improvements of the Apple-designed A13 Bionic and learn how the latest Metal enhancements advance...
-
9:44 Metal 2 on A11 - Tile Shading
Tile shading is a new Metal 2 pipeline stage allowing apps to combine rendering and compute operations into a single render pass while sharing imageblock data and threadgroup memory. Understand how to create a tile shading pipeline, and see how it leverages the high-bandwidth tile memory of the...
-
16:10 Metal 2 on A11 - Overview
The seamless integration of Metal 2 with the A11 Bionic chip lets your apps and games realize entirely new levels of performance and capability. Get introduced to powerful new API features and GPU-driven capabilities of Metal 2 on A11, including imageblocks, tile shading, enhancements to raster...
-
10:56 Metal 2 on A11 - Raster Order Groups
Raster order groups allow Metal 2 apps to precisely control the order of parallel fragment shader threads accessing the same pixel coordinates. Learn how A11 extends raster order groups with support for multiple groups and adds new capabilities for accessing threadgroup memory. See how you can...
-
13:16 Metal 2 on A11 - Imageblock Sample Coverage Control
Imageblock sample coverage control provides access to multisample tracking data within a tile shader, enabling development of custom MSAA resolve algorithms and more. Understand how the A11 GPU tracks unique samples, then explore an example that optimizes rendering of dense geometry through...
-
10:28 Metal 2 on A11 - Imageblocks
Imageblocks enable Metal 2 apps to define and manipulate custom per-pixel data structures in the high-bandwidth tile memory of the A11 GPU. Learn how imageblocks can pass data between the fragment and tile stages of a render pass and unlock sophisticated rendering techniques such as approximate...
-
-
WWDC23 -
18:26 Build great games for spatial computing
Find out how you can develop great gaming experiences for visionOS. We'll share some of the key building blocks that help you create games for this platform, explore how your experiences can fluidly move between levels of immersion, and provide a roadmap for exploring ARKit, RealityKit, Reality...
-
15:06 Bring your game to Mac, Part 1: Make a game plan
Bring modern, high-end games to Mac and iPad with the powerful features of Metal and Apple silicon. Discover the game porting toolkit and learn how it can help you evaluate your existing Windows game for graphics feature compatibility and performance. We'll share best practices and technical...
-
26:45 Bring your game to Mac, Part 3: Render with Metal
Discover how you can support Metal in your rendering code as we close out our three-part series on bringing your game to Mac. Once you've evaluated your existing Windows binary with the game porting toolkit and brought your HLSL shaders over to Metal, learn how you can optimally implement the...
-
15:10 Bring your Unity VR app to a fully immersive space
Discover how you can bring your existing Unity VR apps and games to visionOS. We'll explore workflows that can help you get started and show you how to build for eyes and hands in your apps and games with the Unity Input System. Learn about Unity's XR Interaction Toolkit, tips for foveated...
-
18:57 Bring your game to Mac, Part 2: Compile your shaders
Discover how the Metal shader converter streamlines the process of bringing your HLSL shaders to Metal as we continue our three-part series on bringing your game to Mac. Find out how to build a fast, end-to-end shader pipeline from DXIL that supports all shader stages and allows you to leverage...
-
31:58 Your guide to Metal ray tracing
Discover how you can enhance the visual quality of your games and apps with Metal ray tracing. We'll take you through the fundamentals of the Metal ray tracing API. Explore the latest enhancements and techniques that will enable you to create larger and more complex scenes, reduce memory usage...
-
20:14 Explore materials in Reality Composer Pro
Learn how Reality Composer Pro can help you alter the appearance of your 3D objects using RealityKit materials. We'll introduce you to MaterialX and physically-based (PBR) shaders, show you how to design dynamic materials using the shader graph editor, and explore adding custom inputs to a...
-
15:46 Create immersive Unity apps
Explore how you can use Unity to create engaging and immersive experiences for visionOS. We'll share how Unity integrates seamlessly with Apple frameworks, take you through the tools you can use to build natively for the platform, and show you how volume cameras can bring your existing scenes...
-
20:41 Enhance your spatial computing app with RealityKit
Go beyond the window and learn how you can bring engaging and immersive 3D content to your apps with RealityKit. Discover how SwiftUI scenes work in tandem with RealityView and how you can embed your content into an entity hierarchy. We'll also explore how you can blend virtual content and the...
-
13:43 What’s new in ScreenCaptureKit
Level up your screen sharing experience with the latest features in ScreenCaptureKit. Explore the built-in system picker, Presenter Overlay, and screenshot capabilities, and learn how to incorporate these features into your existing ScreenCaptureKit app or game.
-
16:57 Optimize GPU renderers with Metal
Discover how to optimize your GPU renderer using the latest Metal features and best practices. We'll show you how to use function specialization and parallel shader compilation to maintain responsive authoring workflows and the fastest rendering speeds, and help you tune your compute shaders for...
-
33:59 What’s new in Background Assets
Waiting is no fun! Discover how Background Assets can help your app download content before it even launches. We'll show you how to integrate Background Assets into an existing app, explore when to use essential or non-essential assets, and learn how to make debugging your extension a breeze.
-
14:26 Explore the USD ecosystem
Discover the latest updates to Universal Scene Description (USD) on Apple platforms and learn how you can deliver great 3D content for your apps, games, and websites. Get to know USD for visionOS, explore MaterialX shaders and color management, and find out about some of the other improvements to...
-
20:51 Discover Metal for immersive apps
Find out how you can use Metal to render fully immersive experiences for visionOS. We'll show you how to set up a rendering session on the platform and create a basic render loop, and share how you can make your experience interactive by incorporating spatial input.
-
-
WWDC22 -
20:36 Explore EDR on iOS
EDR is Apple's High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of HDR displays on iPhone and iPad. We'll show how you can take advantage of the native EDR APIs on iOS, provide best...
-
13:48 Target and optimize GPU binaries with Metal 3
Discover how you can reduce in-app stutters, first launch times, and new level load times when you generate your GPU binaries entirely at project build time with offline compilation. We'll also show you how to improve total compile time and binary size for larger GPU programs using the "Optimize...
-
22:21 Explore USD tools and rendering
Discover the latest advancements in tooling to help you generate, inspect, and convert Universal Scene Description (USD) assets. We'll learn about updates to these tools and help you integrate them into your content creation pipeline. We'll also explore the power of USD Hydra rendering, and show...
-
24:57 Scale compute workloads across Apple GPUs
Discover how you can create compute workloads that scale efficiently across Apple GPUs. Learn how to saturate the GPU by improving your work distribution, minimize GPU timeline gaps with effective pipelining and concurrent dispatches, and use atomic operations effectively. We'll also take you...
-
15:28 Meet ScreenCaptureKit
Learn how ScreenCaptureKit can deliver high-performance screen capture for your macOS screen sharing applications, video conferencing apps, game streaming services, and more. We'll explore the building blocks of this API, learn how to configure streams to capture on-screen video and audio...
-
15:44 Discover Metal 3
Harness the full potential of Apple silicon in your app with Metal 3. We'll introduce you to the latest features, improvements, and tooling. We'll also explore how you can use advanced features and compiler tools to load resources faster, compile shader binaries at build time, process complex...
-
26:58 Program Metal in C++ with metal-cpp
Your C++ games and apps can now tap into the power of Metal. We'll show you how metal-cpp helps you bridge your C++ code to Metal, explore how each manages object lifecycles, and demonstrate utilities that can help these language cooperate in your app. We'll also share best practices for...
-
10:07 Reach new players with Game Center dashboard
Meet the Game Center activity dashboard and discover how it can help your game reach new players. We'll introduce you to the dashboard and profiles and explore how they can track player achievements, high scores, and leaderboard changes for your game. We'll also show you how to add Game Center to...
-
22:04 Display HDR video in EDR with AVFoundation and Metal
Learn how you can take advantage of AVFoundation and Metal to build an efficient EDR pipeline. Follow along as we demonstrate how you can use AVPlayer to display HDR video as EDR, add playback into an app view, render it with Metal, and use Core Image or custom Metal shaders to add video effects...
-
17:41 Display EDR content with Core Image, Metal, and SwiftUI
Discover how you can add support for rendering in Extended Dynamic Range (EDR) from a Core Image based multi-platform SwiftUI application. We'll outline best practices for displaying CIImages to a MTKView using ViewRepresentable. We'll also share the simple steps to enable EDR rendering and...
-
17:44 Transform your geometry with Metal mesh shaders
Meet Metal mesh shaders — a modern and flexible pipeline in Metal for GPU-driven geometry creation and processing. We'll explore how this API can improve and add flexibility to your render pipeline, and share some of the opportunities that GPU-driven work can create. Discover how you can create...
-
34:14 Go bindless with Metal 3
Learn how you can unleash powerful rendering techniques like ray tracing when you go bindless with Metal 3. We'll show you how to make your app's bindless journey a joy by simplifying argument buffers, allocating acceleration structures from heaps, and benefitting from the improvements to the...
-
31:23 Maximize your Metal ray tracing performance
Learn how to simplify your ray tracing code and increase performance with the power of Metal 3. We'll explore the GPU debugging and profiling tools that can help you tune your ray tracing applications. We'll also show you how you can speed up intersection tests and reduce shader code memory...
-
38:26 Profile and optimize your game's memory
Learn how Apple platforms calculate and allocate memory for your game. We'll show you how to use Instruments and the Game Memory template to profile your game, take a memory graph to monitor current memory use, and analyze it using Xcode Memory Debugger and command line tools. We'll also explore...
-
26:41 Plug-in and play: Add Apple frameworks to your Unity game projects
Help make your Unity app or game an even better experience on Apple platforms. Learn how you can add Apple technologies directly to your projects with six plug-ins: Apple.Core, Game Center, Game Controller, Accessibility, Core Haptics, and PHASE. We'll show you how you can add new gameplay...
-
37:19 Take ScreenCaptureKit to the next level
Discover how you can support complex screen capture experiences for people using your app with ScreenCaptureKit. We'll explore many of the advanced options you can incorporate including fine tuning content filters, frame metadata interpretation, window pickers, and more. We'll also show you how...
-
16:08 Add accessibility to your Unity games
Learn how you can make your Unity games accessible on Apple platforms using our open source Accessibility plug-in. Follow along as we add support for assistive technologies like VoiceOver and Switch Control to a sample Unity game project. We'll show you how you can automatically scale text with...
-
22:11 Boost performance with MetalFX Upscaling
Discover MetalFX, a new API that provides platform optimized graphics effects for Metal applications. With MetalFX Upscaling, your application can now render frames at a lower resolution, reducing rendering time, without compromising rendering quality. We'll also show you how and when to use its...
-
22:24 Load resources faster with Metal 3
Discover how you can use fast resource streaming in Metal 3 to quickly load assets. We'll show you how to use an asynchronous set-it-and-forget-it workflow in your app to take advantage of the speed of SSD storage and the throughput of Apple silicon's unified memory architecture. We'll also...
-
18:15 Understand USD fundamentals
Discover the fundamentals of Pixar's Universal Scene Description (USD) and learn how it can help you build great 3D assets and workflows. We'll introduce you to the core concepts behind USD and explore how you can integrate the format into your content creation pipeline. We'll also show you how...
-
26:00 Bring your world into augmented reality
Follow along as we demonstrate how you can use Object Capture and RealityKit to bring real-world objects into an augmented reality game. We'll show you how to capture detailed items using the Object Capture framework, add them to a RealityKit project in Xcode, apply stylized shaders and...
-
29:51 Accelerate machine learning with Metal
Discover how you can use Metal to accelerate your PyTorch model training on macOS. We'll take you through updates to TensorFlow training support, explore the latest features and operations of MPS Graph, and share best practices to help you achieve great performance for all your machine learning...
-
-
WWDC21 -
29:53 Explore advanced rendering with RealityKit 2
Create stunning visuals for your augmented reality experiences with cutting-edge rendering advancements in RealityKit. Learn the art of writing custom shaders, draw real-time dynamic meshes, and explore creative post-processing effects to help you stylize your AR scene.
-
26:31 Capture and process ProRAW images
When you support ProRAW in your app, you can help photographers easily capture and edit images by combining standard RAW information with Apple's advanced computational photography techniques. We'll take you through an overview of the format, including the look and feel of ProRAW images, quality...
-
23:56 Add rich graphics to your SwiftUI app
Learn how you can bring your graphics to life with SwiftUI. We'll begin by working with safe areas, including the keyboard safe area, and learn how to design beautiful, edge-to-edge graphics that won't underlap the on-screen keyboard. We'll also explore the materials and vibrancy you can use in...
-
23:20 Optimize for variable refresh rate displays
Discover how to achieve smooth screen updates on all Apple platforms that support dynamic display timing. Learn techniques for pacing full-screen game updates on Adaptive Sync displays in macOS, and find out how Low Power Mode and other system states affect frame rate availability on ProMotion...
-
27:56 Create 3D models with Object Capture
Object Capture provides a quick and easy way to create lifelike 3D models of real-world objects using just a few images. Learn how you can get started and bring your assets to life with Photogrammetry for macOS. And discover best practices with object selection and image capture to help you...
-
25:07 Dive into RealityKit 2
Creating engaging AR experiences has never been easier with RealityKit 2. Explore the latest enhancements to the RealityKit framework and take a deep dive into this underwater sample project. We'll take you through the improved Entity Component System, streamlined animation pipeline, and the...
-
20:28 Explore ARKit 5
Build the next generation of augmented reality apps with ARKit 5. Explore how you can use Location Anchors in additional regions and more easily onboard people into your location-based AR experience. Learn more about Face Tracking and Motion Capture. And discover best practices for placing your...
-
29:48 Explore hybrid rendering with Metal ray tracing
Discover how you can combine ray tracing with your rasterization engine to implement simplified graphics techniques and elevate visuals in your app or game. We'll explore how you can use natural algorithms to accurately simulate the interplays of light, and learn how to take advantage of the...
-
29:34 Create image processing apps powered by Apple silicon
Discover how to optimize your image processing app for Apple silicon. Explore how to take advantage of Metal render command encoders, tile shading, unified memory architecture, and memoryless attachments. We'll show you how to use Apple's unique tile based deferred renderer architecture to create...
-
8:40 Discover rolling clips with ReplayKit
Never again miss anyone's great moment in your game or app. Learn about ReplayKit's latest update — clips screen recording — which provides your app with a rolling buffer of past video and audio samples. When memorable moments happen, discover how you can record and save it for people, and find...
-
14:51 Create 3D workflows with USD
Discover the flexibility, versatility and power of Pixar's Universal Scene Description (USD) for your 3D workflows. Learn how you can use the USD file format in your professional workflows for macOS: Scan 3D models of your real-world objects using Object Capture, utilize the potential of...
-
16:00 Practice audio haptic design
Discover how you can deliver rich app experiences that include animation, sound, and haptics on iPhone. Learn key concepts for designing multimodal experiences within the Core Haptics framework. We'll take you through our sample HapticRicochet app — where haptic and sound feedback is designed in...
-
29:12 Accelerate machine learning with Metal Performance Shaders Graph
Metal Performance Shaders Graph is a compute engine that helps you build, compile, and execute customized multidimensional graphs for linear algebra, machine learning, computer vision, and image processing. Discover how MPSGraph can accelerate the popular TensorFlow platform through a Metal...
-
39:53 Discover Metal debugging, profiling, and asset creation tools
Explore how Xcode can help you take your Metal debugging, profiling and asset creation workflows to the next level. Discover the latest tools for ray tracing and GPU profiling, and learn about Metal Debugger workflows. We'll also show you how to use the Texture Converter tool, which supports all...
-
32:27 Optimize high-end games for Apple GPUs
Optimize your high-end games for Apple GPUs: We'll show you how you can use our rendering and debugging tools to eliminate performance issues and make your games great on Apple platforms. Learn from our experiences working with developers at Larian Studios and 4A Games as we help them optimize...
-
9:03 Explore Core Image kernel improvements
Discover how you can add Core Image kernels written in the Metal Shading Language into your app. We'll explore how you can use Xcode rules and naming conventions for Core Image kernels written in the Metal Shading Language, and help you make sense of Metal's Stitchable functions and dynamic...
-
34:16 Explore HDR rendering with EDR
EDR is Apple's High Dynamic Range representation and rendering pipeline. Explore how you can render HDR content using EDR in your app and unleash the dynamic range capabilities of your HDR display including Apple's internal displays and Pro Display XDR. We'll show you how game and pro app...
-
29:50 Enhance your app with Metal ray tracing
Achieve photorealistic 3D scenes in your apps and games through ray tracing, a core part of the Metal graphics framework and Shading Language. We'll explore the latest improvements in implementing ray tracing and take you through upgrades to the production rendering process. Discover Metal APIs...
-
24:52 Discover compilation workflows in Metal
The Metal shading language is a powerful C++ based language that allows apps to render stunning effects while maintaining a flexible shader development pipeline. Discover how to more easily build and extend your render pipelines using Dynamic Libraries and Function Pointers. We'll also show you...
-
22:09 What’s new in Game Center: Widgets, friends, and multiplayer improvements
Power up your online gaming experience with GameKit and adopt features like multiplayer, leaderboards, and achievements in your game. We'll take you through the latest improvements to Game Center, including player matching and multiplayer APIs, and explore how you can boost discovery of your game.
-
14:26 AR Quick Look, meet Object Capture
Discover simple ways to bring your Object Capture assets to AR Quick Look while optimizing for visual quality and file size. Explore ways you can integrate AR Quick Look and Object Capture to help create entirely new experiences. To get the most out of this session, we recommend first watching...
-
15:00 Tap into virtual and physical game controllers
It's time to up your input game: Learn about the latest improvements to virtual and physical game controllers for iPhone, iPad, Mac, and Apple TV. Meet the virtual on-screen controller, which turns touch input into game controller input, and find out how to add controller sharing features to your...
-
37:28 Discover geometry-aware audio with the Physical Audio Spatialization Engine (PHASE)
Explore how geometry-aware audio can help you build complex, interactive, and immersive audio scenes for your apps and games. Meet PHASE, Apple's spatial audio API, and learn how the Physical Audio Spatialization Engine (PHASE) keeps the sound aligned with your experience at all times — helping...
-
21:12 Explore bindless rendering in Metal
Unleash the full potential of your shaders and implement modern rendering techniques by adding Argument Buffers to adopt bindless rendering. Learn how to make your entire scene and resources available to the GPU to make the most out of raytracing and rasterization pipelines.
-
25:55 Bring Recurring Leaderboards to your game
Recurring leaderboards are a great way to encourage players to keep coming back to your game. Code along with us as we take you through how to set up a recurring leaderboard, both within App Store Connect and in your game itself. For a refresher on the differences between recurring and classic...
-
-
WWDC20 -
36:16 Build GPU binaries with Metal
Power up your shader pipeline with enhancements to the Metal shader compilation model — all leading to a dramatic reduction in Pipeline State Object (PSO) loading time, especially upon first launch. Learn about explicit PSO caching and sharing of GPU binaries using Metal binary archives and...
-
23:58 Capture and stream apps on the Mac with ReplayKit
Learn how you can integrate ReplayKit into your Mac apps and games to easily share screen recordings or broadcast live audio and visuals online. We'll show you how to capture screen content, audio, and microphone input inside your Mac apps, and even broadcast your video to a live audience. For...
-
23:32 Tap into Game Center: Dashboard, Access Point, and Profile
Apple's social gaming network is ready to play. We'll walk you through the latest updates to Game Center, starting with its in-game interface and all-new player experience. Learn how to integrate GameKit into your app and authenticate players effectively, and discover the Access Point, which...
-
6:12 Build Metal-based Core Image kernels with Xcode
Learn how to integrate and load Core Image kernels written in the Metal Shading Language into your application, and discover how you can apply these image filters to create unique effects. Explore how to use Xcode rules and naming conventions for Core Image kernels written in Metal Shading...
-
25:15 What's new in RealityKit
RealityKit is Apple's rendering, animation, physics, and audio engine built from the ground up for augmented reality: It reimagines the traditional 3D renderer to make it easy for developers to prototype and produce high-quality AR experiences. Learn how to effectively implement each of the...
-
33:52 Bring your Metal app to Apple silicon Macs
Meet the Tile Based Deferred Rendering (TBDR) GPU architecture for Apple silicon Macs — the heart of your Metal app or game's graphics performance. Learn how you can translate or port your graphics-intensive app over to Apple silicon, and how to take advantage of TBDR and Metal when building...
-
7:16 Discover Core Image debugging techniques
Find and fix rendering and optimization issues in your Core Image pipeline with Xcode environment variable. Discover how you can set the environment variable for visualizing your Core Image graphs. You'll learn how to generate Core Image graphs and how to interpret them to discover memory, color,...
-
32:50 Optimize Metal apps and games with GPU counters
GPU counters can help you precisely measure GPU utilization to pinpoint bottlenecks and optimize workloads for your Metal apps and games. We'll walk you through the tools available in the Metal System Trace instrument and Metal Debugger in Xcode 12 to profile your graphics workload, and show you...
-
14:17 Gain insights into your Metal app with Xcode 12
Learn how to locate graphics issues in minutes with Metal's debugging and performance optimization tools in Xcode 12. We'll show you how to diagnose problems quickly using Metal Debugger. Discover the new summary view, which suggests ways to improve memory usage, bandwidth, performance, and...
-
23:40 Decode ProRes with AVFoundation and VideoToolbox
Make decoding and displaying ProRes content easier in your Mac app: Learn how to implement an optimal graphics pipeline by leveraging AVFoundation and VideoToolbox's decoding capabilities. We'll share best practices and performance considerations for your app, show you how to integrate...
-
20:56 Debug GPU-side errors in Metal
Track down even the trickiest GPU-side programming errors with enhanced reporting in Xcode 12. While Metal's API validation layer can catch most problems in a project, GPU errors can cause a host of difficult-to-debug issues. Get an introduction to GPU-side errors and learn how to find and...
-
20:31 Get to know Metal function pointers
Metal is a low-level, low-overhead hardware-accelerated graphics framework and shader application programming interface for producing stunning visual effects in applications. Discover how to make your shaders written in Metal Shading Language more programmable and extensible by using function...
-
28:18 The artist’s AR toolkit
Reality Converter and Reality Composer make preparing augmented reality assets for your iOS or iPadOS app easier than ever. Discover how you can convert existing 3D assets into USDZ, bring them into Reality Composer to create AR experiences, and integrate with an existing Xcode project or export...
-
39:35 Build customized ML models with the Metal Performance Shaders Graph
Discover the Metal Performance Shaders (MPS) Graph, which extends Metal's Compute capabilities to multi-dimensional Tensors. MPS Graph builds on the highly tuned library of data parallel primitives that are vital to machine learning and leverages the tremendous power of the GPU. Explore how MPS...
-
45:22 Optimize Metal Performance for Apple silicon Macs
Apple silicon Macs are a transformative new platform for graphics-intensive apps — and we're going to show you how to fire up the GPU to create blazingly fast apps and games. Discover how to take advantage of Apple's unique Tile-Based Deferred Rendering (TBDR) GPU architecture within Apple...
-
18:38 Shop online with AR Quick Look
AR Quick Look adds a new dimension to online shopping: We'll show you how to easily showcase your products in augmented reality for a "try before you buy" experience. Discover how to display a product banner in AR Quick Look, integrate Apple Pay, or display custom actions like "add to cart". To...
-
24:23 Harness Apple GPUs with Metal
Create visually stunning, high-performance apps and games when you combine the power of Apple GPUs with Metal, the modern foundation for GPU-accelerated graphics on Apple platforms. Discover the architecture and capabilities of the Apple GPU and how Metal harnesses its tile-based deferred...
-
14:04 Bring keyboard and mouse gaming to iPad
Level up your iPad games and add in keyboard, mouse, and trackpad controls. Discover how to use the Game Controller framework to augment your existing titles, bring over games from other platforms, or dream up entirely new interaction experiences. Learn how to integrate keyboard and “delta” mouse...
-
24:59 Advancements in Game Controllers
Let's rumble! Discover how you can bring third-party game controllers and custom haptics into your games on iPhone, iPad, Mac, and Apple TV. We'll show you how to add support for the latest controllers — including Xbox's Elite Wireless Controller Series 2 and Adaptive Controller — and map your...
-
24:41 What's new in USD
Discover proposed schema and structure updates to the Universal Scene Description (USD) standard. Learn how you can use Reality Composer to build AR content with interactive properties like anchoring, physics, behaviors, 3D text, and spatial audio that exports to USDZ. And, discover streamlined...
-
18:07 Design for Game Center
Get your game's interface ready for Game Center. We'll show you how to deliver personalized touches to the GameKit interface that provide a rich experience for players, with features like achievements, leaderboards, and multiplayer gaming. Learn how to customize your game's access point, design...
-
5:42 Support performance-intensive apps and games
iOS and iPadOS provide powerful capabilities to help developers deliver breakthrough apps and games across all device generations. In certain instances, however, demanding apps with exceptional performance requirements may only be able to provide the best experience on devices with an A12 Bionic...
-
8:37 Optimize the Core Image pipeline for your video app
Explore how you can harness the processing power of Core Image and optimize video performance within your app. We'll show you how to build your Core Image pipeline for applying effects to your video in your apps: Discover how to reduce your app's memory footprint when using CIContext, and learn...
-
24:54 Tap into Game Center: Leaderboards, Achievements, and Multiplayer
Level up your Game Center integration and enable players to compare scores on leaderboards, earn valuable achievements, and engage with other players. Organize special events like weekly championships, daily showdowns, or 1-hour competitions using recurring leaderboards. Create up to 100 unique...
-
27:38 Explore ARKit 4
ARKit 4 enables you to build the next generation of augmented reality apps to transform how people connect with the world around them. We'll walk you through the latest improvements to Apple's augmented reality platform, including how to use Location Anchors to connect virtual objects with a...
-
21:05 Discover ray tracing with Metal
Achieve photorealistic 3D scenes in your apps and games through ray tracing — a core part of the Metal graphics framework and Shading Language. Discover the fundamentals of the Metal ray tracing API and Shading Language extensions for ray tracing, find out how to use them in your graphics apps...
-
-
WWDC19 -
37:13 Introducing RealityKit and Reality Composer
Architected for AR, RealityKit provides developers access to world-class capabilities for rendering, animation, physics, and spatial audio. See how RealityKit reimagines the traditional 3D engine to make AR development faster and easier for developers than ever before. Understand the building...
-
56:04 Expanding the Sensory Experience with Core Haptics
Core Haptics lets you design your own haptics with synchronized audio on iPhone. In this two part session, learn essential sound and haptic design principles and concepts for creating meaningful and delightful experiences that engage a wider range of human senses. Discover how to combine visuals,...
-
55:28 Modern Rendering with Metal
Metal is the GPU-accelerated graphics and compute framework that helps developers build everything from pro apps to console-style games. Learn how to apply Metal features to implement modern graphics techniques including deferred and tiled-forward rendering. See how GPU-driven capabilities enable...
-
46:43 Designing Award Winning Apps and Games
Through stories, interviews, and artifacts we will uncover valuable design processes, techniques, and best practices of Apple Design Award winning apps and games.
-
39:26 Bringing People into AR
ARKit 3 enables a revolutionary capability for robust integration of real people into AR scenes. Learn how apps can use live motion capture to animate virtual characters or be applied to 2D and 3D simulation. See how People Occlusion enables even more immersive AR experiences by enabling virtual...
-
51:27 Introducing ARKit 3
ARKit is the groundbreaking augmented reality (AR) platform for iOS that can transform how people connect with the world around them. Explore the state-of-the-art capabilities of ARKit 3 and discover the innovative foundation it provides for RealityKit. Learn how ARKit makes AR even more...
-
43:57 Advances in AR Quick Look
AR Quick Look is a built-in viewer for experiencing high-quality content in 3D and AR. See how integration with Reality Composer enables rich, interactive experiences to be displayed and shared more easily than ever before. Explore rendering improvements and multiple object viewing, then dive...
-
59:05 Building AR Experiences with Reality Composer
Reality Composer is a tool that lets anyone quickly prototype and build AR scenes ready to integrate into apps or experience with AR Quick Look. Walk through the powerful and intuitive capabilities of Reality Composer and discover hundreds of ready-to-use virtual objects in its built-in AR...
-
39:47 Building Apps with RealityKit
Gain a practical understanding of RealityKit capabilities by developing a game using its easy-to-learn API. Learn the recommended approach for loading assets, building a scene, applying animations, and handling game input. See how entities and components express the powerful elements of...
-
37:09 Debugging in Xcode 11
Xcode 11 introduces new features for finding and fixing bugs fast. Discover how to simulate network conditions and thermal states, and how to override your app's runtime environment while debugging. See how the debugging features work with Xcode previews to identify issues before Build & Run...
-
35:17 Building Collaborative AR Experiences
With iOS 13, ARKit and RealityKit enable apps to establish shared AR experiences faster and easier than ever. Understand how collaborative sessions allow multiple devices to build a combined world map and share AR anchors and updates in real-time. Learn how to incorporate collaborative sessions...
-
57:13 Bringing OpenGL Apps to Metal
Metal is the modern foundation for GPU-accelerated graphics and compute on Apple platforms, superseding OpenGL, OpenGL ES, and OpenCL. Get introduced to the architecture and feature set of Metal and learn a step-by-step approach for transitioning OpenGL-based apps to the Metal API.
-
43:06 Getting the Most Out of Simulator
Join us for a deep dive into the world of Simulator. Find out how Simulator works, discover features you might not know exist, and get a tour of the command-line interface to Simulator for automation. Learn about native GPU acceleration in Simulator via Metal, and how to optimize your Metal code...
-
41:25 Metal for Machine Learning
Metal Performance Shaders (MPS) includes a highly tuned library of data parallel primitives vital to machine learning and leveraging the tremendous power of the GPU. With iOS 13 and macOS Catalina, MPS improves performance, enables more neural networks, and is now even easier to use. Learn more...
-
10:18 Game Center Player Identifiers
Game Center now supports persistent player identifiers scoped to individual games or to a developer team ID. Understand how scoped identifiers enhance player privacy and see how to transition your apps and games onto the recommended API.
-
49:24 Delivering Optimized Metal Apps and Games
Optimizing performance, memory, and bandwidth are important considerations for resource-intensive Metal apps and games. Learn key best practices to streamline your rendering and attain high frame rates. Understand powerful tools that can help you pinpoint expensive or unexpected GPU work. Dive...
-
17:00 Supporting New Game Controllers
With iOS 13, macOS Catalina, and tvOS 13, the Game Controller framework adds support for several well-known console game controllers. Get briefed about the newly-added controllers and understand how their inputs are delivered. Learn recommended best practices for handling optional buttons, and...
-
58:56 Metal for Pro Apps
Metal is the platform-optimized graphics and compute framework at the heart of GPU acceleration on Apple platforms. Learn key aspects of the Metal architecture that support the techniques for modern high-performance pro applications and workflows. Learn how to leverage Metal capabilities to...
-
31:55 Working with USD
Universal Scene Description (USD) enables the robust description of 3D scenes and empowers engineers and artists to seamlessly collaborate across the creative workflow. Get introduced to the powerful capabilities of USD and explore its incredible scalability. Gain a deeper understanding of how...
-
58:38 Ray Tracing with Metal
Metal Performance Shaders (MPS) harness the massive parallelism of the GPU to dramatically accelerate calculations at the heart of modern ray tracing and ray casting techniques. Understand how MPS accelerates calculations for dynamic scenes, and dive into practical examples for implementing soft...
-
-
WWDC18 -
38:13 Metal Shader Debugging and Profiling
Metal provides powerful tools for analyzing shader behavior and optimizing performance. Dive into troubleshooting vertex-stage problems with new geometry viewing capabilities in Xcode. Use the shader debugger to step through vertex, fragment, and compute shader execution line-by-line. Get details...
-
33:35 Metal Game Performance Optimization
Realize the full potential of your Metal-based games by tackling common issues that cause frame rate slowdowns, stutters, and stalls. Discover how to clear up jitter and maintain a silky-smooth frame rate with simple changes in frame pacing. Get introduced to new tools for analyzing rendering...
-
-
WWDC17 -
10:06 Get Started with Display P3
Wide color displays allow your app to display richer, more vibrant and lifelike colors than ever before. Get a primer on color management, the Display P3 color space, and practical workflow techniques for producing more colorful images and icons.
-
13:53 Design Tips for Great Games
Great games transport us into another world where we can reign over a kingdom, fight epic battles, or become a pinball wizard. Learn on-boarding and UI design best practices that will enable everyone to lose themselves in your game and have fun.
-
29:05 High Efficiency Image File Format
Learn the essential details of the new High Efficiency Image File Format (HEIF) and discover which capabilities are used by Apple platforms. Gain deep insights into the container structure, the types of media and metadata it can handle, and the many other advantages that this new standard affords.
-
53:52 SceneKit: What's New
SceneKit is a fast and fully featured high-level 3D graphics framework that enables your apps and games to create immersive scenes and effects. See the latest advances in camera control and effects for simulating real camera optics including bokeh and motion blur. Learn about surface subdivision...
-
40:09 SceneKit in Swift Playgrounds
Discover tips and tricks gleaned by the Swift Playgrounds Content team for working more effectively with SceneKit on a visually rich app. Learn how to integrate animation, optimize rendering performance, design for accessibility, add visual polish, and understand strategies for creating an...
-
32:17 Going Beyond 2D with SpriteKit
SpriteKit makes it easy to create high-performance, power-efficient 2D games and more. See how to take SpriteKit objects into Augmented Reality through seamless integration with ARKit. Learn about mixing 2D and 3D content and applying realistic transformations. Take direct control over SpriteKit...
-
-
WWDC16 -
41:15 Advanced Metal Shader Optimization
The Metal shading language is an easy-to-use programming language for writing graphics and compute functions which execute on the GPU. Dive deeper into understanding the design patterns, memory access models, and detailed shader coding best practices which reduce bottlenecks and hide latency...
-
-
WWDC15 -
39:48 What's New in Core Motion
See what's new in Core Motion. Learn how your application can take advantage of the motion sensors on iOS devices. Walk through new features of the pedometer and learn how to use the altimeter to take your app to the next level. Get personal with motion APIs and sensor data on the Apple Watch...
-
42:46 Managing 3D Assets with Model I/O
Model I/O provides a seamless infrastructure for accessing and managing 3D models. Its high-performance architecture supports reading and writing popular mesh and model formats, textures, and materials. Get introduced to the Model I/O framework and learn key details about its integration with...
-
-
WWDC14 -
56:33 Ingredients of Great Games
Kick off the game development sessions of WWDC 2014 by gaining insight into the key ingredients needed to create a great game for iOS. Understand the importance of harnessing the full capabilities of the platform to create a richer gameplay experience. Get practical guidance about game production...
-
53:18 Working with Metal: Advanced
Building on the fundamentals, learn how to create advanced games and graphics applications with Metal. See how to construct your rendering pipeline, understand how to use compute and graphics together, and discover how to optimize your Metal-based app.
-
46:23 Working with Metal: Overview
Metal provides extremely efficient access to the graphics and compute power of the A7 chip. Get introduced to the essential concepts behind Metal, its low-overhead architecture, streamlined API, and unified shading language. See how Metal lets you take your iOS game or app to the next level of...
-
53:43 Working with Metal: Fundamentals
Start learning how to code with Metal in this step-by-step walkthrough of basic scene rendering. See the code you need to get your first Metal-based application up and running. Explore how to create graphics and compute shaders and efficiently animate scenes.
-