RSS

(root)/iphone/tappity : 60 : common/source/ESShader.m

To get this branch, use:
bzr branch /browse/iphone/tappity

« back to all changes in this revision

Viewing changes to common/source/ESShader.m

Dömötör Gulyás
2010-01-18 09:01:40
Revision ID: dognotdog@gmail.com-20100118080140-g8bc7z6dp9ilr8rt
made tappity a standalone tree

Show diffs side-by-side

added added

removed removed

1
 
//
2
 
//  ESShader.m
3
 
//
4
 
//  Created by döme on 08.08.2009.
5
 
//
6
 
 
7
 
/*
8
 
 * Copyright (c) 2009 Doemoetoer Gulyas.
9
 
 * All rights reserved.
10
 
 *
11
 
 * Redistribution and use in source and binary forms, with or without
12
 
 * modification, are permitted provided that the following conditions
13
 
 * are met:
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.
21
 
 *
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.
32
 
 */
33
 
 
34
 
#import "ESShader.h"
35
 
#import "ES1Shader.h"
36
 
#import "ES2Shader.h"
37
 
 
38
 
@implementation ESShader
39
 
 
40
 
+ (id) shader
41
 
{
42
 
        switch([[EAGLContext currentContext] API])
43
 
        {
44
 
                case kEAGLRenderingAPIOpenGLES1:
45
 
                        return [[ES1Shader alloc] autorelease];
46
 
                case kEAGLRenderingAPIOpenGLES2:
47
 
                        return [[ES2Shader alloc] autorelease];
48
 
                default:
49
 
                        [[NSException exceptionWithName: @"com.elmonkey.invalidShader" reason: @"Invalid OpenGL ES API selected." userInfo: nil] raise];
50
 
                        return nil;
51
 
        }
52
 
}
53
 
 
54
 
- (id) init
55
 
{
56
 
        if (!(self = [super init]))
57
 
                return nil;
58
 
 
59
 
        return self;
60
 
}
61
 
 
62
 
- (void) dealloc
63
 
{
64
 
 
65
 
        [super dealloc];
66
 
}
67
 
 
68
 
- (void) bindShader
69
 
{
70
 
        [self doesNotRecognizeSelector: _cmd];
71
 
}
72
 
 
73
 
- (void) setModelviewMatrix: (m16*) m
74
 
{
75
 
        [self doesNotRecognizeSelector: _cmd];
76
 
}
77
 
- (void) setProjectionMatrix: (m16*) m
78
 
{
79
 
        [self doesNotRecognizeSelector: _cmd];
80
 
}
81
 
- (void) setTextureMatrix: (m16*) m
82
 
{
83
 
        [self doesNotRecognizeSelector: _cmd];
84
 
}
85
 
 
86
 
- (void) setColorRed: (float) r green: (float) g blue: (float) b alpha: (float) a
87
 
{
88
 
        [self doesNotRecognizeSelector: _cmd];
89
 
}
90
 
 
91
 
@end
92
 
 
93
 
 

Loggerhead 1.17 is a web-based interface for Bazaar branches