/* * Copyright (c) 2022 Jonathan Schleifer * * 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 #import "O3DGlideRenderer.h" @interface TestsAppDelegate: OFObject @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