如何渲染.obj文件(3d)?如何爲此添加顏色?我在OS X上,並使用XCode 4.這是我的小測試實驗室。如何使用OpenGL和GLUT渲染3d .obj文件? (Mac OS X,XCode 4)
#include <GLUT/glut.h>
#include <iostream>
void render(void);
void keyboard(unsigned char c, int x, int y);
void mouse(int button, int state, int x, int y);
int main(int argc, char ** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(500, 500);
glutCreateWindow("Simple GLUT Application");
glutDisplayFunc(render);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}
void keyboard(unsigned char c, int x, int y) {
if (c == 27){
exit(0);
}
}
void mouse(int button, int state, int x, int y) {
if (button == GLUT_RIGHT_BUTTON){
exit(0);
}
}
void render(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//RENDER STUFF HERE
glBegin(GL_POLYGON);
glVertex3f( 0.0, -0.8, 0.5);
glVertex3f( 0.0, 0.2, 0.5);
glVertex3f( 0.5, 0.8, -0.5);
glVertex3f( 0.5, -0.2, -0.5);
glEnd();
glutSwapBuffers();
}
對,我可以做顏色,但自定義紋理怎麼樣,意思是加載.png文件到多邊形的面上?或者是在SuperBible中? –
要創建OpenGL紋理,您必須自己將圖像加載到OpenGL支持的特定格式的緩衝區中,然後要求OpenGL創建紋理對象,將OpenGL指向放置圖像數據的緩衝區。然後使用立即模式下的紋理在OpenGL中打開紋理,然後在每個頂點上設置紋理座標(或啓用自動紋理座標生成)...是的,OpenGL SuperBible覆蓋了紋理,但不在立即模式下使用它們(因爲即時模式是過時,如果可以避免則不應使用)。 – bames53