#ifndef JELLYFISH_H
#define JELLYFISH_H
#ifdef _WIN32
#include <windows.h>
#endif
#include <GL/gl.h>
#include <GL/glext.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "Vector3.h"

#define M_PI			  (3.1415926535897932384626433832795f)
#define DEG_TO_RAD ( M_PI / 180.0f )

class Jellyfish
{
  public:
    
    Jellyfish( );
    ~Jellyfish( );
    void render( );
    void update( );

  private:

    void create( );
    void generateLightingTexture( );
    void generateDetailTexture();
    void loadVertexPrograms( );

    GLuint texture, detailTexture;
    GLuint jellyfishList;
    unsigned int nVertices, nSegments, nPoints;
    Vector3 *segments;
    Vector3 *normals;
    Vector3 *strip;
    Vector3 *points;
    Vector3 *tex;
};

#endif
