X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fglx%2Fshark.c;h=a3de1b9e2dfd9a7a5404598c57cd31b29d41ad55;hp=878e8edc333f10bc65bf5f6f6828093bbf5c4100;hb=ce3185de9d9705e259f2b60dd4b5509007fa17d4;hpb=481b95e2617b69e6fd4444432747d7e1e0c3dc85 diff --git a/hacks/glx/shark.c b/hacks/glx/shark.c index 878e8edc..a3de1b9e 100644 --- a/hacks/glx/shark.c +++ b/hacks/glx/shark.c @@ -1,7 +1,7 @@ /* atlantis --- Shows moving 3D sea animals */ #if !defined( lint ) && !defined( SABER ) -static const char sccsid[] = "@(#)shark.c 1.1 98/05/13 xlockmore"; +static const char sccsid[] = "@(#)shark.c 1.2 98/06/16 xlockmore"; #endif @@ -72,6 +72,7 @@ static const char sccsid[] = "@(#)shark.c 1.1 98/05/13 xlockmore"; * * OpenGL(TM) is a trademark of Silicon Graphics, Inc. */ + #ifndef STANDALONE #include "xlock.h" #endif @@ -79,10 +80,10 @@ static const char sccsid[] = "@(#)shark.c 1.1 98/05/13 xlockmore"; #ifdef USE_GL #ifdef STANDALONE +#include #include #endif -#include #include "atlantis.h" /* *INDENT-OFF* */ #if 0 @@ -304,1096 +305,1100 @@ static float iP069[3] = {0.00, -418.25, 5765.04}; static float iP070[3] = {0.00, 1266.91, 6629.60}; /* *INDENT-ON* */ + + static void -Fish001(void) +Fish001(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N005); - glVertex3fv(P005); - glNormal3fv(N059); - glVertex3fv(P059); - glNormal3fv(N060); - glVertex3fv(P060); - glNormal3fv(N006); - glVertex3fv(P006); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N005); - glVertex3fv(P005); - glNormal3fv(N006); - glVertex3fv(P006); - glNormal3fv(N016); - glVertex3fv(P016); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N006); - glVertex3fv(P006); - glNormal3fv(N060); - glVertex3fv(P060); - glNormal3fv(N008); - glVertex3fv(P008); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N016); - glVertex3fv(P016); - glNormal3fv(N006); - glVertex3fv(P006); - glNormal3fv(N008); - glVertex3fv(P008); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N016); - glVertex3fv(P016); - glNormal3fv(N008); - glVertex3fv(P008); - glNormal3fv(N017); - glVertex3fv(P017); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N017); - glVertex3fv(P017); - glNormal3fv(N008); - glVertex3fv(P008); - glNormal3fv(N018); - glVertex3fv(P018); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N008); - glVertex3fv(P008); - glNormal3fv(N009); - glVertex3fv(P009); - glNormal3fv(N018); - glVertex3fv(P018); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N008); - glVertex3fv(P008); - glNormal3fv(N060); - glVertex3fv(P060); - glNormal3fv(N009); - glVertex3fv(P009); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N007); - glVertex3fv(P007); - glNormal3fv(N010); - glVertex3fv(P010); - glNormal3fv(N009); - glVertex3fv(P009); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N009); - glVertex3fv(P009); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N018); - glVertex3fv(P018); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N009); - glVertex3fv(P009); - glNormal3fv(N010); - glVertex3fv(P010); - glNormal3fv(N019); - glVertex3fv(P019); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N010); - glVertex3fv(P010); - glNormal3fv(N020); - glVertex3fv(P020); - glNormal3fv(N019); - glVertex3fv(P019); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N010); - glVertex3fv(P010); - glNormal3fv(N011); - glVertex3fv(P011); - glNormal3fv(N021); - glVertex3fv(P021); - glNormal3fv(N020); - glVertex3fv(P020); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N004); - glVertex3fv(P004); - glNormal3fv(N011); - glVertex3fv(P011); - glNormal3fv(N010); - glVertex3fv(P010); - glNormal3fv(N007); - glVertex3fv(P007); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N004); - glVertex3fv(P004); - glNormal3fv(N012); - glVertex3fv(P012); - glNormal3fv(N011); - glVertex3fv(P011); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N012); - glVertex3fv(P012); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N011); - glVertex3fv(P011); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N011); - glVertex3fv(P011); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N021); - glVertex3fv(P021); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N059); - glVertex3fv(P059); - glNormal3fv(N005); - glVertex3fv(P005); - glNormal3fv(N015); - glVertex3fv(P015); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N014); - glVertex3fv(P014); - glNormal3fv(N003); - glVertex3fv(P003); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N003); - glVertex3fv(P003); - glNormal3fv(N059); - glVertex3fv(P059); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N014); - glVertex3fv(P014); - glNormal3fv(N013); - glVertex3fv(P013); - glNormal3fv(N003); - glVertex3fv(P003); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N003); - glVertex3fv(P003); - glNormal3fv(N012); - glVertex3fv(P012); - glNormal3fv(N059); - glVertex3fv(P059); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N013); - glVertex3fv(P013); - glNormal3fv(N012); - glVertex3fv(P012); - glNormal3fv(N003); - glVertex3fv(P003); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N013); - glVertex3fv(P013); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N012); - glVertex3fv(P012); - glEnd(); - glBegin(GL_POLYGON); - glVertex3fv(P071); - glVertex3fv(P072); - glVertex3fv(P073); - glVertex3fv(P074); - glVertex3fv(P075); - glVertex3fv(P076); - glEnd(); - glBegin(GL_POLYGON); - glVertex3fv(P077); - glVertex3fv(P078); - glVertex3fv(P079); - glVertex3fv(P080); - glVertex3fv(P081); - glVertex3fv(P082); - glEnd(); + glBegin(cap); + glNormal3fv(N005); + glVertex3fv(P005); + glNormal3fv(N059); + glVertex3fv(P059); + glNormal3fv(N060); + glVertex3fv(P060); + glNormal3fv(N006); + glVertex3fv(P006); + glEnd(); + glBegin(cap); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N005); + glVertex3fv(P005); + glNormal3fv(N006); + glVertex3fv(P006); + glNormal3fv(N016); + glVertex3fv(P016); + glEnd(); + glBegin(cap); + glNormal3fv(N006); + glVertex3fv(P006); + glNormal3fv(N060); + glVertex3fv(P060); + glNormal3fv(N008); + glVertex3fv(P008); + glEnd(); + glBegin(cap); + glNormal3fv(N016); + glVertex3fv(P016); + glNormal3fv(N006); + glVertex3fv(P006); + glNormal3fv(N008); + glVertex3fv(P008); + glEnd(); + glBegin(cap); + glNormal3fv(N016); + glVertex3fv(P016); + glNormal3fv(N008); + glVertex3fv(P008); + glNormal3fv(N017); + glVertex3fv(P017); + glEnd(); + glBegin(cap); + glNormal3fv(N017); + glVertex3fv(P017); + glNormal3fv(N008); + glVertex3fv(P008); + glNormal3fv(N018); + glVertex3fv(P018); + glEnd(); + glBegin(cap); + glNormal3fv(N008); + glVertex3fv(P008); + glNormal3fv(N009); + glVertex3fv(P009); + glNormal3fv(N018); + glVertex3fv(P018); + glEnd(); + glBegin(cap); + glNormal3fv(N008); + glVertex3fv(P008); + glNormal3fv(N060); + glVertex3fv(P060); + glNormal3fv(N009); + glVertex3fv(P009); + glEnd(); + glBegin(cap); + glNormal3fv(N007); + glVertex3fv(P007); + glNormal3fv(N010); + glVertex3fv(P010); + glNormal3fv(N009); + glVertex3fv(P009); + glEnd(); + glBegin(cap); + glNormal3fv(N009); + glVertex3fv(P009); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N018); + glVertex3fv(P018); + glEnd(); + glBegin(cap); + glNormal3fv(N009); + glVertex3fv(P009); + glNormal3fv(N010); + glVertex3fv(P010); + glNormal3fv(N019); + glVertex3fv(P019); + glEnd(); + glBegin(cap); + glNormal3fv(N010); + glVertex3fv(P010); + glNormal3fv(N020); + glVertex3fv(P020); + glNormal3fv(N019); + glVertex3fv(P019); + glEnd(); + glBegin(cap); + glNormal3fv(N010); + glVertex3fv(P010); + glNormal3fv(N011); + glVertex3fv(P011); + glNormal3fv(N021); + glVertex3fv(P021); + glNormal3fv(N020); + glVertex3fv(P020); + glEnd(); + glBegin(cap); + glNormal3fv(N004); + glVertex3fv(P004); + glNormal3fv(N011); + glVertex3fv(P011); + glNormal3fv(N010); + glVertex3fv(P010); + glNormal3fv(N007); + glVertex3fv(P007); + glEnd(); + glBegin(cap); + glNormal3fv(N004); + glVertex3fv(P004); + glNormal3fv(N012); + glVertex3fv(P012); + glNormal3fv(N011); + glVertex3fv(P011); + glEnd(); + glBegin(cap); + glNormal3fv(N012); + glVertex3fv(P012); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N011); + glVertex3fv(P011); + glEnd(); + glBegin(cap); + glNormal3fv(N011); + glVertex3fv(P011); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N021); + glVertex3fv(P021); + glEnd(); + glBegin(cap); + glNormal3fv(N059); + glVertex3fv(P059); + glNormal3fv(N005); + glVertex3fv(P005); + glNormal3fv(N015); + glVertex3fv(P015); + glEnd(); + glBegin(cap); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N014); + glVertex3fv(P014); + glNormal3fv(N003); + glVertex3fv(P003); + glEnd(); + glBegin(cap); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N003); + glVertex3fv(P003); + glNormal3fv(N059); + glVertex3fv(P059); + glEnd(); + glBegin(cap); + glNormal3fv(N014); + glVertex3fv(P014); + glNormal3fv(N013); + glVertex3fv(P013); + glNormal3fv(N003); + glVertex3fv(P003); + glEnd(); + glBegin(cap); + glNormal3fv(N003); + glVertex3fv(P003); + glNormal3fv(N012); + glVertex3fv(P012); + glNormal3fv(N059); + glVertex3fv(P059); + glEnd(); + glBegin(cap); + glNormal3fv(N013); + glVertex3fv(P013); + glNormal3fv(N012); + glVertex3fv(P012); + glNormal3fv(N003); + glVertex3fv(P003); + glEnd(); + glBegin(cap); + glNormal3fv(N013); + glVertex3fv(P013); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N012); + glVertex3fv(P012); + glEnd(); + glBegin(cap); + glVertex3fv(P071); + glVertex3fv(P072); + glVertex3fv(P073); + glVertex3fv(P074); + glVertex3fv(P075); + glVertex3fv(P076); + glEnd(); + glBegin(cap); + glVertex3fv(P077); + glVertex3fv(P078); + glVertex3fv(P079); + glVertex3fv(P080); + glVertex3fv(P081); + glVertex3fv(P082); + glEnd(); } static void -Fish002(void) +Fish002(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N013); - glVertex3fv(P013); - glNormal3fv(N014); - glVertex3fv(P014); - glNormal3fv(N024); - glVertex3fv(P024); - glNormal3fv(N023); - glVertex3fv(P023); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N014); - glVertex3fv(P014); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N025); - glVertex3fv(P025); - glNormal3fv(N024); - glVertex3fv(P024); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N016); - glVertex3fv(P016); - glNormal3fv(N017); - glVertex3fv(P017); - glNormal3fv(N027); - glVertex3fv(P027); - glNormal3fv(N026); - glVertex3fv(P026); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N017); - glVertex3fv(P017); - glNormal3fv(N018); - glVertex3fv(P018); - glNormal3fv(N028); - glVertex3fv(P028); - glNormal3fv(N027); - glVertex3fv(P027); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N020); - glVertex3fv(P020); - glNormal3fv(N021); - glVertex3fv(P021); - glNormal3fv(N031); - glVertex3fv(P031); - glNormal3fv(N030); - glVertex3fv(P030); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N013); - glVertex3fv(P013); - glNormal3fv(N023); - glVertex3fv(P023); - glNormal3fv(N022); - glVertex3fv(P022); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N023); - glVertex3fv(P023); - glNormal3fv(N032); - glVertex3fv(P032); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N032); - glVertex3fv(P032); - glNormal3fv(N031); - glVertex3fv(P031); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N031); - glVertex3fv(P031); - glNormal3fv(N021); - glVertex3fv(P021); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N018); - glVertex3fv(P018); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N029); - glVertex3fv(P029); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N018); - glVertex3fv(P018); - glNormal3fv(N029); - glVertex3fv(P029); - glNormal3fv(N028); - glVertex3fv(P028); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N020); - glVertex3fv(P020); - glNormal3fv(N030); - glVertex3fv(P030); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N030); - glVertex3fv(P030); - glNormal3fv(N029); - glVertex3fv(P029); - glEnd(); + glBegin(cap); + glNormal3fv(N013); + glVertex3fv(P013); + glNormal3fv(N014); + glVertex3fv(P014); + glNormal3fv(N024); + glVertex3fv(P024); + glNormal3fv(N023); + glVertex3fv(P023); + glEnd(); + glBegin(cap); + glNormal3fv(N014); + glVertex3fv(P014); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N025); + glVertex3fv(P025); + glNormal3fv(N024); + glVertex3fv(P024); + glEnd(); + glBegin(cap); + glNormal3fv(N016); + glVertex3fv(P016); + glNormal3fv(N017); + glVertex3fv(P017); + glNormal3fv(N027); + glVertex3fv(P027); + glNormal3fv(N026); + glVertex3fv(P026); + glEnd(); + glBegin(cap); + glNormal3fv(N017); + glVertex3fv(P017); + glNormal3fv(N018); + glVertex3fv(P018); + glNormal3fv(N028); + glVertex3fv(P028); + glNormal3fv(N027); + glVertex3fv(P027); + glEnd(); + glBegin(cap); + glNormal3fv(N020); + glVertex3fv(P020); + glNormal3fv(N021); + glVertex3fv(P021); + glNormal3fv(N031); + glVertex3fv(P031); + glNormal3fv(N030); + glVertex3fv(P030); + glEnd(); + glBegin(cap); + glNormal3fv(N013); + glVertex3fv(P013); + glNormal3fv(N023); + glVertex3fv(P023); + glNormal3fv(N022); + glVertex3fv(P022); + glEnd(); + glBegin(cap); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N023); + glVertex3fv(P023); + glNormal3fv(N032); + glVertex3fv(P032); + glEnd(); + glBegin(cap); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N032); + glVertex3fv(P032); + glNormal3fv(N031); + glVertex3fv(P031); + glEnd(); + glBegin(cap); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N031); + glVertex3fv(P031); + glNormal3fv(N021); + glVertex3fv(P021); + glEnd(); + glBegin(cap); + glNormal3fv(N018); + glVertex3fv(P018); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N029); + glVertex3fv(P029); + glEnd(); + glBegin(cap); + glNormal3fv(N018); + glVertex3fv(P018); + glNormal3fv(N029); + glVertex3fv(P029); + glNormal3fv(N028); + glVertex3fv(P028); + glEnd(); + glBegin(cap); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N020); + glVertex3fv(P020); + glNormal3fv(N030); + glVertex3fv(P030); + glEnd(); + glBegin(cap); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N030); + glVertex3fv(P030); + glNormal3fv(N029); + glVertex3fv(P029); + glEnd(); } static void -Fish003(void) +Fish003(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N032); - glVertex3fv(P032); - glNormal3fv(N023); - glVertex3fv(P023); - glNormal3fv(N033); - glVertex3fv(P033); - glNormal3fv(N042); - glVertex3fv(P042); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N031); - glVertex3fv(P031); - glNormal3fv(N032); - glVertex3fv(P032); - glNormal3fv(N042); - glVertex3fv(P042); - glNormal3fv(N041); - glVertex3fv(P041); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N023); - glVertex3fv(P023); - glNormal3fv(N024); - glVertex3fv(P024); - glNormal3fv(N034); - glVertex3fv(P034); - glNormal3fv(N033); - glVertex3fv(P033); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N024); - glVertex3fv(P024); - glNormal3fv(N025); - glVertex3fv(P025); - glNormal3fv(N035); - glVertex3fv(P035); - glNormal3fv(N034); - glVertex3fv(P034); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N030); - glVertex3fv(P030); - glNormal3fv(N031); - glVertex3fv(P031); - glNormal3fv(N041); - glVertex3fv(P041); - glNormal3fv(N040); - glVertex3fv(P040); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N025); - glVertex3fv(P025); - glNormal3fv(N026); - glVertex3fv(P026); - glNormal3fv(N036); - glVertex3fv(P036); - glNormal3fv(N035); - glVertex3fv(P035); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N026); - glVertex3fv(P026); - glNormal3fv(N027); - glVertex3fv(P027); - glNormal3fv(N037); - glVertex3fv(P037); - glNormal3fv(N036); - glVertex3fv(P036); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N027); - glVertex3fv(P027); - glNormal3fv(N028); - glVertex3fv(P028); - glNormal3fv(N038); - glVertex3fv(P038); - glNormal3fv(N037); - glVertex3fv(P037); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N028); - glVertex3fv(P028); - glNormal3fv(N029); - glVertex3fv(P029); - glNormal3fv(N039); - glVertex3fv(P039); - glNormal3fv(N038); - glVertex3fv(P038); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N029); - glVertex3fv(P029); - glNormal3fv(N030); - glVertex3fv(P030); - glNormal3fv(N040); - glVertex3fv(P040); - glNormal3fv(N039); - glVertex3fv(P039); - glEnd(); + glBegin(cap); + glNormal3fv(N032); + glVertex3fv(P032); + glNormal3fv(N023); + glVertex3fv(P023); + glNormal3fv(N033); + glVertex3fv(P033); + glNormal3fv(N042); + glVertex3fv(P042); + glEnd(); + glBegin(cap); + glNormal3fv(N031); + glVertex3fv(P031); + glNormal3fv(N032); + glVertex3fv(P032); + glNormal3fv(N042); + glVertex3fv(P042); + glNormal3fv(N041); + glVertex3fv(P041); + glEnd(); + glBegin(cap); + glNormal3fv(N023); + glVertex3fv(P023); + glNormal3fv(N024); + glVertex3fv(P024); + glNormal3fv(N034); + glVertex3fv(P034); + glNormal3fv(N033); + glVertex3fv(P033); + glEnd(); + glBegin(cap); + glNormal3fv(N024); + glVertex3fv(P024); + glNormal3fv(N025); + glVertex3fv(P025); + glNormal3fv(N035); + glVertex3fv(P035); + glNormal3fv(N034); + glVertex3fv(P034); + glEnd(); + glBegin(cap); + glNormal3fv(N030); + glVertex3fv(P030); + glNormal3fv(N031); + glVertex3fv(P031); + glNormal3fv(N041); + glVertex3fv(P041); + glNormal3fv(N040); + glVertex3fv(P040); + glEnd(); + glBegin(cap); + glNormal3fv(N025); + glVertex3fv(P025); + glNormal3fv(N026); + glVertex3fv(P026); + glNormal3fv(N036); + glVertex3fv(P036); + glNormal3fv(N035); + glVertex3fv(P035); + glEnd(); + glBegin(cap); + glNormal3fv(N026); + glVertex3fv(P026); + glNormal3fv(N027); + glVertex3fv(P027); + glNormal3fv(N037); + glVertex3fv(P037); + glNormal3fv(N036); + glVertex3fv(P036); + glEnd(); + glBegin(cap); + glNormal3fv(N027); + glVertex3fv(P027); + glNormal3fv(N028); + glVertex3fv(P028); + glNormal3fv(N038); + glVertex3fv(P038); + glNormal3fv(N037); + glVertex3fv(P037); + glEnd(); + glBegin(cap); + glNormal3fv(N028); + glVertex3fv(P028); + glNormal3fv(N029); + glVertex3fv(P029); + glNormal3fv(N039); + glVertex3fv(P039); + glNormal3fv(N038); + glVertex3fv(P038); + glEnd(); + glBegin(cap); + glNormal3fv(N029); + glVertex3fv(P029); + glNormal3fv(N030); + glVertex3fv(P030); + glNormal3fv(N040); + glVertex3fv(P040); + glNormal3fv(N039); + glVertex3fv(P039); + glEnd(); } static void -Fish004(void) +Fish004(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N040); - glVertex3fv(P040); - glNormal3fv(N041); - glVertex3fv(P041); - glNormal3fv(N051); - glVertex3fv(P051); - glNormal3fv(N050); - glVertex3fv(P050); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N041); - glVertex3fv(P041); - glNormal3fv(N042); - glVertex3fv(P042); - glNormal3fv(N052); - glVertex3fv(P052); - glNormal3fv(N051); - glVertex3fv(P051); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N042); - glVertex3fv(P042); - glNormal3fv(N033); - glVertex3fv(P033); - glNormal3fv(N043); - glVertex3fv(P043); - glNormal3fv(N052); - glVertex3fv(P052); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N033); - glVertex3fv(P033); - glNormal3fv(N034); - glVertex3fv(P034); - glNormal3fv(N044); - glVertex3fv(P044); - glNormal3fv(N043); - glVertex3fv(P043); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N034); - glVertex3fv(P034); - glNormal3fv(N035); - glVertex3fv(P035); - glNormal3fv(N045); - glVertex3fv(P045); - glNormal3fv(N044); - glVertex3fv(P044); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N035); - glVertex3fv(P035); - glNormal3fv(N036); - glVertex3fv(P036); - glNormal3fv(N046); - glVertex3fv(P046); - glNormal3fv(N045); - glVertex3fv(P045); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N036); - glVertex3fv(P036); - glNormal3fv(N037); - glVertex3fv(P037); - glNormal3fv(N047); - glVertex3fv(P047); - glNormal3fv(N046); - glVertex3fv(P046); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N037); - glVertex3fv(P037); - glNormal3fv(N038); - glVertex3fv(P038); - glNormal3fv(N048); - glVertex3fv(P048); - glNormal3fv(N047); - glVertex3fv(P047); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N038); - glVertex3fv(P038); - glNormal3fv(N039); - glVertex3fv(P039); - glNormal3fv(N049); - glVertex3fv(P049); - glNormal3fv(N048); - glVertex3fv(P048); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N039); - glVertex3fv(P039); - glNormal3fv(N040); - glVertex3fv(P040); - glNormal3fv(N050); - glVertex3fv(P050); - glNormal3fv(N049); - glVertex3fv(P049); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N070); - glVertex3fv(P070); - glNormal3fv(N061); - glVertex3fv(P061); - glNormal3fv(N002); - glVertex3fv(P002); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N061); - glVertex3fv(P061); - glNormal3fv(N046); - glVertex3fv(P046); - glNormal3fv(N002); - glVertex3fv(P002); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N045); - glVertex3fv(P045); - glNormal3fv(N046); - glVertex3fv(P046); - glNormal3fv(N061); - glVertex3fv(P061); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N061); - glVertex3fv(P061); - glNormal3fv(N070); - glVertex3fv(P070); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N045); - glVertex3fv(P045); - glNormal3fv(N061); - glVertex3fv(P061); - glEnd(); + glBegin(cap); + glNormal3fv(N040); + glVertex3fv(P040); + glNormal3fv(N041); + glVertex3fv(P041); + glNormal3fv(N051); + glVertex3fv(P051); + glNormal3fv(N050); + glVertex3fv(P050); + glEnd(); + glBegin(cap); + glNormal3fv(N041); + glVertex3fv(P041); + glNormal3fv(N042); + glVertex3fv(P042); + glNormal3fv(N052); + glVertex3fv(P052); + glNormal3fv(N051); + glVertex3fv(P051); + glEnd(); + glBegin(cap); + glNormal3fv(N042); + glVertex3fv(P042); + glNormal3fv(N033); + glVertex3fv(P033); + glNormal3fv(N043); + glVertex3fv(P043); + glNormal3fv(N052); + glVertex3fv(P052); + glEnd(); + glBegin(cap); + glNormal3fv(N033); + glVertex3fv(P033); + glNormal3fv(N034); + glVertex3fv(P034); + glNormal3fv(N044); + glVertex3fv(P044); + glNormal3fv(N043); + glVertex3fv(P043); + glEnd(); + glBegin(cap); + glNormal3fv(N034); + glVertex3fv(P034); + glNormal3fv(N035); + glVertex3fv(P035); + glNormal3fv(N045); + glVertex3fv(P045); + glNormal3fv(N044); + glVertex3fv(P044); + glEnd(); + glBegin(cap); + glNormal3fv(N035); + glVertex3fv(P035); + glNormal3fv(N036); + glVertex3fv(P036); + glNormal3fv(N046); + glVertex3fv(P046); + glNormal3fv(N045); + glVertex3fv(P045); + glEnd(); + glBegin(cap); + glNormal3fv(N036); + glVertex3fv(P036); + glNormal3fv(N037); + glVertex3fv(P037); + glNormal3fv(N047); + glVertex3fv(P047); + glNormal3fv(N046); + glVertex3fv(P046); + glEnd(); + glBegin(cap); + glNormal3fv(N037); + glVertex3fv(P037); + glNormal3fv(N038); + glVertex3fv(P038); + glNormal3fv(N048); + glVertex3fv(P048); + glNormal3fv(N047); + glVertex3fv(P047); + glEnd(); + glBegin(cap); + glNormal3fv(N038); + glVertex3fv(P038); + glNormal3fv(N039); + glVertex3fv(P039); + glNormal3fv(N049); + glVertex3fv(P049); + glNormal3fv(N048); + glVertex3fv(P048); + glEnd(); + glBegin(cap); + glNormal3fv(N039); + glVertex3fv(P039); + glNormal3fv(N040); + glVertex3fv(P040); + glNormal3fv(N050); + glVertex3fv(P050); + glNormal3fv(N049); + glVertex3fv(P049); + glEnd(); + glBegin(cap); + glNormal3fv(N070); + glVertex3fv(P070); + glNormal3fv(N061); + glVertex3fv(P061); + glNormal3fv(N002); + glVertex3fv(P002); + glEnd(); + glBegin(cap); + glNormal3fv(N061); + glVertex3fv(P061); + glNormal3fv(N046); + glVertex3fv(P046); + glNormal3fv(N002); + glVertex3fv(P002); + glEnd(); + glBegin(cap); + glNormal3fv(N045); + glVertex3fv(P045); + glNormal3fv(N046); + glVertex3fv(P046); + glNormal3fv(N061); + glVertex3fv(P061); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N061); + glVertex3fv(P061); + glNormal3fv(N070); + glVertex3fv(P070); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N045); + glVertex3fv(P045); + glNormal3fv(N061); + glVertex3fv(P061); + glEnd(); } static void -Fish005(void) +Fish005(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N044); - glVertex3fv(P044); - glNormal3fv(N045); - glVertex3fv(P045); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N043); - glVertex3fv(P043); - glNormal3fv(N044); - glVertex3fv(P044); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N052); - glVertex3fv(P052); - glNormal3fv(N043); - glVertex3fv(P043); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N051); - glVertex3fv(P051); - glNormal3fv(N052); - glVertex3fv(P052); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N046); - glVertex3fv(P046); - glNormal3fv(N047); - glVertex3fv(P047); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N047); - glVertex3fv(P047); - glNormal3fv(N048); - glVertex3fv(P048); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N048); - glVertex3fv(P048); - glNormal3fv(N049); - glVertex3fv(P049); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N049); - glVertex3fv(P049); - glNormal3fv(N050); - glVertex3fv(P050); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N050); - glVertex3fv(P050); - glNormal3fv(N051); - glVertex3fv(P051); - glNormal3fv(N069); - glVertex3fv(P069); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N051); - glVertex3fv(P051); - glNormal3fv(N002); - glVertex3fv(P002); - glNormal3fv(N069); - glVertex3fv(P069); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N050); - glVertex3fv(P050); - glNormal3fv(N069); - glVertex3fv(P069); - glNormal3fv(N002); - glVertex3fv(P002); - glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N044); + glVertex3fv(P044); + glNormal3fv(N045); + glVertex3fv(P045); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N043); + glVertex3fv(P043); + glNormal3fv(N044); + glVertex3fv(P044); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N052); + glVertex3fv(P052); + glNormal3fv(N043); + glVertex3fv(P043); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N051); + glVertex3fv(P051); + glNormal3fv(N052); + glVertex3fv(P052); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N046); + glVertex3fv(P046); + glNormal3fv(N047); + glVertex3fv(P047); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N047); + glVertex3fv(P047); + glNormal3fv(N048); + glVertex3fv(P048); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N048); + glVertex3fv(P048); + glNormal3fv(N049); + glVertex3fv(P049); + glEnd(); + glBegin(cap); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N049); + glVertex3fv(P049); + glNormal3fv(N050); + glVertex3fv(P050); + glEnd(); + glBegin(cap); + glNormal3fv(N050); + glVertex3fv(P050); + glNormal3fv(N051); + glVertex3fv(P051); + glNormal3fv(N069); + glVertex3fv(P069); + glEnd(); + glBegin(cap); + glNormal3fv(N051); + glVertex3fv(P051); + glNormal3fv(N002); + glVertex3fv(P002); + glNormal3fv(N069); + glVertex3fv(P069); + glEnd(); + glBegin(cap); + glNormal3fv(N050); + glVertex3fv(P050); + glNormal3fv(N069); + glVertex3fv(P069); + glNormal3fv(N002); + glVertex3fv(P002); + glEnd(); } static void -Fish006(void) +Fish006(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N066); - glVertex3fv(P066); - glNormal3fv(N016); - glVertex3fv(P016); - glNormal3fv(N026); - glVertex3fv(P026); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N066); - glVertex3fv(P066); - glNormal3fv(N025); - glVertex3fv(P025); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N025); - glVertex3fv(P025); - glNormal3fv(N066); - glVertex3fv(P066); - glNormal3fv(N026); - glVertex3fv(P026); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N066); - glVertex3fv(P066); - glNormal3fv(N058); - glVertex3fv(P058); - glNormal3fv(N016); - glVertex3fv(P016); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N058); - glVertex3fv(P058); - glNormal3fv(N066); - glVertex3fv(P066); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N058); - glVertex3fv(P058); - glNormal3fv(N015); - glVertex3fv(P015); - glNormal3fv(N016); - glVertex3fv(P016); - glEnd(); + glBegin(cap); + glNormal3fv(N066); + glVertex3fv(P066); + glNormal3fv(N016); + glVertex3fv(P016); + glNormal3fv(N026); + glVertex3fv(P026); + glEnd(); + glBegin(cap); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N066); + glVertex3fv(P066); + glNormal3fv(N025); + glVertex3fv(P025); + glEnd(); + glBegin(cap); + glNormal3fv(N025); + glVertex3fv(P025); + glNormal3fv(N066); + glVertex3fv(P066); + glNormal3fv(N026); + glVertex3fv(P026); + glEnd(); + glBegin(cap); + glNormal3fv(N066); + glVertex3fv(P066); + glNormal3fv(N058); + glVertex3fv(P058); + glNormal3fv(N016); + glVertex3fv(P016); + glEnd(); + glBegin(cap); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N058); + glVertex3fv(P058); + glNormal3fv(N066); + glVertex3fv(P066); + glEnd(); + glBegin(cap); + glNormal3fv(N058); + glVertex3fv(P058); + glNormal3fv(N015); + glVertex3fv(P015); + glNormal3fv(N016); + glVertex3fv(P016); + glEnd(); } static void -Fish007(void) +Fish007(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N062); - glVertex3fv(P062); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N032); - glVertex3fv(P032); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N062); - glVertex3fv(P062); - glNormal3fv(N032); - glVertex3fv(P032); - glNormal3fv(N064); - glVertex3fv(P064); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N022); - glVertex3fv(P022); - glNormal3fv(N062); - glVertex3fv(P062); - glNormal3fv(N032); - glVertex3fv(P032); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N062); - glVertex3fv(P062); - glNormal3fv(N064); - glVertex3fv(P064); - glNormal3fv(N032); - glVertex3fv(P032); - glEnd(); + glBegin(cap); + glNormal3fv(N062); + glVertex3fv(P062); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N032); + glVertex3fv(P032); + glEnd(); + glBegin(cap); + glNormal3fv(N062); + glVertex3fv(P062); + glNormal3fv(N032); + glVertex3fv(P032); + glNormal3fv(N064); + glVertex3fv(P064); + glEnd(); + glBegin(cap); + glNormal3fv(N022); + glVertex3fv(P022); + glNormal3fv(N062); + glVertex3fv(P062); + glNormal3fv(N032); + glVertex3fv(P032); + glEnd(); + glBegin(cap); + glNormal3fv(N062); + glVertex3fv(P062); + glNormal3fv(N064); + glVertex3fv(P064); + glNormal3fv(N032); + glVertex3fv(P032); + glEnd(); } static void -Fish008(void) +Fish008(GLenum cap) { - glBegin(GL_POLYGON); - glNormal3fv(N063); - glVertex3fv(P063); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N029); - glVertex3fv(P029); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N019); - glVertex3fv(P019); - glNormal3fv(N063); - glVertex3fv(P063); - glNormal3fv(N029); - glVertex3fv(P029); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N063); - glVertex3fv(P063); - glNormal3fv(N029); - glVertex3fv(P029); - glNormal3fv(N065); - glVertex3fv(P065); - glEnd(); - glBegin(GL_POLYGON); - glNormal3fv(N063); - glVertex3fv(P063); - glNormal3fv(N065); - glVertex3fv(P065); - glNormal3fv(N029); - glVertex3fv(P029); - glEnd(); + glBegin(cap); + glNormal3fv(N063); + glVertex3fv(P063); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N029); + glVertex3fv(P029); + glEnd(); + glBegin(cap); + glNormal3fv(N019); + glVertex3fv(P019); + glNormal3fv(N063); + glVertex3fv(P063); + glNormal3fv(N029); + glVertex3fv(P029); + glEnd(); + glBegin(cap); + glNormal3fv(N063); + glVertex3fv(P063); + glNormal3fv(N029); + glVertex3fv(P029); + glNormal3fv(N065); + glVertex3fv(P065); + glEnd(); + glBegin(cap); + glNormal3fv(N063); + glVertex3fv(P063); + glNormal3fv(N065); + glVertex3fv(P065); + glNormal3fv(N029); + glVertex3fv(P029); + glEnd(); } static void -Fish009(void) +Fish009(GLenum cap) { - glBegin(GL_POLYGON); - glVertex3fv(P059); - glVertex3fv(P012); - glVertex3fv(P009); - glVertex3fv(P060); - glEnd(); - glBegin(GL_POLYGON); - glVertex3fv(P012); - glVertex3fv(P004); - glVertex3fv(P007); - glVertex3fv(P009); - glEnd(); + glBegin(cap); + glVertex3fv(P059); + glVertex3fv(P012); + glVertex3fv(P009); + glVertex3fv(P060); + glEnd(); + glBegin(cap); + glVertex3fv(P012); + glVertex3fv(P004); + glVertex3fv(P007); + glVertex3fv(P009); + glEnd(); } static void -Fish_1(void) +Fish_1(GLenum cap) { - Fish004(); - Fish005(); - Fish003(); - Fish007(); - Fish006(); - Fish002(); - Fish008(); - Fish009(); - Fish001(); + Fish004(cap); + Fish005(cap); + Fish003(cap); + Fish007(cap); + Fish006(cap); + Fish002(cap); + Fish008(cap); + Fish009(cap); + Fish001(cap); } static void -Fish_2(void) +Fish_2(GLenum cap) { - Fish005(); - Fish004(); - Fish003(); - Fish008(); - Fish006(); - Fish002(); - Fish007(); - Fish009(); - Fish001(); + Fish005(cap); + Fish004(cap); + Fish003(cap); + Fish008(cap); + Fish006(cap); + Fish002(cap); + Fish007(cap); + Fish009(cap); + Fish001(cap); } static void -Fish_3(void) +Fish_3(GLenum cap) { - Fish005(); - Fish004(); - Fish007(); - Fish003(); - Fish002(); - Fish008(); - Fish009(); - Fish001(); - Fish006(); + Fish005(cap); + Fish004(cap); + Fish007(cap); + Fish003(cap); + Fish002(cap); + Fish008(cap); + Fish009(cap); + Fish001(cap); + Fish006(cap); } static void -Fish_4(void) +Fish_4(GLenum cap) { - Fish005(); - Fish004(); - Fish008(); - Fish003(); - Fish002(); - Fish007(); - Fish009(); - Fish001(); - Fish006(); + Fish005(cap); + Fish004(cap); + Fish008(cap); + Fish003(cap); + Fish002(cap); + Fish007(cap); + Fish009(cap); + Fish001(cap); + Fish006(cap); } static void -Fish_5(void) +Fish_5(GLenum cap) { - Fish009(); - Fish006(); - Fish007(); - Fish001(); - Fish002(); - Fish003(); - Fish008(); - Fish004(); - Fish005(); + Fish009(cap); + Fish006(cap); + Fish007(cap); + Fish001(cap); + Fish002(cap); + Fish003(cap); + Fish008(cap); + Fish004(cap); + Fish005(cap); } static void -Fish_6(void) +Fish_6(GLenum cap) { - Fish009(); - Fish006(); - Fish008(); - Fish001(); - Fish002(); - Fish007(); - Fish003(); - Fish004(); - Fish005(); + Fish009(cap); + Fish006(cap); + Fish008(cap); + Fish001(cap); + Fish002(cap); + Fish007(cap); + Fish003(cap); + Fish004(cap); + Fish005(cap); } static void -Fish_7(void) +Fish_7(GLenum cap) { - Fish009(); - Fish001(); - Fish007(); - Fish005(); - Fish002(); - Fish008(); - Fish003(); - Fish004(); - Fish006(); + Fish009(cap); + Fish001(cap); + Fish007(cap); + Fish005(cap); + Fish002(cap); + Fish008(cap); + Fish003(cap); + Fish004(cap); + Fish006(cap); } static void -Fish_8(void) +Fish_8(GLenum cap) { - Fish009(); - Fish008(); - Fish001(); - Fish002(); - Fish007(); - Fish003(); - Fish005(); - Fish004(); - Fish006(); + Fish009(cap); + Fish008(cap); + Fish001(cap); + Fish002(cap); + Fish007(cap); + Fish003(cap); + Fish005(cap); + Fish004(cap); + Fish006(cap); } void -DrawShark(fishRec * fish) +DrawShark(fishRec * fish, int wire) { - float mat[4][4]; - int n; - float seg1, seg2, seg3, seg4, segup; - float thrash, chomp; + float mat[4][4]; + int n; + float seg1, seg2, seg3, seg4, segup; + float thrash, chomp; + GLenum cap; - fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360; + fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360; - thrash = 50.0 * fish->v; + thrash = 50.0 * fish->v; - seg1 = 0.6 * thrash * sin(fish->htail * RRAD); - seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD); - seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD); - seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD); + seg1 = 0.6 * thrash * sin(fish->htail * RRAD); + seg2 = 1.8 * thrash * sin((fish->htail + 45.0) * RRAD); + seg3 = 3.0 * thrash * sin((fish->htail + 90.0) * RRAD); + seg4 = 4.0 * thrash * sin((fish->htail + 110.0) * RRAD); - chomp = 0.0; - if (fish->v > 2.0) { - chomp = -(fish->v - 2.0) * 200.0; - } - P004[1] = iP004[1] + chomp; - P007[1] = iP007[1] + chomp; - P010[1] = iP010[1] + chomp; - P011[1] = iP011[1] + chomp; + chomp = 0.0; + if (fish->v > 2.0) { + chomp = -(fish->v - 2.0) * 200.0; + } + P004[1] = iP004[1] + chomp; + P007[1] = iP007[1] + chomp; + P010[1] = iP010[1] + chomp; + P011[1] = iP011[1] + chomp; - P023[0] = iP023[0] + seg1; - P024[0] = iP024[0] + seg1; - P025[0] = iP025[0] + seg1; - P026[0] = iP026[0] + seg1; - P027[0] = iP027[0] + seg1; - P028[0] = iP028[0] + seg1; - P029[0] = iP029[0] + seg1; - P030[0] = iP030[0] + seg1; - P031[0] = iP031[0] + seg1; - P032[0] = iP032[0] + seg1; - P033[0] = iP033[0] + seg2; - P034[0] = iP034[0] + seg2; - P035[0] = iP035[0] + seg2; - P036[0] = iP036[0] + seg2; - P037[0] = iP037[0] + seg2; - P038[0] = iP038[0] + seg2; - P039[0] = iP039[0] + seg2; - P040[0] = iP040[0] + seg2; - P041[0] = iP041[0] + seg2; - P042[0] = iP042[0] + seg2; - P043[0] = iP043[0] + seg3; - P044[0] = iP044[0] + seg3; - P045[0] = iP045[0] + seg3; - P046[0] = iP046[0] + seg3; - P047[0] = iP047[0] + seg3; - P048[0] = iP048[0] + seg3; - P049[0] = iP049[0] + seg3; - P050[0] = iP050[0] + seg3; - P051[0] = iP051[0] + seg3; - P052[0] = iP052[0] + seg3; - P002[0] = iP002[0] + seg4; - P061[0] = iP061[0] + seg4; - P069[0] = iP069[0] + seg4; - P070[0] = iP070[0] + seg4; + P023[0] = iP023[0] + seg1; + P024[0] = iP024[0] + seg1; + P025[0] = iP025[0] + seg1; + P026[0] = iP026[0] + seg1; + P027[0] = iP027[0] + seg1; + P028[0] = iP028[0] + seg1; + P029[0] = iP029[0] + seg1; + P030[0] = iP030[0] + seg1; + P031[0] = iP031[0] + seg1; + P032[0] = iP032[0] + seg1; + P033[0] = iP033[0] + seg2; + P034[0] = iP034[0] + seg2; + P035[0] = iP035[0] + seg2; + P036[0] = iP036[0] + seg2; + P037[0] = iP037[0] + seg2; + P038[0] = iP038[0] + seg2; + P039[0] = iP039[0] + seg2; + P040[0] = iP040[0] + seg2; + P041[0] = iP041[0] + seg2; + P042[0] = iP042[0] + seg2; + P043[0] = iP043[0] + seg3; + P044[0] = iP044[0] + seg3; + P045[0] = iP045[0] + seg3; + P046[0] = iP046[0] + seg3; + P047[0] = iP047[0] + seg3; + P048[0] = iP048[0] + seg3; + P049[0] = iP049[0] + seg3; + P050[0] = iP050[0] + seg3; + P051[0] = iP051[0] + seg3; + P052[0] = iP052[0] + seg3; + P002[0] = iP002[0] + seg4; + P061[0] = iP061[0] + seg4; + P069[0] = iP069[0] + seg4; + P070[0] = iP070[0] + seg4; - fish->vtail += ((fish->dtheta - fish->vtail) * 0.1); + fish->vtail += ((fish->dtheta - fish->vtail) * 0.1); - if (fish->vtail > 0.5) { - fish->vtail = 0.5; - } else if (fish->vtail < -0.5) { - fish->vtail = -0.5; - } - segup = thrash * fish->vtail; + if (fish->vtail > 0.5) { + fish->vtail = 0.5; + } else if (fish->vtail < -0.5) { + fish->vtail = -0.5; + } + segup = thrash * fish->vtail; - P023[1] = iP023[1] + segup; - P024[1] = iP024[1] + segup; - P025[1] = iP025[1] + segup; - P026[1] = iP026[1] + segup; - P027[1] = iP027[1] + segup; - P028[1] = iP028[1] + segup; - P029[1] = iP029[1] + segup; - P030[1] = iP030[1] + segup; - P031[1] = iP031[1] + segup; - P032[1] = iP032[1] + segup; - P033[1] = iP033[1] + segup * 5.0; - P034[1] = iP034[1] + segup * 5.0; - P035[1] = iP035[1] + segup * 5.0; - P036[1] = iP036[1] + segup * 5.0; - P037[1] = iP037[1] + segup * 5.0; - P038[1] = iP038[1] + segup * 5.0; - P039[1] = iP039[1] + segup * 5.0; - P040[1] = iP040[1] + segup * 5.0; - P041[1] = iP041[1] + segup * 5.0; - P042[1] = iP042[1] + segup * 5.0; - P043[1] = iP043[1] + segup * 12.0; - P044[1] = iP044[1] + segup * 12.0; - P045[1] = iP045[1] + segup * 12.0; - P046[1] = iP046[1] + segup * 12.0; - P047[1] = iP047[1] + segup * 12.0; - P048[1] = iP048[1] + segup * 12.0; - P049[1] = iP049[1] + segup * 12.0; - P050[1] = iP050[1] + segup * 12.0; - P051[1] = iP051[1] + segup * 12.0; - P052[1] = iP052[1] + segup * 12.0; - P002[1] = iP002[1] + segup * 17.0; - P061[1] = iP061[1] + segup * 17.0; - P069[1] = iP069[1] + segup * 17.0; - P070[1] = iP070[1] + segup * 17.0; + P023[1] = iP023[1] + segup; + P024[1] = iP024[1] + segup; + P025[1] = iP025[1] + segup; + P026[1] = iP026[1] + segup; + P027[1] = iP027[1] + segup; + P028[1] = iP028[1] + segup; + P029[1] = iP029[1] + segup; + P030[1] = iP030[1] + segup; + P031[1] = iP031[1] + segup; + P032[1] = iP032[1] + segup; + P033[1] = iP033[1] + segup * 5.0; + P034[1] = iP034[1] + segup * 5.0; + P035[1] = iP035[1] + segup * 5.0; + P036[1] = iP036[1] + segup * 5.0; + P037[1] = iP037[1] + segup * 5.0; + P038[1] = iP038[1] + segup * 5.0; + P039[1] = iP039[1] + segup * 5.0; + P040[1] = iP040[1] + segup * 5.0; + P041[1] = iP041[1] + segup * 5.0; + P042[1] = iP042[1] + segup * 5.0; + P043[1] = iP043[1] + segup * 12.0; + P044[1] = iP044[1] + segup * 12.0; + P045[1] = iP045[1] + segup * 12.0; + P046[1] = iP046[1] + segup * 12.0; + P047[1] = iP047[1] + segup * 12.0; + P048[1] = iP048[1] + segup * 12.0; + P049[1] = iP049[1] + segup * 12.0; + P050[1] = iP050[1] + segup * 12.0; + P051[1] = iP051[1] + segup * 12.0; + P052[1] = iP052[1] + segup * 12.0; + P002[1] = iP002[1] + segup * 17.0; + P061[1] = iP061[1] + segup * 17.0; + P069[1] = iP069[1] + segup * 17.0; + P070[1] = iP070[1] + segup * 17.0; - glPushMatrix(); + glPushMatrix(); - glTranslatef(0.0, 0.0, -3000.0); + glTranslatef(0.0, 0.0, -3000.0); - glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]); - n = 0; - if (mat[0][2] >= 0.0) { - n += 1; - } - if (mat[1][2] >= 0.0) { - n += 2; - } - if (mat[2][2] >= 0.0) { - n += 4; - } - glScalef(2.0, 1.0, 1.0); + glGetFloatv(GL_MODELVIEW_MATRIX, &mat[0][0]); + n = 0; + if (mat[0][2] >= 0.0) { + n += 1; + } + if (mat[1][2] >= 0.0) { + n += 2; + } + if (mat[2][2] >= 0.0) { + n += 4; + } + glScalef(2.0, 1.0, 1.0); - glEnable(GL_CULL_FACE); - switch (n) { - case 0: - Fish_1(); - break; - case 1: - Fish_2(); - break; - case 2: - Fish_3(); - break; - case 3: - Fish_4(); - break; - case 4: - Fish_5(); - break; - case 5: - Fish_6(); - break; - case 6: - Fish_7(); - break; - case 7: - Fish_8(); - break; - } - glDisable(GL_CULL_FACE); + glEnable(GL_CULL_FACE); + cap = wire ? GL_LINE_LOOP : GL_POLYGON; + switch (n) { + case 0: + Fish_1(cap); + break; + case 1: + Fish_2(cap); + break; + case 2: + Fish_3(cap); + break; + case 3: + Fish_4(cap); + break; + case 4: + Fish_5(cap); + break; + case 5: + Fish_6(cap); + break; + case 6: + Fish_7(cap); + break; + case 7: + Fish_8(cap); + break; + } + glDisable(GL_CULL_FACE); - glPopMatrix(); + glPopMatrix(); } #endif