-
Notifications
You must be signed in to change notification settings - Fork 0
/
icicle.h
27 lines (21 loc) · 1 KB
/
icicle.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "vertex.h"
#define PI 3.14159265
#define ICE_LONGS 30 // Number of longitudinal slices.
#define ICE_LATS 15 // Number of latitudinal slices.
// Icicle data.
static VertexIce iceVertices[(ICE_LONGS + 1) * (ICE_LATS + 1)];
static unsigned int iceIndices[ICE_LATS][2 * (ICE_LONGS + 1)];
static int iceCounts[ICE_LATS];
static void* iceOffsets[ICE_LATS];
void fillIceVertexArray(VertexIce iceVertices[(ICE_LONGS + 1) * (ICE_LATS + 1)]);
void fillIceIndices(unsigned int iceIndices[ICE_LATS][2 * (ICE_LONGS + 1)]);
void fillIceCounts(int iceCounts[ICE_LATS]);
void fillIceOffsets(void* iceOffsets[ICE_LATS]);
void fillIcicle(VertexIce iceVertices[(ICE_LONGS + 1) * (ICE_LATS + 1)],
unsigned int iceIndices[ICE_LATS][2 * (ICE_LONGS+1)],
int iceCounts[ICE_LATS],
void* iceOffsets[ICE_LATS]);
void loadIcicleVertices(unsigned int*, unsigned int*);
void drawIcicle(unsigned int*, unsigned int*);
void prepareIcicle();
float changeRadius(float, float);