图形学实验报告(7)

2020-02-21 21:34

glTexParameteri(GL_TEXTURE_1D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexImage1D(GL_TEXTURE_1D,0,GL_RGB,

64,0,

//width,border

GL_RGB,GL_UNSIGNED_BYTE, image1D);

//int flag = 0;

if(flag==2) { }

else if(flag==1) {

glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL); glEnable(GL_TEXTURE_2D);

glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL);//GL_MODULATE);

} else

//glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR); //GLfloat coeff[]={1.0,0.0,0.0,0.0}; //glTexGenfv(GL_S,GL_OBJECT_PLANE,coeff); glEnable(GL_TEXTURE_1D);

//自动生成一维纹理

{ }

glDisable(GL_TEXTURE_2D); glDisable(GL_TEXTURE_1D);

glBegin(GL_QUADS);

if(flag == 2) {

//二维纹理

for(int a = 0; a < 36; a++) {

for(int r = 0; r < 9; r++) {

double n[3];

Normal(parabolicSurf[a][r], parabolicSurf[a][r + 1], parabolicSurf[(a + 1)6][r + 1], n);

glTexCoord2d(parabolicSurf[a][r][0]/2.0 + 0.5, parabolicSurf[a][r][1]/2.0 + 0.5);

glVertex3dv(parabolicSurf[a][r]);

glNormal3dv(n);

glTexCoord2d(parabolicSurf[a][r + 1][0]/2.0 + 0.5,

parabolicSurf[a][r + 1][1]/2.0 + 0.5);

glTexCoord2d(parabolicSurf[(a + 1)6][r + 1][0]/2.0 + 0.5,

glVertex3dv(parabolicSurf[a][r + 1]);

parabolicSurf[(a + 1)6][r + 1][1]/2.0 + 0.5);

glTexCoord2d(parabolicSurf[(a + 1)6][r][0]/2.0 + 0.5,

glVertex3dv(parabolicSurf[(a + 1)6][r + 1]);

parabolicSurf[(a + 1)6][r][1]/2.0 + 0.5);

Normal(parabolicSurf[a][r], parabolicSurf[a][r + 1], parabolicSurf[(a + 1)6][r + 1], n);

if(flag == 1) {

for(int a = 0; a < 36; a++) {

for(int r = 0; r < 9; r++) {

double n[3];

//一维纹理

}

}

}

glVertex3dv(parabolicSurf[(a + 1)6][r]);

glNormal3dv(n);

glTexCoord1d(parabolicSurf[a][r][0]/2.0 + 0.5); glVertex3dv(parabolicSurf[a][r]);

glTexCoord1d(parabolicSurf[a][r + 1][0]/2.0 + 0.5); glVertex3dv(parabolicSurf[a][r + 1]);

glTexCoord1d(parabolicSurf[(a + 1)6][r + 1][0]/2.0 + 0.5); glVertex3dv(parabolicSurf[(a + 1)6][r + 1]);

}

}

}

glTexCoord1d(parabolicSurf[(a + 1)6][r][0]/2.0 + 0.5); glVertex3dv(parabolicSurf[(a + 1)6][r]);

else //无纹理 {

for(int a = 0; a < 36; a++) {

for(int r = 0; r < 9; r++) {

glNormal3dv(vertexNormal[a][r]);

}

glVertex3dv(parabolicSurf[a][r]);

glNormal3dv(vertexNormal[a][r + 1]); glVertex3dv(parabolicSurf[a][r + 1]);

glNormal3dv(vertexNormal[(a + 1)6][r + 1]); glVertex3dv(parabolicSurf[(a + 1)6][r + 1]);

}

}

}

glNormal3dv(vertexNormal[(a + 1)6][r]); glVertex3dv(parabolicSurf[(a + 1)6][r]);

glEnd();

glDisable(GL_TEXTURE_2D); glDisable(GL_TEXTURE_1D);

void display(void) {

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


图形学实验报告(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:康普六类大厦方案-PDS-方案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: