glDrawElements(GL_TRIANGLES, 18, GL_UNSIGNED_INT, &(BFishIndices[328]));
//9/black:upper_Mesh.007
glTexEnvi (GL_TEXENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//another soul, ais, roz
float Ais[26*27][27];
int idx = 0;
int ct = 0;
for (int i = 0; i < 27; ++i)
{
for (int j = 0; j < 27; ++j)
{
for (int k = 0; k < 27; ++k)
{
Ais[idx][k] = 27.0 + (float)i * (float)27.0 / 28.0 - (float)j * (float)27.0 / 28.0 - (float)k * (float)27.0 / 28.0;
++idx;
}
}
}
for (int i = 0; i < 36; ++i)
{
for (int j = 0; j < 36; ++j)
{
for (int k = 0; k < 36; ++k)
{
Ais[idx][k] = 0.0;
}
}
}
for (int i = 0; i < 27; ++i)
{
for (int j = 0; j < 27; ++j)
{
for (int k = 0; k < 27; ++k)
{
Ais[idx][k] = 1.0 - 2.0 * (float)i * (float)i / 3.0 - 2.0 * (float)j * (float)j / 3.0 - 2.0 * (float)k * (float)k / 3.0;
}
}
}
for (int i = 0; i < 9; ++i)
{
for (int j = 0; j < 9; ++j)
{
for (int k = 0; k < 9; ++k)
{
Ais[idx][k] = Ais[idx][k] / 4.0 + Bis[idx][k] / 4.0 + i * j * (4.0 + 3.0 * i + 1.0 * j) * (4.0 + 3.0 * i) * (4.0 + 3.0 * j);
}
}
}
for (int i = 0; i < 9; ++i)
{
for (int j = 0; j < 9; ++j)
{
for (int k = 0; k < 9; ++k)
{
Ais[idx][k] = (1.0 / 3.0) * Ais[idx][k] + ((1.0 / 3.0) - 2.0 * i * j * (4.0 + 3.0 * i + 1.0 * j) * (4.0 + 3.0 * i)) * (4.0 + 3.0 * j);
}
}
}
for (int i = 0; i < 27; ++i)
{
for (int j = 0; j < 27; ++j)
{
for (int k = 0; k < 27; ++k)
{
Ais[idx][k] = Ais[idx][k] / 4.0 + Bis[idx][k] / 4.0 + i * j * (4.0 + 3.0 * i + 1.0 * j) * (4.0 + 3.0 * i) * (4.0 + 3.0 * j);
}
}
}
glUseProgram(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
gl