From e87a140ad5d2182eedc2bd3eb2c1656ccacb2eb1 Mon Sep 17 00:00:00 2001 From: Matej Jan Date: Tue, 27 Jul 2010 17:42:29 +0000 Subject: [PATCH] Starting with implementation of graphics device. git-svn-id: http://xni.googlecode.com/svn/XNI@9 ac433895-eea3-a490-d80a-17149a75e588 --- Classes/Retronator/Xni/Framework/Color.h | 49 +++++++++ Classes/Retronator/Xni/Framework/Color.m | 99 +++++++++++++++++++ Classes/Retronator/Xni/Framework/Game.m | 2 +- .../Retronator/Xni/Framework/Graphics/Enums.h | 89 +++++++++++++++++ .../Xni/Framework/Graphics/GraphicsDevice.h | 41 ++++++++ .../Xni/Framework/Graphics/GraphicsDevice.m | 83 ++++++++++++++++ .../Framework/Graphics/HiDefGraphicsDevice.h | 17 ++++ .../Framework/Graphics/HiDefGraphicsDevice.m | 17 ++++ .../Graphics/IGraphicsDeviceService.h | 14 +++ .../Framework/Graphics/ReachGraphicsDevice.h | 18 ++++ .../Framework/Graphics/ReachGraphicsDevice.m | 17 ++++ ...etronator.Xni.Framework.Graphics.classes.h | 4 + .../Retronator.Xni.Framework.Graphics.h | 5 + .../Retronator.Xni.Framework.classes.h | 2 +- .../Xni/Framework/Retronator.Xni.Framework.h | 1 + XNI.xcodeproj/project.pbxproj | 28 ++++++ 16 files changed, 484 insertions(+), 2 deletions(-) create mode 100644 Classes/Retronator/Xni/Framework/Color.h create mode 100644 Classes/Retronator/Xni/Framework/Color.m create mode 100644 Classes/Retronator/Xni/Framework/Graphics/Enums.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m create mode 100644 Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.m create mode 100644 Classes/Retronator/Xni/Framework/Graphics/IGraphicsDeviceService.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.m create mode 100644 Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h create mode 100644 Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h diff --git a/Classes/Retronator/Xni/Framework/Color.h b/Classes/Retronator/Xni/Framework/Color.h new file mode 100644 index 0000000..6d93c0e --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Color.h @@ -0,0 +1,49 @@ +// +// Color.h +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import + +#import "Retronator.Xni.Framework.classes.h" + +@interface Color : NSObject { + uint packedValue; +} + +- (id) initWithRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha; +- (id) initWithRed:(int)red Green:(int)green Blue:(int)blue; +- (id) initWithPercentageRed:(float)red Green:(float)green Blue:(float)blue Alpha:(float)alpha; +- (id) initWithPercentageRed:(float)red Green:(float)green Blue:(float)blue; +- (id) initWithColor:(Color*)color; + ++ (Color*) colorWithRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha; ++ (Color*) colorWithRed:(int)red Green:(int)green Blue:(int)blue; ++ (Color*) colorWithPercentageRed:(float)red Green:(float)green Blue:(float)blue Alpha:(float)alpha; ++ (Color*) colorWithPercentageRed:(float)red Green:(float)green Blue:(float)blue; ++ (Color*) colorWithColor:(Color*)color; + +@property (nonatomic) Byte r; +@property (nonatomic) Byte g; +@property (nonatomic) Byte b; +@property (nonatomic) Byte a; +@property (nonatomic) uint packedValue; + +//- (Vector3*) toVector3; + +// Constants + ++ (Color*) black; ++ (Color*) blue; ++ (Color*) red; ++ (Color*) fuchsia; ++ (Color*) lime; ++ (Color*) cyan; ++ (Color*) yellow; ++ (Color*) white; ++ (Color*) transparent; + +@end diff --git a/Classes/Retronator/Xni/Framework/Color.m b/Classes/Retronator/Xni/Framework/Color.m new file mode 100644 index 0000000..47715c3 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Color.m @@ -0,0 +1,99 @@ +// +// Color.m +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import "Color.h" + +#define CLAMP_TO_BYTE(X) (X < 0 ? 0 : (X > 255 ? 255 : X)) + + +@implementation Color + +// CONSTRUCTORS + +- (id) initWithRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha { + if (self = [super init]) { + red = CLAMP_TO_BYTE(red); + green = CLAMP_TO_BYTE(green) << 8; + blue = CLAMP_TO_BYTE(blue) << 16; + alpha = CLAMP_TO_BYTE(alpha) << 24; + packedValue = red | green | blue | alpha; + } + return self; +} + +- (id) initWithRed:(int)red Green:(int)green Blue:(int)blue { + return [self initWithRed:red Green:green Blue:blue Alpha:255]; +} + +- (id) initWithPercentageRed:(float)red Green:(float)green Blue:(float)blue Alpha:(float)alpha { + return [self initWithRed:255 * red Green:255 * green Blue:255 * blue Alpha:255 * alpha]; +} + +- (id) initWithPercentageRed:(float)red Green:(float)green Blue:(float)blue { + return [self initWithPercentageRed:red Green:green Blue:blue Alpha:1]; +} + +- (id) initWithColor:(Color*)color { + return [self initWithRed:color.r Green:color.g Blue:color.b Alpha:color.a]; +} + ++ (Color*) colorWithRed:(int)red Green:(int)green Blue:(int)blue Alpha:(int)alpha { + return [[[Color alloc] initWithRed:red Green:green Blue:blue Alpha:alpha] autorelease]; +} + ++ (Color*) colorWithRed:(int)red Green:(int)green Blue:(int)blue { + return [[[Color alloc] initWithRed:red Green:green Blue:blue] autorelease]; +} + ++ (Color*) colorWithPercentageRed:(float)red Green:(float)green Blue:(float)blue Alpha:(float)alpha { + return [[[Color alloc] initWithPercentageRed:red Green:green Blue:blue Alpha:alpha] autorelease]; +} + ++ (Color*) colorWithPercentageRed:(float)red Green:(float)green Blue:(float)blue { + return [[[Color alloc] initWithPercentageRed:red Green:green Blue:blue] autorelease]; +} + ++ (Color*) colorWithColor:(Color *)color { + return [[[Color alloc] initWithColor:color] autorelease]; +} + +// PROPERTIES + +- (Byte) r {return (Byte)packedValue;} +- (void) setR:(Byte)value {packedValue = packedValue & 0xffffff00 | value;} + +- (Byte) g {return (Byte)(packedValue >> 8);} +- (void) setG:(Byte)value {packedValue = packedValue & 0xffff00ff | ((uint)value << 8);} + +- (Byte) b {return (Byte)(packedValue >> 16);} +- (void) setB:(Byte)value {packedValue = packedValue & 0xff00ffff | ((uint)value << 16);} + +- (Byte) a {return (Byte)(packedValue >> 24);} +- (void) setA:(Byte)value {packedValue = packedValue & 0x00ffffff | ((uint)value << 24);} + +@synthesize packedValue; + +// METHODS + +/*- (Vector3 *) toVector3 { + return [Vector3 vectorWithX:data.red Y:data.green Z:data.blue]; +}*/ + + +// Constants ++ (Color*) black {return [Color colorWithRed:0 Green:0 Blue:0];} ++ (Color*) blue {return [Color colorWithRed:0 Green:0 Blue:255];} ++ (Color*) red {return [Color colorWithRed:255 Green:0 Blue:0];} ++ (Color*) fuchsia {return [Color colorWithRed:255 Green:0 Blue:255];} ++ (Color*) lime {return [Color colorWithRed:0 Green:255 Blue:0];} ++ (Color*) cyan {return [Color colorWithRed:0 Green:255 Blue:255];} ++ (Color*) yellow {return [Color colorWithRed:255 Green:255 Blue:0];} ++ (Color*) white {return [Color colorWithRed:255 Green:255 Blue:255];} ++ (Color*) transparent {return [Color colorWithRed:0 Green:0 Blue:0 Alpha:0];} + +@end diff --git a/Classes/Retronator/Xni/Framework/Game.m b/Classes/Retronator/Xni/Framework/Game.m index ddc39f3..c5e05db 100644 --- a/Classes/Retronator/Xni/Framework/Game.m +++ b/Classes/Retronator/Xni/Framework/Game.m @@ -44,7 +44,7 @@ } - (GraphicsDevice*) graphicsDevice { - return [graphicsDeviceService graphicsDevice]; + return [graphicsDeviceService graphicsDevice]; } @synthesize isActive; diff --git a/Classes/Retronator/Xni/Framework/Graphics/Enums.h b/Classes/Retronator/Xni/Framework/Graphics/Enums.h new file mode 100644 index 0000000..06c6c3e --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/Enums.h @@ -0,0 +1,89 @@ +#import +#import + +typedef enum { + DataTypeUnsignedByte = GL_UNSIGNED_BYTE, + DataTypeByte = GL_BYTE, + DataTypeUnsignedShort = GL_UNSIGNED_SHORT, + DataTypeShort = GL_SHORT, + DataTypeFixed = GL_FIXED, + DataTypeFloat = GL_FLOAT +} DataType; + +typedef enum { + CompareFunctionAlways = GL_ALWAYS, + CompareFunctionEqual = GL_EQUAL, + CompareFunctionGreater = GL_GREATER, + CompareFunctionGreaterEqual = GL_GEQUAL, + CompareFunctionLess = GL_LESS, + CompareFunctionLessEqual = GL_LEQUAL, + CompareFunctionNever = GL_NEVER, + CompareFunctionNotEqual = GL_NOTEQUAL +} CompareFunction; + +typedef enum { + ClearOptionsDepthBuffer = GL_DEPTH_BUFFER_BIT, + ClearOptionsStencil = GL_STENCIL_BUFFER_BIT, + ClearOptionsTarget = GL_COLOR_BUFFER_BIT +} ClearOptions; + +typedef enum { + FogModeNone = 0, + FogModeLinear = GL_LINEAR, + FogModeExponent = GL_EXP, + FogModeExponentSquared = GL_EXP2 +} FogMode; + +typedef enum { + IndexElementSizeEightBits = 1, + IndexElementSizeSixteenBits = 2, +} IndexElementSize; + +typedef enum { + ResourceUsageStatic = GL_STATIC_DRAW, + ResourceUsageDynamic = GL_DYNAMIC_DRAW +} ResourceUsage; + +typedef enum { + ResourceTypeTexture2D = GL_TEXTURE_2D, + ResourceTypeIndexBuffer = GL_ELEMENT_ARRAY_BUFFER, + ResourceTypeVertexBuffer = GL_ARRAY_BUFFER +} ResourceType; + +typedef enum { + VertexElementFormatSingle, + VertexElementFormatVector2, + VertexElementFormatVector3, + VertexElementFormatVector4, + VertexElementFormatHalfVector2, + VertexElementFormatHalfVector4, + VertexElementFormatRgba64, + VertexElementFormatColor, + VertexElementFormatRgba32, + VertexElementFormatRg32, + VertexElementFormatNormalizedShort2, + VertexElementFormatNormalizedShort4, + VertexElementFormatNormalized101010, + VertexElementFormatShort2, + VertexElementFormatShort4, + VertexElementFormatByte4, + VertexElementFormatUInt101010, + VertexElementFormatUnused +} VertexElementFormat; + +typedef enum { + VertexElementUsagePosition = GL_VERTEX_ARRAY, + VertexElementUsageNormal = GL_NORMAL_ARRAY, + VertexElementUsageColor = GL_COLOR_ARRAY, + VertexElementUsageTextureCoordinate = GL_TEXTURE_COORD_ARRAY, + VertexElementUsagePointSize = GL_POINT_SIZE_ARRAY_OES +} VertexElementUsage; + +typedef enum { + PrimitiveTypePointList = GL_POINTS, + PrimitiveTypeLineList = GL_LINES, + PrimitiveTypeLineStrip = GL_LINE_STRIP, + PrimitiveTypeTriangleList = GL_TRIANGLES, + PrimitiveTypeTriangleStrip = GL_TRIANGLE_STRIP, + PrimitiveTypeTriangleFan = GL_TRIANGLE_FAN +} PrimitiveType; \ No newline at end of file diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h new file mode 100644 index 0000000..915a2a4 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h @@ -0,0 +1,41 @@ +// +// GraphicsDevice.h +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import +#import +#import +#import + +#import "Retronator.Xni.Framework.classes.h" +#import "Retronator.Xni.Framework.Graphics.classes.h" + +@interface GraphicsDevice : NSObject { + Game *game; + EAGLContext *context; + + // The pixel dimensions of the CAEAGLLayer + GLint backingWidth; + GLint backingHeight; + + // The OpenGL names for the buffers used to render to this view + GLuint defaultFramebuffer, colorRenderbuffer, depthRenderbuffer; +} + +- (id) initWithGame:(Game*) theGame; + +// Presentation +- (void) reset; +- (void) present; + +// Render buffers +- (void) clearWithColor:(Color*)color; +- (void) clearWithOptions:(ClearOptions)options color:(Color*)color depth:(float)depth stencil:(int)stencil; + +- (EAGLContext*) createContext; + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m new file mode 100644 index 0000000..3d39c99 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m @@ -0,0 +1,83 @@ +// +// GraphicsDevice.m +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import "GraphicsDevice.h" + +#import "Retronator.Xni.Framework.h" +#import "Retronator.Xni.Framework.Graphics.h" + +@implementation GraphicsDevice + +- (id) initWithGame:(Game*)theGame +{ + if (self = [super init]) + { + game = theGame; + + // Create an OpenGL ES context + context = [self createContext]; + + if (!context || ![EAGLContext setCurrentContext:context]) { + [self release]; + return nil; + } + + // Create default framebuffer object. + glGenFramebuffersOES(1, &defaultFramebuffer); + glBindFramebufferOES(GL_FRAMEBUFFER_OES, defaultFramebuffer); + + // Create the color buffer. + glGenRenderbuffersOES(1, &colorRenderbuffer); + glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer); + glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, colorRenderbuffer); + + // Create the depth buffer. + glGenRenderbuffersOES(1, &depthRenderbuffer); + glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer); + glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer); + + // Do the initial reset. + [self reset]; + } + + return self; +} + +// Presentation +- (void) reset { + CAEAGLLayer *layer = (CAEAGLLayer*)game.window.handle; + + // Allocate color buffer backing based on the current layer size. + glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer); + [context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:layer]; + glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth); + glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight); + glViewport(0, 0, backingWidth, backingHeight); + + glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer); + glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, backingWidth, backingHeight); + + if (glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES){ + NSLog(@"Failed to make complete framebuffer object %x.", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES)); + } else { + NSLog(@"Created a device with dimensions: %ix%i.", backingWidth, backingHeight); + } +} + +- (void) present { + glBindRenderbufferOES(GL_RENDERBUFFER_OES, colorRenderbuffer); + [context presentRenderbuffer:GL_RENDERBUFFER_OES]; +} + +// Render buffers +- (void) clearWithColor:(Color*)color {} +- (void) clearWithOptions:(ClearOptions)options color:(Color*)color depth:(float)depth stencil:(int)stencil {} + +- (EAGLContext*) createContext { return nil; } + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.h b/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.h new file mode 100644 index 0000000..0e25fc8 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.h @@ -0,0 +1,17 @@ +// +// HiDefGraphicsDevice.h +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import + +#import "GraphicsDevice.h" + +@interface HiDefGraphicsDevice : GraphicsDevice { + +} + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.m b/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.m new file mode 100644 index 0000000..273643f --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/HiDefGraphicsDevice.m @@ -0,0 +1,17 @@ +// +// HiDefGraphicsDevice.m +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import "HiDefGraphicsDevice.h" + +@implementation HiDefGraphicsDevice + +- (EAGLContext*) createContext { + return [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; +} + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/IGraphicsDeviceService.h b/Classes/Retronator/Xni/Framework/Graphics/IGraphicsDeviceService.h new file mode 100644 index 0000000..6604c22 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/IGraphicsDeviceService.h @@ -0,0 +1,14 @@ +#import "System.h" + +#import "Retronator.Xni.Framework.Graphics.classes.h" + +@protocol IGraphicsDeviceService + +@property (nonatomic, readonly) GraphicsDevice *graphicsDevice; + +@property (nonatomic, readonly) Event *deviceCreated; +@property (nonatomic, readonly) Event *deviceDisposing; +@property (nonatomic, readonly) Event *deviceReseting; +@property (nonatomic, readonly) Event *deviceReset; + +@end \ No newline at end of file diff --git a/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.h b/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.h new file mode 100644 index 0000000..2f36245 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.h @@ -0,0 +1,18 @@ +// +// ReachGraphicsDevice.h +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import + +#import "GraphicsDevice.h" + + +@interface ReachGraphicsDevice : GraphicsDevice { + +} + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.m b/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.m new file mode 100644 index 0000000..783f98d --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/ReachGraphicsDevice.m @@ -0,0 +1,17 @@ +// +// ReachGraphicsDevice.m +// XNI +// +// Created by Matej Jan on 27.7.10. +// Copyright 2010 Retronator. All rights reserved. +// + +#import "ReachGraphicsDevice.h" + +@implementation ReachGraphicsDevice + +- (EAGLContext*) createContext { + return [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1]; +} + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h new file mode 100644 index 0000000..7959257 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h @@ -0,0 +1,4 @@ +#import "Enums.h" + +@protocol IGraphicsDeviceService; +@class GraphicsDevice, ReachGraphicsDevice, HiDefGraphicsDevice; \ No newline at end of file diff --git a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h new file mode 100644 index 0000000..fd44b59 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h @@ -0,0 +1,5 @@ + +#import "IGraphicsDeviceService.h" +#import "GraphicsDevice.h" +#import "ReachGraphicsDevice.h" +#import "HiDefGraphicsDevice.h" diff --git a/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.classes.h b/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.classes.h index 4b20bdf..33b2db6 100644 --- a/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.classes.h +++ b/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.classes.h @@ -2,7 +2,7 @@ // Data structures #import "RectangleStruct.h" -@class Rectangle; +@class Rectangle, Color; // Game #import "DisplayOrientation.h" diff --git a/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.h b/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.h index 44176f0..c8f3bf0 100644 --- a/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.h +++ b/Classes/Retronator/Xni/Framework/Retronator.Xni.Framework.h @@ -2,6 +2,7 @@ // Data structures #import "Rectangle.h" +#import "Color.h" // Game #import "IGraphicsDeviceManager.h" diff --git a/XNI.xcodeproj/project.pbxproj b/XNI.xcodeproj/project.pbxproj index 709e50a..84fcb24 100644 --- a/XNI.xcodeproj/project.pbxproj +++ b/XNI.xcodeproj/project.pbxproj @@ -30,6 +30,13 @@ B5DDE85D11FF1326000DB38B /* GraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE85B11FF1326000DB38B /* GraphicsDevice.m */; }; B5DDE89611FF16A3000DB38B /* Protocols.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE89411FF16A3000DB38B /* Protocols.h */; }; B5DDE89711FF16A3000DB38B /* Protocols.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE89511FF16A3000DB38B /* Protocols.m */; }; + B5DDE8C311FF29E8000DB38B /* ReachGraphicsDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C111FF29E8000DB38B /* ReachGraphicsDevice.h */; }; + B5DDE8C411FF29E8000DB38B /* ReachGraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE8C211FF29E8000DB38B /* ReachGraphicsDevice.m */; }; + B5DDE8C711FF2A23000DB38B /* HiDefGraphicsDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C511FF2A23000DB38B /* HiDefGraphicsDevice.h */; }; + B5DDE8C811FF2A23000DB38B /* HiDefGraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE8C611FF2A23000DB38B /* HiDefGraphicsDevice.m */; }; + B5DDE8CA11FF2AD6000DB38B /* Enums.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C911FF2AD6000DB38B /* Enums.h */; }; + B5DDE90911FF352E000DB38B /* Color.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE90711FF352E000DB38B /* Color.h */; }; + B5DDE90A11FF352E000DB38B /* Color.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE90811FF352E000DB38B /* Color.m */; }; B5DE189811F8884A00BF3275 /* Delegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189211F8884A00BF3275 /* Delegate.h */; }; B5DE189911F8884A00BF3275 /* Delegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE189311F8884A00BF3275 /* Delegate.m */; }; B5DE189A11F8884A00BF3275 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189411F8884A00BF3275 /* Event.h */; }; @@ -77,6 +84,13 @@ B5DDE85B11FF1326000DB38B /* GraphicsDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GraphicsDevice.m; sourceTree = ""; }; B5DDE89411FF16A3000DB38B /* Protocols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Protocols.h; sourceTree = ""; }; B5DDE89511FF16A3000DB38B /* Protocols.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Protocols.m; sourceTree = ""; }; + B5DDE8C111FF29E8000DB38B /* ReachGraphicsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReachGraphicsDevice.h; sourceTree = ""; }; + B5DDE8C211FF29E8000DB38B /* ReachGraphicsDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReachGraphicsDevice.m; sourceTree = ""; }; + B5DDE8C511FF2A23000DB38B /* HiDefGraphicsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HiDefGraphicsDevice.h; sourceTree = ""; }; + B5DDE8C611FF2A23000DB38B /* HiDefGraphicsDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HiDefGraphicsDevice.m; sourceTree = ""; }; + B5DDE8C911FF2AD6000DB38B /* Enums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Enums.h; sourceTree = ""; }; + B5DDE90711FF352E000DB38B /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; }; + B5DDE90811FF352E000DB38B /* Color.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Color.m; sourceTree = ""; }; B5DE189211F8884A00BF3275 /* Delegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Delegate.h; sourceTree = ""; }; B5DE189311F8884A00BF3275 /* Delegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Delegate.m; sourceTree = ""; }; B5DE189411F8884A00BF3275 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = ""; }; @@ -163,9 +177,14 @@ children = ( B5DDE82E11FF1213000DB38B /* Retronator.Xni.Framework.Graphics.classes.h */, B5DDE83011FF1222000DB38B /* Retronator.Xni.Framework.Graphics.h */, + B5DDE8C911FF2AD6000DB38B /* Enums.h */, B5DDE82A11FF10EF000DB38B /* IGraphicsDeviceService.h */, B5DDE85A11FF1326000DB38B /* GraphicsDevice.h */, B5DDE85B11FF1326000DB38B /* GraphicsDevice.m */, + B5DDE8C111FF29E8000DB38B /* ReachGraphicsDevice.h */, + B5DDE8C211FF29E8000DB38B /* ReachGraphicsDevice.m */, + B5DDE8C511FF2A23000DB38B /* HiDefGraphicsDevice.h */, + B5DDE8C611FF2A23000DB38B /* HiDefGraphicsDevice.m */, ); path = Graphics; sourceTree = ""; @@ -197,6 +216,8 @@ B5DE190611F88B5D00BF3275 /* RectangleStruct.h */, B5DE190211F88AF500BF3275 /* Rectangle.h */, B5DE190311F88AF500BF3275 /* Rectangle.m */, + B5DDE90711FF352E000DB38B /* Color.h */, + B5DDE90811FF352E000DB38B /* Color.m */, B5DE18FA11F88AD900BF3275 /* GameHost.h */, B5DE18FB11F88AD900BF3275 /* GameHost.m */, B5DDE7E911FF04E3000DB38B /* Game.h */, @@ -274,6 +295,10 @@ B5DDE83111FF1222000DB38B /* Retronator.Xni.Framework.Graphics.h in Headers */, B5DDE85C11FF1326000DB38B /* GraphicsDevice.h in Headers */, B5DDE89611FF16A3000DB38B /* Protocols.h in Headers */, + B5DDE8C311FF29E8000DB38B /* ReachGraphicsDevice.h in Headers */, + B5DDE8C711FF2A23000DB38B /* HiDefGraphicsDevice.h in Headers */, + B5DDE8CA11FF2AD6000DB38B /* Enums.h in Headers */, + B5DDE90911FF352E000DB38B /* Color.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -338,6 +363,9 @@ B5DDE82311FF0D4F000DB38B /* GameTime.m in Sources */, B5DDE85D11FF1326000DB38B /* GraphicsDevice.m in Sources */, B5DDE89711FF16A3000DB38B /* Protocols.m in Sources */, + B5DDE8C411FF29E8000DB38B /* ReachGraphicsDevice.m in Sources */, + B5DDE8C811FF2A23000DB38B /* HiDefGraphicsDevice.m in Sources */, + B5DDE90A11FF352E000DB38B /* Color.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };