Основы компьютерной графики для программистов. Казанцев А.В. - 82 стр.

UptoLike

Составители: 

Основы компьютерной графики для программистов 82
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
if CBColorMaterial.Checked then//учет свойств материала
glEnable(GL_COLOR_MATERIAL)
else
glDisable(GL_COLOR_MATERIAL);
if CBoxLightOn.Checked then
begin
//включаем свет
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, @lmodel_ambient);
//источники данных для параметров освещения
glLightfv(GL_LIGHT0, GL_AMBIENT, @ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, @diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, @Specular);
end
else
begin
glDisable(GL_LIGHTING);
glDisable(GL_LIGHT0);
end;
//
способ зеркальной освещенности
if CBoxLockViewer.Checked then
//зеркально - в направлении наблюдателя, а не параллельно
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, @glTrue) //1.0
else
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, @glFalse);//0.0
//двусторонний/односторонний рендеринг
if CBoxDoubSided.Checked then
//
не 0 - двусторонний рендеринг
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1)
else
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
//Материал объектов сцены
glMaterialfv(GL_FRONT,GL_AMBIENT,@fr_Mat_Amb);
glMaterialfv(GL_FRONT,GL_DIFFUSE,@fr_Mat_Diff);
glMaterialfv(GL_FRONT,GL_SHININESS,@fr_Mat_Shine);
glMaterialfv(GL_FRONT,GL_SPECULAR,@fr_Mat_Spec);
glMaterialfv(GL_FRONT,GL_EMISSION,@fr_Mat_Emit);
glMaterialfv(GL_BACK,GL_AMBIENT,@back_Mat_Amb);
glMaterialfv(GL_BACK,GL_DIFFUSE,@back_Mat_Diff);
glMaterialfv(GL_BACK,GL_SHININESS,@back_Mat_Shine);
glMaterialfv(GL_BACK,GL_SPECULAR,@back_Mat_Spec);
glMaterialfv(GL_BACK,GL_EMISSION,@back_Mat_Emit);
end;//procedure TfrmGL.SetUpCommons;
Основы компьютерной графики для программистов                                                                  82
____________________________________________________________________________________________________________________



if CBColorMaterial.Checked then//учет свойств материала
            glEnable(GL_COLOR_MATERIAL)
else
           glDisable(GL_COLOR_MATERIAL);
if        CBoxLightOn.Checked then
     begin
     //включаем свет
       glEnable(GL_LIGHTING);
       glEnable(GL_LIGHT0);
         glLightModelfv(GL_LIGHT_MODEL_AMBIENT, @lmodel_ambient);
     //источники данных для параметров освещения
     glLightfv(GL_LIGHT0, GL_AMBIENT, @ambient);
     glLightfv(GL_LIGHT0, GL_DIFFUSE, @diffuse);
     glLightfv(GL_LIGHT0, GL_SPECULAR, @Specular);
     end
     else
     begin
       glDisable(GL_LIGHTING);
       glDisable(GL_LIGHT0);
         end;
//способ зеркальной освещенности
if CBoxLockViewer.Checked then
      //зеркально - в направлении наблюдателя, а не параллельно
      glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, @glTrue) //1.0
      else
glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, @glFalse);//0.0
//двусторонний/односторонний рендеринг
if CBoxDoubSided.Checked then
   //не 0 - двусторонний рендеринг
   glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1)
      else
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
//Материал объектов сцены
     glMaterialfv(GL_FRONT,GL_AMBIENT,@fr_Mat_Amb);
     glMaterialfv(GL_FRONT,GL_DIFFUSE,@fr_Mat_Diff);
     glMaterialfv(GL_FRONT,GL_SHININESS,@fr_Mat_Shine);
     glMaterialfv(GL_FRONT,GL_SPECULAR,@fr_Mat_Spec);
     glMaterialfv(GL_FRONT,GL_EMISSION,@fr_Mat_Emit);

     glMaterialfv(GL_BACK,GL_AMBIENT,@back_Mat_Amb);
     glMaterialfv(GL_BACK,GL_DIFFUSE,@back_Mat_Diff);
     glMaterialfv(GL_BACK,GL_SHININESS,@back_Mat_Shine);
     glMaterialfv(GL_BACK,GL_SPECULAR,@back_Mat_Spec);
     glMaterialfv(GL_BACK,GL_EMISSION,@back_Mat_Emit);

end;//procedure TfrmGL.SetUpCommons;



http://www.ksu.ru/persons/9134.ru.html