1/* San Angeles Observation OpenGL ES version example
2 * Copyright 2004-2005 Jetro Lauha
3 * All rights reserved.
4 * Web: http://iki.fi/jetro/
5 *
6 * This source is free software; you can redistribute it and/or
7 * modify it under the terms of EITHER:
8 *   (1) The GNU Lesser General Public License as published by the Free
9 *       Software Foundation; either version 2.1 of the License, or (at
10 *       your option) any later version. The text of the GNU Lesser
11 *       General Public License is included with this source in the
12 *       file LICENSE-LGPL.txt.
13 *   (2) The BSD-style license that is included with this source in
14 *       the file LICENSE-BSD.txt.
15 *
16 * This source is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
19 * LICENSE-LGPL.txt and LICENSE-BSD.txt for more details.
20 *
21 * $Id: shapes.h,v 1.6 2005/01/31 22:15:30 tonic Exp $
22 * $Revision: 1.6 $
23 */
24
25#ifndef SHAPES_H_INCLUDED
26#define SHAPES_H_INCLUDED
27
28
29#define SUPERSHAPE_PARAMS 15
30
31static const float sSuperShapeParams[][SUPERSHAPE_PARAMS] =
32{
33    // m  a     b     n1      n2     n3     m     a     b     n1     n2      n3   res1 res2 scale
34#ifdef SUPERSHAPE_HIGH_RES
35    { 10, 1,    2,    90,      1,   -45,    8,    1,    1,    -1,     1,  -0.4f,   40,  60, 2 },
36    { 10, 1,    2,    90,      1,   -45,    4,    1,    1,    10,     1,  -0.4f,   40,  40, 4 },
37    { 10, 1,    2,    60,      1,   -10,    4,    1,    1,    -1,    -2,  -0.4f,   82,  82, 1 },
38    {  6, 1,    1,    60,      1,   -70,    8,    1,    1,  0.4f,     3,  0.25f,   40,  40, 1 },
39    {  4, 1,    1,    30,      1,    20,   12,    1,    1,  0.4f,     3,  0.25f,   20,  60, 1 },
40    {  8, 1,    1,    30,      1,    -4,    8,    2,    1,    -1,     5,   0.5f,   60,  60, 1 },
41    { 13, 1,    1,    30,      1,    -4,   13,    1,    1,     1,     5,      1,   60,  60, 6 },
42    { 10, 1, 1.1f, -0.5f,   0.1f,    70,   60,    1,    1,   -90,     0, -0.25f,   60, 180, 8 },
43    {  7, 1,    1,    20,  -0.3f, -3.5f,    6,    1,    1,    -1,  4.5f,   0.5f,   60,  80, 4 },
44    {  4, 1,    1,    10,     10,    10,    4,    1,    1,    10,    10,     10,   20,  40, 1 },
45    {  4, 1,    1,     1,      1,     1,    4,    1,    1,     1,     1,      1,   10,  10, 2 },
46    {  1, 1,    1,    38, -0.25f,    19,    4,    1,    1,    10,    10,     10,   20,  40, 2 },
47    {  2, 1,    1,  0.7f,   0.3f,  0.2f,    3,    1,    1,   100,   100,    100,   20,  50, 2 },
48    {  6, 1,    1,     1,      1,     1,    3,    1,    1,     1,     1,      1,   60,  60, 2 },
49    {  3, 1,    1,     1,      1,     1,    6,    1,    1,     2,     1,      1,   20,  40, 2 },
50    {  6, 1,    1,     6,   5.5f,   100,    6,    1,    1,    25,    10,     10,   60,  40, 2 },
51    {  3, 1,    1,  0.5f,   1.7f,  1.7f,    2,    1,    1,    10,    10,     10,   40,  40, 2 },
52    {  5, 1,    1,  0.1f,   1.7f,  1.7f,    1,    1,    1,  0.3f,  0.5f,   0.5f,   40,  40, 4 },
53    {  2, 1,    1,     6,   5.5f,   100,    6,    1,    1,     4,    10,     10,   40,  40, 1 },
54    {  6, 1,    1,    -1,     70,  0.1f,    9,    1, 0.5f,   -98, 0.05f,    -45,   60,  91, 4 },
55    {  6, 1,    1,    -1,     90, -0.1f,    7,    1,    1,    90,  1.3f,     34,   32,  60, 1 },
56#else  // !SUPERSHAPE_HIGH_RES (regular resolution)
57    { 10, 1,    2,    90,      1,   -45,    8,    1,    1,    -1,     1,  -0.4f,   20,  30, 2 },
58    { 10, 1,    2,    90,      1,   -45,    4,    1,    1,    10,     1,  -0.4f,   20,  20, 4 },
59    { 10, 1,    2,    60,      1,   -10,    4,    1,    1,    -1,    -2,  -0.4f,   41,  41, 1 },
60    {  6, 1,    1,    60,      1,   -70,    8,    1,    1,  0.4f,     3,  0.25f,   20,  20, 1 },
61    {  4, 1,    1,    30,      1,    20,   12,    1,    1,  0.4f,     3,  0.25f,   10,  30, 1 },
62    {  8, 1,    1,    30,      1,    -4,    8,    2,    1,    -1,     5,   0.5f,   25,  26, 1 },
63    { 13, 1,    1,    30,      1,    -4,   13,    1,    1,     1,     5,      1,   30,  30, 6 },
64    { 10, 1, 1.1f, -0.5f,   0.1f,    70,   60,    1,    1,   -90,     0, -0.25f,   20,  60, 8 },
65    {  7, 1,    1,    20,  -0.3f, -3.5f,    6,    1,    1,    -1,  4.5f,   0.5f,   10,  20, 4 },
66    {  4, 1,    1,    10,     10,    10,    4,    1,    1,    10,    10,     10,   10,  20, 1 },
67    {  4, 1,    1,     1,      1,     1,    4,    1,    1,     1,     1,      1,   10,  10, 2 },
68    {  1, 1,    1,    38, -0.25f,    19,    4,    1,    1,    10,    10,     10,   10,  15, 2 },
69    {  2, 1,    1,  0.7f,   0.3f,  0.2f,    3,    1,    1,   100,   100,    100,   10,  25, 2 },
70    {  6, 1,    1,     1,      1,     1,    3,    1,    1,     1,     1,      1,   30,  30, 2 },
71    {  3, 1,    1,     1,      1,     1,    6,    1,    1,     2,     1,      1,   10,  20, 2 },
72    {  6, 1,    1,     6,   5.5f,   100,    6,    1,    1,    25,    10,     10,   30,  20, 2 },
73    {  3, 1,    1,  0.5f,   1.7f,  1.7f,    2,    1,    1,    10,    10,     10,   20,  20, 2 },
74    {  5, 1,    1,  0.1f,   1.7f,  1.7f,    1,    1,    1,  0.3f,  0.5f,   0.5f,   20,  20, 4 },
75    {  2, 1,    1,     6,   5.5f,   100,    6,    1,    1,     4,    10,     10,   10,  22, 1 },
76    {  6, 1,    1,    -1,     70,  0.1f,    9,    1, 0.5f,   -98, 0.05f,    -45,   20,  30, 4 },
77    {  6, 1,    1,    -1,     90, -0.1f,    7,    1,    1,    90,  1.3f,     34,   13,  16, 1 },
78#endif  // SUPERSHAPE_HIGH_RES | !SUPERSHAPE_HIGH_RES
79};
80#define SUPERSHAPE_COUNT (sizeof(sSuperShapeParams) / sizeof(sSuperShapeParams[0]))
81
82
83#endif // !SHAPES_H_INCLUDED
84