4
// Created by döme on 08.08.2009.
8
* Copyright (c) 2009 Doemoetoer Gulyas.
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions
14
* 1. Redistributions of source code must retain the above copyright
15
* notice, this list of conditions and the following disclaimer.
16
* 2. Redistributions in binary form must reproduce the above copyright
17
* notice, this list of conditions and the following disclaimer in the
18
* documentation and/or other materials provided with the distribution.
19
* 3. The name of the author may not be used to endorse or promote products
20
* derived from this software without specific prior written permission.
22
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
@implementation ESShader
42
switch([[EAGLContext currentContext] API])
44
case kEAGLRenderingAPIOpenGLES1:
45
return [[ES1Shader alloc] autorelease];
46
case kEAGLRenderingAPIOpenGLES2:
47
return [[ES2Shader alloc] autorelease];
49
[[NSException exceptionWithName: @"com.elmonkey.invalidShader" reason: @"Invalid OpenGL ES API selected." userInfo: nil] raise];
56
if (!(self = [super init]))
70
[self doesNotRecognizeSelector: _cmd];
73
- (void) setModelviewMatrix: (m16*) m
75
[self doesNotRecognizeSelector: _cmd];
77
- (void) setProjectionMatrix: (m16*) m
79
[self doesNotRecognizeSelector: _cmd];
81
- (void) setTextureMatrix: (m16*) m
83
[self doesNotRecognizeSelector: _cmd];
86
- (void) setColorRed: (float) r green: (float) g blue: (float) b alpha: (float) a
88
[self doesNotRecognizeSelector: _cmd];