AAPLViewController.m 825 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. See LICENSE folder for this sample’s licensing information.
  3. Abstract:
  4. Implementation of our cross-platform view controller
  5. */
  6. #import "AAPLViewController.h"
  7. #import "AAPLRenderer.h"
  8. @implementation AAPLViewController
  9. {
  10. MTKView *_view;
  11. AAPLRenderer *_renderer;
  12. }
  13. - (void)viewDidLoad
  14. {
  15. [super viewDidLoad];
  16. // Set the view to use the default device
  17. _view = (MTKView *)self.view;
  18. _view.device = MTLCreateSystemDefaultDevice();
  19. NSAssert(_view.device, @"Metal is not supported on this device");
  20. _renderer = [[AAPLRenderer alloc] initWithMetalKitView:_view];
  21. NSAssert(_renderer, @"Renderer failed initialization");
  22. // Initialize our renderer with the view size
  23. [_renderer mtkView:_view drawableSizeWillChange:_view.drawableSize];
  24. _view.delegate = _renderer;
  25. }
  26. @end