📄 dolphin.cpp
字号:
glVertex3fv(P114);
glNormal3fv(N007);
glVertex3fv(P007);
glNormal3fv(N116);
glVertex3fv(P116);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N007);
glVertex3fv(P007);
glNormal3fv(N002);
glVertex3fv(P002);
glNormal3fv(N116);
glVertex3fv(P116);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P002);
glVertex3fv(P007);
glVertex3fv(P008);
glVertex3fv(P099);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P007);
glVertex3fv(P114);
glVertex3fv(P115);
glVertex3fv(P008);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N117);
glVertex3fv(P117);
glNormal3fv(N099);
glVertex3fv(P099);
glNormal3fv(N008);
glVertex3fv(P008);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N117);
glVertex3fv(P117);
glNormal3fv(N008);
glVertex3fv(P008);
glNormal3fv(N112);
glVertex3fv(P112);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N112);
glVertex3fv(P112);
glNormal3fv(N008);
glVertex3fv(P008);
glNormal3fv(N115);
glVertex3fv(P115);
glEnd();
}
void
Dolphin014(void)
{
glBegin(GL_POLYGON);
glNormal3fv(N111);
glVertex3fv(P111);
glNormal3fv(N110);
glVertex3fv(P110);
glNormal3fv(N102);
glVertex3fv(P102);
glNormal3fv(N121);
glVertex3fv(P121);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N111);
glVertex3fv(P111);
glNormal3fv(N097);
glVertex3fv(P097);
glNormal3fv(N110);
glVertex3fv(P110);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N097);
glVertex3fv(P097);
glNormal3fv(N119);
glVertex3fv(P119);
glNormal3fv(N110);
glVertex3fv(P110);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N097);
glVertex3fv(P097);
glNormal3fv(N099);
glVertex3fv(P099);
glNormal3fv(N119);
glVertex3fv(P119);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N099);
glVertex3fv(P099);
glNormal3fv(N065);
glVertex3fv(P065);
glNormal3fv(N119);
glVertex3fv(P119);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N065);
glVertex3fv(P065);
glNormal3fv(N066);
glVertex3fv(P066);
glNormal3fv(N119);
glVertex3fv(P119);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P098);
glVertex3fv(P097);
glVertex3fv(P111);
glVertex3fv(P121);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P002);
glVertex3fv(P099);
glVertex3fv(P097);
glVertex3fv(P098);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N110);
glVertex3fv(P110);
glNormal3fv(N119);
glVertex3fv(P119);
glNormal3fv(N118);
glVertex3fv(P118);
glNormal3fv(N102);
glVertex3fv(P102);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N119);
glVertex3fv(P119);
glNormal3fv(N066);
glVertex3fv(P066);
glNormal3fv(N067);
glVertex3fv(P067);
glNormal3fv(N118);
glVertex3fv(P118);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N067);
glVertex3fv(P067);
glNormal3fv(N060);
glVertex3fv(P060);
glNormal3fv(N002);
glVertex3fv(P002);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N067);
glVertex3fv(P067);
glNormal3fv(N002);
glVertex3fv(P002);
glNormal3fv(N118);
glVertex3fv(P118);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N118);
glVertex3fv(P118);
glNormal3fv(N002);
glVertex3fv(P002);
glNormal3fv(N098);
glVertex3fv(P098);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N118);
glVertex3fv(P118);
glNormal3fv(N098);
glVertex3fv(P098);
glNormal3fv(N102);
glVertex3fv(P102);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N102);
glVertex3fv(P102);
glNormal3fv(N098);
glVertex3fv(P098);
glNormal3fv(N121);
glVertex3fv(P121);
glEnd();
}
void
Dolphin015(void)
{
glBegin(GL_POLYGON);
glNormal3fv(N055);
glVertex3fv(P055);
glNormal3fv(N003);
glVertex3fv(P003);
glNormal3fv(N054);
glVertex3fv(P054);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N003);
glVertex3fv(P003);
glNormal3fv(N055);
glVertex3fv(P055);
glNormal3fv(N063);
glVertex3fv(P063);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N003);
glVertex3fv(P003);
glNormal3fv(N063);
glVertex3fv(P063);
glNormal3fv(N100);
glVertex3fv(P100);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N003);
glVertex3fv(P003);
glNormal3fv(N100);
glVertex3fv(P100);
glNormal3fv(N054);
glVertex3fv(P054);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N054);
glVertex3fv(P054);
glNormal3fv(N100);
glVertex3fv(P100);
glNormal3fv(N062);
glVertex3fv(P062);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N100);
glVertex3fv(P100);
glNormal3fv(N064);
glVertex3fv(P064);
glNormal3fv(N120);
glVertex3fv(P120);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N100);
glVertex3fv(P100);
glNormal3fv(N063);
glVertex3fv(P063);
glNormal3fv(N064);
glVertex3fv(P064);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N063);
glVertex3fv(P063);
glNormal3fv(N006);
glVertex3fv(P006);
glNormal3fv(N064);
glVertex3fv(P064);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N064);
glVertex3fv(P064);
glNormal3fv(N006);
glVertex3fv(P006);
glNormal3fv(N099);
glVertex3fv(P099);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N064);
glVertex3fv(P064);
glNormal3fv(N099);
glVertex3fv(P099);
glNormal3fv(N117);
glVertex3fv(P117);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N120);
glVertex3fv(P120);
glNormal3fv(N064);
glVertex3fv(P064);
glNormal3fv(N117);
glVertex3fv(P117);
glNormal3fv(N116);
glVertex3fv(P116);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N006);
glVertex3fv(P006);
glNormal3fv(N065);
glVertex3fv(P065);
glNormal3fv(N099);
glVertex3fv(P099);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N062);
glVertex3fv(P062);
glNormal3fv(N100);
glVertex3fv(P100);
glNormal3fv(N120);
glVertex3fv(P120);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N005);
glVertex3fv(P005);
glNormal3fv(N062);
glVertex3fv(P062);
glNormal3fv(N120);
glVertex3fv(P120);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N005);
glVertex3fv(P005);
glNormal3fv(N120);
glVertex3fv(P120);
glNormal3fv(N002);
glVertex3fv(P002);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N002);
glVertex3fv(P002);
glNormal3fv(N120);
glVertex3fv(P120);
glNormal3fv(N116);
glVertex3fv(P116);
glEnd();
glBegin(GL_POLYGON);
glNormal3fv(N060);
glVertex3fv(P060);
glNormal3fv(N005);
glVertex3fv(P005);
glNormal3fv(N002);
glVertex3fv(P002);
glEnd();
}
void
Dolphin016(void)
{
glDisable(GL_DEPTH_TEST);
glBegin(GL_POLYGON);
glVertex3fv(P123);
glVertex3fv(P124);
glVertex3fv(P125);
glVertex3fv(P126);
glVertex3fv(P127);
glVertex3fv(P128);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P129);
glVertex3fv(P130);
glVertex3fv(P131);
glVertex3fv(P132);
glVertex3fv(P133);
glVertex3fv(P134);
glEnd();
glBegin(GL_POLYGON);
glVertex3fv(P103);
glVertex3fv(P105);
glVertex3fv(P108);
glEnd();
glEnable(GL_DEPTH_TEST);
}
void
DrawDolphin(fishRec * fish)
{
float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
float pitch, thrash, chomp;
fish->htail = (int) (fish->htail - (int) (10.0 * fish->v)) % 360;
thrash = 70.0 * fish->v;
seg0 = 1.0 * thrash * sin((fish->htail) * RRAD);
seg3 = 1.0 * thrash * sin((fish->htail) * RRAD);
seg1 = 2.0 * thrash * sin((fish->htail + 4.0) * RRAD);
seg2 = 3.0 * thrash * sin((fish->htail + 6.0) * RRAD);
seg4 = 4.0 * thrash * sin((fish->htail + 10.0) * RRAD);
seg5 = 4.5 * thrash * sin((fish->htail + 15.0) * RRAD);
seg6 = 5.0 * thrash * sin((fish->htail + 20.0) * RRAD);
seg7 = 6.0 * thrash * sin((fish->htail + 30.0) * RRAD);
pitch = fish->v * sin((fish->htail + 180.0) * RRAD);
if (fish->v > 2.0) {
chomp = -(fish->v - 2.0) * 200.0;
}
chomp = 100.0;
P012[1] = iP012[1] + seg5;
P013[1] = iP013[1] + seg5;
P014[1] = iP014[1] + seg5;
P015[1] = iP015[1] + seg5;
P016[1] = iP016[1] + seg5;
P017[1] = iP017[1] + seg5;
P018[1] = iP018[1] + seg5;
P019[1] = iP019[1] + seg5;
P020[1] = iP020[1] + seg4;
P021[1] = iP021[1] + seg4;
P022[1] = iP022[1] + seg4;
P023[1] = iP023[1] + seg4;
P024[1] = iP024[1] + seg4;
P025[1] = iP025[1] + seg4;
P026[1] = iP026[1] + seg4;
P027[1] = iP027[1] + seg4;
P028[1] = iP028[1] + seg2;
P029[1] = iP029[1] + seg2;
P030[1] = iP030[1] + seg2;
P031[1] = iP031[1] + seg2;
P032[1] = iP032[1] + seg2;
P033[1] = iP033[1] + seg2;
P034[1] = iP034[1] + seg2;
P035[1] = iP035[1] + seg2;
P036[1] = iP036[1] + seg1;
P037[1] = iP037[1] + seg1;
P038[1] = iP038[1] + seg1;
P039[1] = iP039[1] + seg1;
P040[1] = iP040[1] + seg1;
P041[1] = iP041[1] + seg1;
P042[1] = iP042[1] + seg1;
P043[1] = iP043[1] + seg1;
P044[1] = iP044[1] + seg0;
P045[1] = iP045[1] + seg0;
P046[1] = iP046[1] + seg0;
P047[1] = iP047[1] + seg0;
P048[1] = iP048[1] + seg0;
P049[1] = iP049[1] + seg0;
P050[1] = iP050[1] + seg0;
P051[1] = iP051[1] + seg0;
P009[1] = iP009[1] + seg6;
P010[1] = iP010[1] + seg6;
P075[1] = iP075[1] + seg6;
P076[1] = iP076[1] + seg6;
P001[1] = iP001[1] + seg7;
P011[1] = iP011[1] + seg7;
P068[1] = iP068[1] + seg7;
P069[1] = iP069[1] + seg7;
P070[1] = iP070[1] + seg7;
P071[1] = iP071[1] + seg7;
P072[1] = iP072[1] + seg7;
P073[1] = iP073[1] + seg7;
P074[1] = iP074[1] + seg7;
P091[1] = iP091[1] + seg3;
P092[1] = iP092[1] + seg3;
P093[1] = iP093[1] + seg3;
P094[1] = iP094[1] + seg3;
P095[1] = iP095[1] + seg3;
P122[1] = iP122[1] + seg3 * 1.5;
P097[1] = iP097[1] + chomp;
P098[1] = iP098[1] + chomp;
P102[1] = iP102[1] + chomp;
P110[1] = iP110[1] + chomp;
P111[1] = iP111[1] + chomp;
P121[1] = iP121[1] + chomp;
P118[1] = iP118[1] + chomp;
P119[1] = iP119[1] + chomp;
glPushMatrix();
glRotatef(pitch, 1.0, 0.0, 0.0);
glTranslatef(0.0, 0.0, 7000.0);
glRotatef(180.0, 0.0, 1.0, 0.0);
glEnable(GL_CULL_FACE);
Dolphin014();
Dolphin010();
Dolphin009();
Dolphin012();
Dolphin013();
Dolphin006();
Dolphin002();
Dolphin001();
Dolphin003();
Dolphin015();
Dolphin004();
Dolphin005();
Dolphin007();
Dolphin008();
Dolphin011();
Dolphin016();
glDisable(GL_CULL_FACE);
glPopMatrix();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -