16,473
社区成员
发帖
与我相关
我的任务
分享
glGenBuffers(1, &m_VertexBuffer);//绑定VBO
glBindBuffer(GL_ARRAY_BUFFER, m_VertexBuffer);
glBufferData(GL_ARRAY_BUFFER, 9 * meshNum *sizeof(float),positionData,
GL_STATIC_DRAW);
glEnableVertexAttribArray(0);//顶点坐标
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (GLubyte *)NULL);
glDrawArrays(GL_TRIANGLES,0, 9 * meshNum);
GLfloat lightAmbient[] = {0.75f,0.75f,0.75f,1.0f}; //设置环境光的颜色组成
GLfloat lightDiffuse[] = {1.0f,1.0f,1.0f,1.0f}; //漫反射光
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, lightAmbient);
glEnable(GL_LIGHTING); //使用光照模式
glLightfv(GL_LIGHT0,GL_AMBIENT,lightAmbient); //为光源0设置环境光
glLightfv(GL_LIGHT0,GL_DIFFUSE,lightDiffuse); //为光源0设置漫反射光
SetLightDirection(0,0,1); //设置光源的方向
glEnable(GL_LIGHT0);
GLfloat planet_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat mat_amb_diff[] = {clr.redF(),clr.greenF(),clr.blueF(),1.0};
glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE,mat_amb_diff);
glMaterialfv(GL_FRONT, GL_SPECULAR, planet_specular);
glMateriali(GL_FRONT, GL_SHININESS, 128);