语法也有错误:glVertex3fv(&vdata [&tindices[i][0][0]])
glVertex3fv(&vdata [tindices[i][1][0]])
glVertex3fv(&vdata [tindices[i][2][0]])
改为:
glVertex3fv(vdata [tindices[i][0]])
glVertex3fv(vdata [tindices[i][1]])
glVertex3fv(vdata [tindices[i][2]])
如果你是在VC上运行应该也要加入opengl32,glut,glut32库(32位WIN上的),
另外,这个程序你是看不到一个球体的,因为你没有使用光照,只能看到一个轮廓。
我的Qt上我加入的库是:opengl32,glut,glee5(glee5是glee是自己编译的替换glut32库)
头加入了:windown.h,gl/glee.h(glee.h就是glee的头文件在网上可以下载,比gl.h要高级,因为WIN上的gl.h只支持到opengl32的1.1版)
源文件:
#include <windows.h>///////////////////////////////
#include <GL/glee.h>
////////////////////////////////
#include <GL\glut.h>
#include <math.h>
#define x .52573
#define z .85965
void mydisplay(void)
{
static GLfloat vdata[12][3]={{-x,0.0,z},
{x,0.0,z},
{-x,0.0,-z},
{x,0.0,-z},
{0.0,z,x},
{0.0,z,-x},
{0.0,-z,x},
{0.0,-z,-x},
{z,x,0.0},
{-z,x,0.0},
{z,-x,0.0},
{-z,-x,0.0}}
static GLuint tindices[20][3]={{1,4,0},
{4,9,0},
{4,5,9},
{8,5,4},
{1,8,4},
{1,10,8},
{10,3,8},
{8,3,5},
{3,2,5},
{3,7,2},
{3,10,7},
{10,6,7},
{6,11,7},
{6,0,11},
{6,1,0},
{10,1,6},
{11,0,9},
{2,11,9},
{5,2,9},
{11,2,7}}
int i
glBegin(GL_TRIANGLES)
for(i=0i<20i++)
{
glVertex3fv(vdata [tindices[i][0]])//////////////////////////////////////////////
glVertex3fv(vdata [tindices[i][1]])/////////////////////////////////////////////
glVertex3fv(vdata [tindices[i][2]])////////////////////////////////////////////
}
glEnd()
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv)
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE)
glutInitWindowPosition(100, 100)
glutInitWindowSize(400, 400)
glutCreateWindow("第一个OpenGL程序")
glutDisplayFunc(&mydisplay)
glutMainLoop()
return 0
}
后面加了///////////////////////////////////是我修改了的。
我用的连接库是:
LIBS=-lopengl32 -lfreeglut -lglee5
你好,我是经常在线看GLEE的,一般网站都没有的,只有GLEE百度贴吧里在每周三或周四会发布在线观看。(因为每周二GLEE会在美国首播,字幕组周三晚上或周四才能发布字幕)这是第二季所有在线观看网址:http://tieba.baidu.com/glee/shipin/list/glee%B5%DA%B6%FE%BC%BE/ 如果有问题还可以问我或互相切磋哦~ 我也非常爱GLEE哈~欢迎分享,转载请注明来源:内存溢出
评论列表(0条)