Obj3DEngine/tests/TestsAppDelegate.m
Jonathan Schleifer 4ea8389306 Backport to Glide 2
Most games were using Glide 2, meaning there is more wrappers for Glide
2 available than for Glide 3. In particular, it seems there is no open
source Glide 3 wrapper.

FossilOrigin-Name: 16bb6bc399e5b4db4f5117199f6b534231c42072555575b70f40795651805648
2023-01-10 01:12:33 +00:00

57 lines
1.5 KiB
Objective-C

/*
* 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 <ObjFW/ObjFW.h>
#import "O3DGlideRenderer.h"
@interface TestsAppDelegate: OFObject <OFApplicationDelegate>
@end
OF_APPLICATION_DELEGATE(TestsAppDelegate)
@implementation TestsAppDelegate
- (void)applicationDidFinishLaunching: (OFNotification *)notification
{
O3DGlideRenderer *renderer = [[[O3DGlideRenderer alloc]
initWithResolution: OFMakeSize(640, 480)
bitsPerPixel: 16
refreshRate: 60
options: nil] autorelease];
const O3DVertex outerTriangle[] = {
{ -1, -1 },
{ 0, 1 },
{ 1, -1 }
};
const O3DVertex innerTriangle[] = {
{ -0.5, 0.5 },
{ 0, -0.5 },
{ 0.5, 0.5 }
};
OFDate *startDate = [OFDate date];
while (-startDate.timeIntervalSinceNow < 5) {
[renderer beginFrame];
[renderer setColor: [OFColor yellow]];
[renderer drawPolygonVertices: outerTriangle count: 3];
[renderer setColor: [OFColor red]];
[renderer drawPolygonVertices: innerTriangle count: 3];
[renderer endFrame];
}
[OFApplication terminate];
}
@end