@class MTLRenderPassDescriptor, CAMetalLayer, AAUIBadgeModelConfiguration, UIImage, CADisplayLink, NSArray; @protocol MTLDevice, MTLDepthStencilState, MTLTexture, MTLCommandQueue, MTLRenderPipelineState; @interface AAUIMetalBadgeRenderer : NSObject { CAMetalLayer *_metalLayer; CADisplayLink *_displayLink; BOOL _useEarnedShader; id _device; id _commandQueue; id _shaderRenderPipeline; id _shaderFaceRenderPipeline; id _shaderFaceInlayTriColorsPipeline; id _shaderFaceInlayRenderPipeline; id _shaderFaceTriColorRenderPipeline; id _depthStencilState; struct { void /* unknown type, empty encoding */ columns[4]; } _viewProjectionMatrix; struct { void /* unknown type, empty encoding */ columns[4]; } _modelTransform; struct { void /* unknown type, empty encoding */ columns[4]; } _environmentMatrix; void /* unknown type, empty encoding */ _cameraPosition; struct { void /* unknown type, empty encoding */ color; void /* unknown type, empty encoding */ enamelColor; void /* unknown type, empty encoding */ enamelTriColor1; void /* unknown type, empty encoding */ enamelTriColor2; void /* unknown type, empty encoding */ enamelTriColor3; float useTexture; float useTextureShine; BOOL useTwoToneEnamel; BOOL useEnamelAlpha; BOOL useFullColorEnamel; BOOL hasGlyph; BOOL hasMetalInlay; } _uniforms; NSArray *_badgeModels; id _fleckNormalTexture; id _environmentTexture; id _backTexture; id _emptyBackTexture; id _colorTexture; MTLRenderPassDescriptor *_renderPassDesc; id _colorAttachmentMSAA; id _depthAttachmentMSAA; void /* unknown type, empty encoding */ _attachmentRasterSize; float _rasterScaleFactor; } @property (copy, nonatomic) id /* block */ stateUpdateBlock; @property (retain, nonatomic) AAUIBadgeModelConfiguration *configuration; @property (retain, nonatomic) UIImage *backTextureImage; @property (nonatomic, getter=isPaused) BOOL paused; + (id)_commandQueueForDevice:(id)a0; + (double)screenScaleMaximum; + (double)screenScaleMultiple; - (void)dealloc; - (id)snapshot; - (void).cxx_destruct; - (void)_setupRenderPipeline; - (void)_cleanupConfiguration; - (void)_drawBadgeFrameCallback; - (void)_drawBadgeModel:(id)a0 intoRenderEncoder:(id)a1 withBackTexture:(BOOL)a2; - (void)_drawFrameWithDrawable:(id)a0; - (void)_drawIntoRenderEncoder:(id)a0; - (void)_loadBadgeModelWithConfiguration:(id)a0; - (void)_setupAttributes; - (void)_setupCommonBindingsForRenderEncoder:(id)a0 pipelineState:(id)a1 verticesBuffer:(id)a2; - (void)_setupTextures; - (void)_updateModelTransformForBadge:(id)a0; - (void)cleanupAfterSnapshot; - (id)initWithCAMetalLayer:(id)a0 useEarnedShader:(BOOL)a1; - (void)resizeBadgeForCurrentViewSize; @end