glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);/
GLfloat _ambient[]={1,1,1,0};//环境光
GLfloat _diffuse[]={1,1,1,0};//漫反射光
GLfloat _specular[]={0,0,0,0};//镜面光
GLfloat _position[]={0,0,1000,0}; //光源位置坐标
GLfloat mat_ambient[]={1,0,0,0};
GLfloat mat_diffuse[]={1,0,0,0};
GLfloat mat_specular[] = {0,0,0,1};
GLfloat mat_shininess[]={100};GLfloat ambientLight[]={0.2,0.2,0.2,1};glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT_AND_BACK,GL_SHININESS, mat_shininess); glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLight); glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_CONTROL);glLightfv(GL_LIGHT0,GL_AMBIENT,_ambient);//环境光
glLightfv(GL_LIGHT0,GL_DIFFUSE,_diffuse);//漫反射光
glLightfv(GL_LIGHT0,GL_SPECULAR,_specular);//镜面光
glLightfv(GL_LIGHT0,GL_POSITION,_position);//光源位置坐标
环境/漫反 镜面 和 材质的 环境光 漫反 镜面
混乱了不知道怎么下手总是 一片 红 要么一片绿 或者旋转时 一会儿一片红 一会儿一片绿如果要是 设置 一个 绿色的球 白色光照到上面 有立体感 该怎么设置 光照的 环境/漫反 镜面 和 材质的 环境漫反 镜面 ?
glEnable(GL_LIGHT0);/
GLfloat _ambient[]={1,1,1,0};//环境光
GLfloat _diffuse[]={1,1,1,0};//漫反射光
GLfloat _specular[]={0,0,0,0};//镜面光
GLfloat _position[]={0,0,1000,0}; //光源位置坐标
GLfloat mat_ambient[]={1,0,0,0};
GLfloat mat_diffuse[]={1,0,0,0};
GLfloat mat_specular[] = {0,0,0,1};
GLfloat mat_shininess[]={100};GLfloat ambientLight[]={0.2,0.2,0.2,1};glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT_AND_BACK,GL_SHININESS, mat_shininess); glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLight); glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_CONTROL);glLightfv(GL_LIGHT0,GL_AMBIENT,_ambient);//环境光
glLightfv(GL_LIGHT0,GL_DIFFUSE,_diffuse);//漫反射光
glLightfv(GL_LIGHT0,GL_SPECULAR,_specular);//镜面光
glLightfv(GL_LIGHT0,GL_POSITION,_position);//光源位置坐标
环境/漫反 镜面 和 材质的 环境光 漫反 镜面
混乱了不知道怎么下手总是 一片 红 要么一片绿 或者旋转时 一会儿一片红 一会儿一片绿如果要是 设置 一个 绿色的球 白色光照到上面 有立体感 该怎么设置 光照的 环境/漫反 镜面 和 材质的 环境漫反 镜面 ?
GLfloat mat_diffuse[]={1,0,0,0};
GLfloat mat_specular[] = {0,0,0,1};
GLfloat mat_shininess[]={100};
你设置的材质是红色和黑色,可以都设置成0,1,0,镜面材质也设置成0,1,0
朝向光源的会绿色更多一点
GL_LIGHT_MODEL_COLOR_CONTROL是和纹理有关的光照计算,好像1.2以上才支持,而且和显卡有关