You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.0 KiB

#import "ViewController.h"
#import "MetalRenderer.h"
@interface ViewController()
@property (nonatomic,strong)MTKView* metalView;
@property (nonatomic,strong)MetalRenderer* renderer;
@property (nonatomic,strong)id<MTLCommandQueue> commandQueue;
@end;
@implementation ViewController
-(void)viewDidLoad{
[super viewDidLoad];
self.metalView=[[MTKView alloc] initWithFrame:self.view.bounds];
self.metalView.device=MTLCreateSystemDefaultDevice();
self.metalView.clearColor=MTLClearColorMake(0.1, 0.1, 0.1, 1.0);
self.metalView.colorPixelFormat=MTLPixelFormatBGRA8Unorm;
[self.view addSubview:self.metalView];
self.renderer=[[MetalRenderer alloc] initWithMetalKitView:self.metalView];
[self.renderer setupImGui];
self.metalView.delegate=self.renderer;
}
-(void)viewDidLayout{
[super viewDidLayout];
self.metalView.frame=self.view.bounds;
}
-(void)loadView{
self.view=[[NSView alloc] init];
self.view.wantsLayer=YES;
}
-(void)viewWillDisappear{
[super viewWillDisappear];
[self.renderer cleanup];
}
@end