// // RasterizerState.m // XNI // // Created by Matej Jan on 16.9.10. // Copyright 2010 Retronator. All rights reserved. // #import "RasterizerState.h" #import "Retronator.Xni.Framework.h" #import "Retronator.Xni.Framework.Graphics.h" static RasterizerState *cullClockwise; static RasterizerState *cullCounterClockwise; static RasterizerState *cullNone; @implementation RasterizerState - (id) init { self = [super init]; if (self != nil) { cullMode = CullModeCullClockwiseFace; depthBias = 0; fillMode = FillModeSolid; multiSampleAntiAlias = YES; scissorTestEnable = NO; slopeScaleDepthBias = 0; } return self; } + (void) initialize { if (!cullClockwise) { cullClockwise = [[RasterizerState alloc] init]; } if (!cullCounterClockwise) { cullCounterClockwise = [[RasterizerState alloc] init]; cullCounterClockwise.cullMode = CullModeCullCounterClockwiseFace; } if (!cullNone) { cullNone = [[RasterizerState alloc] init]; cullNone.cullMode = CullModeNone; } } @synthesize cullMode; @synthesize depthBias; @synthesize fillMode; @synthesize multiSampleAntiAlias; @synthesize scissorTestEnable; @synthesize slopeScaleDepthBias; + (RasterizerState*) cullClockwise { return cullClockwise; } + (RasterizerState*) cullCounterClockwise { return cullCounterClockwise; } + (RasterizerState*) cullNone { return cullNone; } @end