obj檔案無法讀取顯示 |
缺席
|
5515531
一般會員 發表:19 回覆:44 積分:12 註冊:2008-04-16 發送簡訊給我 |
我把將要讀取的obj檔案資料寫入程式裡
並用opengl顯示出來 但是很奇怪的是無法一開啟時就指定讀取所要的檔案 希望各位能幫我查查哪邊出問題了!! [code cpp] void __fastcall TForm1::GLPanel1Setup(TObject *Sender) { ListBox1->ItemIndex=1; GLMmodel *glm_model; filename = ListBox1->Items->Strings[ListBox1->ItemIndex]; filename = "data/" filename ".obj"; glm_model= glmReadOBJ( filename.c_str() ); glmUnitize( glm_model ); glmScale( glm_model, .1 ); glmFacetNormals( glm_model ); glmVertexNormals( glm_model, 90 ); list_id = glmList( glm_model, GLM_MATERIAL | GLM_SMOOTH ); glmDelete( glm_model ); GLfloat light_position0[]={0,0,3, 1.0}; GLfloat light_position1[]={0,3,0, 1.0}; GLfloat light_position2[]={3,0,0, 1.0}; GLfloat light_diffuse[] = {1.0, 1.0, 1.0, 1.0}; GLfloat mat_diffuse[] = {1.0, 1.0, 1.0, 1.0}; glLightfv(GL_LIGHT0, GL_POSITION, light_position0); glLightfv(GL_LIGHT1, GL_POSITION, light_position1); glLightfv(GL_LIGHT2, GL_POSITION, light_position2); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT1, GL_DIFFUSE, light_diffuse); glLightfv(GL_LIGHT2, GL_DIFFUSE, light_diffuse); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); glEnable(GL_AUTO_NORMAL); glShadeModel(GL_SMOOTH); glClearDepth(1.0f); // Depth Buffer Setup glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing To Do glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations glClearColor(0.0, 0.0, 0.0, 0.0); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { GLPanel1->Repaint(); } //--------------------------------------------------------------------------- void __fastcall TForm1::GLPanel1Render(TObject *Sender) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0,1.0,0.1,10000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0 GL1_Look_Dist*cos(GL1_Look_angle1)*sin(GL1_Look_angle2), 0-1.0*GL1_Look_Dist*cos(GL1_Look_angle1)*cos(GL1_Look_angle2), 0 GL1_Look_Dist*sin(GL1_Look_angle1), 0,0,0, 0.0, 0.0, 1.0); if( ObjChange ) Load_Obj(); glCallList( list_id ); GLPanel1->SwapBuffers(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void Load_Obj() { GLMmodel *glm_model; filename = Form1->ListBox1->Items->Strings[Form1->ListBox1->ItemIndex]; filename = "data/" filename ".obj"; glm_model= glmReadOBJ( filename.c_str() ); glmUnitize( glm_model ); glmScale( glm_model, .1 ); glmFacetNormals( glm_model ); glmVertexNormals( glm_model, 90 ); list_id = glmList( glm_model, GLM_MATERIAL | GLM_SMOOTH ); glmDelete( glm_model ); ObjChange = false; } //--------------------------------------------------------------------------- [/code] |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
5515531
一般會員 發表:19 回覆:44 積分:12 註冊:2008-04-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
5515531
一般會員 發表:19 回覆:44 積分:12 註冊:2008-04-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
5515531
一般會員 發表:19 回覆:44 積分:12 註冊:2008-04-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |