Add initial O3DEngine and O3DRenderer
Only supports querying resolutions so far. FossilOrigin-Name: c504ea5dd9a25bfe49c16f256d64f3bf8c16fc78fa03c2cad2561fbbb10eb720
This commit is contained in:
parent
1c7dfe8b27
commit
3902165c96
8 changed files with 355 additions and 0 deletions
49
src/O3DEngine.m
Normal file
49
src/O3DEngine.m
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* Copyright (c) 2022 Jonathan Schleifer <js@nil.im>
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* This file is part of Obj3DEngine. It may be distributed under the terms of
|
||||
* the Q Public License 1.0, which can be found in the file LICENSE.QPL
|
||||
* included in the packaging of this file.
|
||||
*
|
||||
* Alternatively, it may be distributed under the terms of the GNU General
|
||||
* Public License, either version 2 or 3, which can be found in the file
|
||||
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of
|
||||
* this file.
|
||||
*/
|
||||
|
||||
#import "O3DEngine.h"
|
||||
#import "O3DGlide3Renderer.h"
|
||||
|
||||
@implementation O3DEngine
|
||||
@synthesize renderer = _renderer;
|
||||
|
||||
+ (OFArray OF_GENERIC(Class <O3DRenderer>) *)availableRenderers
|
||||
{
|
||||
return [OFArray arrayWithObject: [O3DGlide3Renderer class]];
|
||||
}
|
||||
|
||||
- (instancetype)
|
||||
initWithRenderer: (Class <O3DRenderer>)renderer
|
||||
options: (OFDictionary OF_GENERIC(OFString *, id) *)options
|
||||
{
|
||||
self = [super init];
|
||||
|
||||
@try {
|
||||
_renderer = [[renderer alloc] initWithOptions: options];
|
||||
} @catch (id e) {
|
||||
[self release];
|
||||
@throw e;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[_renderer release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
@end
|
Loading…
Add table
Add a link
Reference in a new issue