| 5 | 1/1 | 返回列表 |
| 查看: 1155 | 回復(fù): 8 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | ||
sukiyq木蟲 (小有名氣)
|
[求助]
OpenGL里全局變量引起的奇怪的問(wèn)題
|
|
|
下邊是一個(gè)光照的OpenGL示例程序,運(yùn)行有錯(cuò)誤,把程序里完全沒(méi)有用到的全局變量“GLfloat light_pos[] = {1.0, 2.0, 3.0, 0.0};”一行刪除運(yùn)行就正常了。這是為什么?明明這個(gè)全局變量并沒(méi)有用到,但是設(shè)置了它程序就會(huì)出錯(cuò),好奇怪。 #include GLfloat vertices[][3] = {{-1.0,-1.0,-1.0},{1.0,-1.0,-1.0}, {1.0,1.0,-1.0}, {-1.0,1.0,-1.0}, {-1.0,-1.0,1.0}, {1.0,-1.0,1.0}, {1.0,1.0,1.0}, {-1.0,1.0,1.0}}; GLfloat colors[][4] = {{1.0,0.0,0.0,0.5}, {0.0,1.0,1.0,0.5}, {1.0,1.0,0.0,0.5}, {0.0,1.0,0.0,0.5}, {0.0,0.0,1.0,0.5}, {1.0,0.0,1.0,0.5}}; GLfloat light_pos[] = {1.0, 2.0, 3.0, 0.0}; void polygon(int a, int b, int c , int d) { glColor4fv(colors[a]); if(colors[a][4] != 1.0) glDepthMask(GL_TRUE); else glDepthMask(GL_FALSE); glBegin(GL_POLYGON); glVertex3fv(vertices[a]); glVertex3fv(vertices); glVertex3fv(vertices[c]); glVertex3fv(vertices[d]); glEnd(); } void cube() { polygon(0,3,2,1); polygon(2,3,7,6); polygon(3,0,4,7); polygon(1,2,6,5); polygon(4,5,6,7); polygon(5,4,0,1); } static GLfloat theta[] = {0.0,0.0,0.0}; static GLint axis = 2; void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glRotatef(theta[0], 1.0, 0.0, 0.0); glRotatef(theta[1], 0.0, 1.0, 0.0); glRotatef(theta[2], 0.0, 0.0, 1.0); cube(); glutSwapBuffers(); } void spinCube() { theta[axis] += 2.0; if( theta[axis] > 360.0 ) theta[axis] -= 360.0; glutPostRedisplay(); } void mouse(int btn, int state, int x, int y) { if(btn==GLUT_LEFT_BUTTON && state == GLUT_DOWN) axis = 0; if(btn==GLUT_MIDDLE_BUTTON && state == GLUT_DOWN) axis = 1; if(btn==GLUT_RIGHT_BUTTON && state == GLUT_DOWN) axis = 2; } void myReshape(int w, int h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (w <= h) glOrtho(-2.0, 2.0, -2.0 * (GLfloat) h / (GLfloat) w, 2.0 * (GLfloat) h / (GLfloat) w, -10.0, 10.0); else glOrtho(-2.0 * (GLfloat) w / (GLfloat) h, 2.0 * (GLfloat) w / (GLfloat) h, -2.0, 2.0, -10.0, 10.0); glMatrixMode(GL_MODELVIEW); } void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500, 500); glutCreateWindow("colorcube" ;glutReshapeFunc(myReshape); glutDisplayFunc(display); glutIdleFunc(spinCube); glutMouseFunc(mouse); glEnable(GL_DEPTH_TEST); /* Enable hidden--surface--removal */ glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glutMainLoop(); } |

木蟲 (小有名氣)

版主 (著名寫手)
木蟲 (小有名氣)

新蟲 (正式寫手)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 288求調(diào)劑 一志愿哈工大 材料與化工 +16 | 洛神哥哥 2026-03-31 | 16/800 |
|
|---|---|---|---|---|
|
[論文投稿]
chinese chemical letters英文版投稿求助
130+4
|
Yishengeryi 2026-03-30 | 4/200 |
|
|
[碩博家園] 求調(diào)劑 有機(jī)化學(xué)考研356分 +11 | Nadiums 2026-03-25 | 12/600 |
|
|
[考研] 304求調(diào)劑 +8 | 素年祭語(yǔ) 2026-03-31 | 11/550 |
|
|
[考研] 考研生物與醫(yī)藥調(diào)劑 +6 | 鐵憨憨123425 2026-03-31 | 6/300 |
|
|
[考研] 086000生物與醫(yī)藥 初試274求調(diào)劑 +4 | 小叮當(dāng)來(lái)了 2026-03-30 | 4/200 |
|
|
[考研] 一志愿南昌大學(xué)324求調(diào)劑 +6 | hanamiko 2026-03-29 | 6/300 |
|
|
[考研] 化學(xué)0703 調(diào)劑 306分 一志愿211 +10 | 26要上岸 2026-03-28 | 10/500 |
|
|
[考研] 0703化學(xué) +20 | 妮妮ninicgb 2026-03-27 | 20/1000 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +4 | 崔wj 2026-03-31 | 4/200 |
|
|
[考研] 材料與化工調(diào)劑一志愿大連海事085600,349 +6 | 吃的不少 2026-03-30 | 6/300 |
|
|
[考研] 295材料工程專碩求調(diào)劑 +10 | 1428151015 2026-03-27 | 10/500 |
|
|
[考研] 317分 一志愿南理工材料工程 本科湖工大 求調(diào)劑 +12 | 芋泥小鈴鐺 2026-03-28 | 12/600 |
|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動(dòng)285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 復(fù)試調(diào)劑 +3 | raojunqi0129 2026-03-28 | 3/150 |
|
|
[考研] 286求調(diào)劑 +12 | PolarBear11 2026-03-26 | 12/600 |
|
|
[考研] 298調(diào)劑 +3 | jiyingjie123 2026-03-27 | 3/150 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 【2026考研調(diào)劑】制藥工程 284分 求相關(guān)專業(yè)調(diào)劑名額 +4 | 袁奐奐 2026-03-25 | 8/400 |
|