Strawberry::Strawberry()
{
Pos.z=35;
Pos.y=15;
Spd.z=0.0;
tagViewable=true;
LayerIndex=0;
PointIndex=0;
LayerNum=20;
PointNum=20;
tagFruit=true;
iFruitId=8;
FruitJuiceColor.Set(0.9f,0.0f,0.0f);
}
void Strawberry::On3dPaint(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
if(1)
{
glPushMatrix();
glTranslatef(Pos.x,Pos.y,Pos.z);
glRotatef(180,1.0f,0.0f,0.0f);
glRotatef(90,0.0f,1.0f,0.0f);
glRotatef(AngleCircle.x+=0.5*tagAngleCircleDir,0.0f,0.0f,1.0f);
if(0)if(tagCircle)
{
Point fruitBody[50][50]={0};
int iUsed=8;
int jUsed=30;
Point color;color.Set(0.9f,0.8f,0.2f);
if(1)
{
float w=3.9,b=1.1;
float r[50]={w,w+0.5*b,w+1*b,w+1.5*b,w+2*b,w+2*b,w+1.5*b,w+1*b,w+0.5*b,w};
float z[50]={0.01,0.01,0.01,0.01,0,0,0,0};
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].Set(r[i]*sin(2*PI/(jUsed-1)*j),r[i]*cos(2*PI/(jUsed-1)*j),z[i]);
}
}
//显示物体轮廓面
if(1)
{
/////////////////////////////////////////////////////////////////////////////////
glEnable(GL_TEXTURE_2D);// 启用二维纹理
/////////////////////////////////////////////////////////////////////////////////
glBindTexture(GL_TEXTURE_2D, texStart);
for(int i=0;i<iUsed-1;i++)
{
glBegin(GL_QUAD_STRIP);
for(int j=0;j<jUsed-1;j++)
{
glColor3f(color.x,color.y,color.z);//
if(i==3)glColor3f(color.x+0.05,color.y+0.05,color.z);//
float n=10;
float m=4;
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+0),0.0f+(1/n)*(j+0));
glVertex3f(fruitBody[i][(j+1+jUsed)%jUsed].x,fruitBody[i][(j+1+jUsed)%jUsed].y,fruitBody[i][(j+1+jUsed)%jUsed].z);
glColor3f(color.x,color.y,color.z);//
if(i==2)glColor3f(color.x+0.05,color.y+0.05,color.z);//
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+0),0.0f+(1/n)*(j+1));
glVertex3f(fruitBody[i+0][j+1].x,fruitBody[i][j+1].y,fruitBody[i+0][j+1].z);
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+1),0.0f+(1/n)*(j+0));
glVertex3f(fruitBody[i+1][(j+1+jUsed)%jUsed].x,fruitBody[i+1][(j+1+jUsed)%jUsed].y,fruitBody[i+1][(j+1+jUsed)%jUsed].z);
if(j<n)glTexCoord2f(0.0f+(1/m)*(i+1),0.0f+(1/n)*(j+1));
glVertex3f(fruitBody[i+1][j+1].x,fruitBody[i+1][j+1].y,fruitBody[i+1][j+1].z);
}
glVertex3f(fruitBody[i][0].x,fruitBody[i][0].y,fruitBody[i][0].z);
glVertex3f(fruitBody[i+1][0].x,fruitBody[i+1][0].y,fruitBody[i+1][0].z);
glEnd();
}
/////////////////////////////////////////////////////////////////////////////////
glDisable(GL_TEXTURE_2D);// 禁用二维纹理
/////////////////////////////////////////////////////////////////////////////////
}
}
}
glPopMatrix();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
glPushMatrix();
glTranslatef(Pos.x,Pos.y,Pos.z);
if(Cameras.ptObject!=this)
{
glRotatef(Angle.x,1.0f,0.0f,0.0f);
glRotatef(Angle.y,0.0f,1.0f,0.0f);
glRotatef(Angle.z,0.0f,0.0f,1.0f);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//水果主体
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int iUsed=20;
int jUsed=20;
if(1)
{
Point fruitBody[50][50]={0};
float r[50]={0};
float z[50]={0};
if(1)
{
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(1)for(int i=0;i<iUsed;i++)
{
z[i]=1.3*cos(PI/(iUsed-1)*i);
r[i]=1.3*sin(PI/(iUsed-1)*i);
}
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].Set(r[i]*sin(2*PI/(jUsed-1)*j),r[i]*cos(2*PI/(jUsed-1)*j),z[i]);
}
}
if(1)for(int i=0;i<iUsed;i++)
{
for(int j=0;j<jUsed;j++)
{
fruitBody[i][j].x*=1;
fruitBody[i][j].y*=0.9;
}
}
if(1)for(int j=0;j<jUsed;j++)
{
if(1)
{
int i=0;
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=1.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.5;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.83;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.2;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.9;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.02;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.03;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.02;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.01;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.99;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.96;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.93;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.90;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.88;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.87;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.90;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.94;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.0;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1.1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.2;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=0.8;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.35;fruitBody[i][j].x+=0.0;i++;}
if(0+1){float t=1;fruitBody[i][j].x*=t*1;fruitBody[i][j].y*=t;fruitBody[i][j].z-=0.38;fruitBody[i][j].x+=0.0;i++;}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//自定义调整
/////////////////////////////////////////////////////////////////////////////////////////////