| 5 | 1/1 | 返回列表 |
| 查看: 1150 | 回復(fù): 8 | ||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
sukiyq木蟲 (小有名氣)
|
[求助]
OpenGL里全局變量引起的奇怪的問題
|
|
|
下邊是一個光照的OpenGL示例程序,運行有錯誤,把程序里完全沒有用到的全局變量“GLfloat light_pos[] = {1.0, 2.0, 3.0, 0.0};”一行刪除運行就正常了。這是為什么?明明這個全局變量并沒有用到,但是設(shè)置了它程序就會出錯,好奇怪。 #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ā)表 | |
|---|---|---|---|---|
|
[考研] 289求調(diào)劑 +15 | 新時代材料 2026-03-27 | 15/750 |
|
|---|---|---|---|---|
|
[考研] 292求調(diào)劑 +12 | 是妍子也是研子 2026-03-30 | 12/600 |
|
|
[考研] 085600 材料與化工 329分求調(diào)劑 +16 | Mr. Z 2026-03-25 | 17/850 |
|
|
[考研] 324求調(diào)劑 +9 | hanamiko 2026-03-26 | 11/550 |
|
|
[考研] 求化學(xué)調(diào)劑 +11 | wulanna 2026-03-28 | 11/550 |
|
|
[考研] 材料與化工272求調(diào)劑 +21 | 阿斯蒂芬2004 2026-03-28 | 21/1050 |
|
|
[考研] 各位老師好,我的一志愿為北京科技大學(xué)085601材料專碩 +9 | Koxui 2026-03-28 | 9/450 |
|
|
[考研]
|
nnnnnnn5 2026-03-25 | 11/550 |
|
|
[考研] 349求調(diào)劑 +6 | 李木子啊哈哈 2026-03-25 | 6/300 |
|
|
[考研] 壓國家一區(qū)線,求導(dǎo)師收留,有恩必謝! +7 | 迷人的哈哈 2026-03-28 | 7/350 |
|
|
[考研] 藥學(xué)105500求調(diào)劑 +3 | Ssun。。 2026-03-28 | 3/150 |
|
|
[考研] 295求調(diào)劑 +5 | 1428151015 2026-03-27 | 6/300 |
|
|
[考研] 265求調(diào)劑 +8 | 小木蟲085600 2026-03-27 | 8/400 |
|
|
[考研] 272求調(diào)劑 +7 | 腳滑的守法公民 2026-03-27 | 7/350 |
|
|
[考研] 321求調(diào)劑 +6 | Ymlll 2026-03-24 | 6/300 |
|
|
[考研]
材料調(diào)劑
5+4
|
想要一壺桃花水 2026-03-25 | 10/500 |
|
|
[考研] 281求調(diào)劑 +6 | Koxui 2026-03-24 | 7/350 |
|
|
[考研] 【2026考研調(diào)劑】制藥工程 284分 求相關(guān)專業(yè)調(diào)劑名額 +4 | 袁奐奐 2026-03-25 | 8/400 |
|
|
[考研] 一志愿南航材料專317分求調(diào)劑 +5 | 炸呀炸呀炸薯條 2026-03-23 | 5/250 |
|
|
[考研] 292求調(diào)劑 +4 | 鵝鵝鵝額額額額?/a> 2026-03-24 | 4/200 |
|