.


:




:

































 

 

 

 


:




Quadric- , .

gluQuadricDrawStyle (SphereObj, GLU_FILL)

gluQuadricDrawStyle (SphereObj, GLU_LINE) ;

 

, OpenGL, . , :

 

glBegin(GL_LINES).

 

, . , .

 

glPolygonMode(

GLEnum face,

GLEnum mode)

 

mode [15]:

 

GL_POINT , . GL_POINT_SMOOTH.
GL_LINE . (GL_LINE_WIDTH) (GL_LINE_SMOOTH).
GL_FILL . (GL_POLYGON_SMOOTH).

face , , mode:

 

GL_FRONT ;

GL_BACK ;

GL_FRONT_AND_BACK .

 

SetupCommpns.

 

procedure TfrmGL.SetUpCommons;

const

LC = 53.0;

begin

glMatrixMode(GL_PROJECTION);

glLoadIdentity;

 

Case RGProj.ItemIndex of

0: glOrtho (-LC,LC,-Panel1.height/Panel1.width*LC,

Panel1.height/Panel1.width*LC, 3, 1000);

 

1: glFrustum (-1,1,-Panel1.height/Panel1.width,

Panel1.height/Panel1.width, 3, 1000); //

end;//case

//

if CBAlphaTest.Checked then

glEnable(GL_ALPHA_TEST)

else

glDisable(GL_ALPHA_TEST);

//

if CBBlending.Checked then

begin

glEnable(GL_BLEND);

glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

end

else

glDisable(GL_BLEND);

//

Case RGFlatSm.ItemIndex of

0: glShadeModel(GL_FLAT);

1: glShadeModel(GL_SMOOTH);

end;//case

Case RGVisEdges.ItemIndex of

0:begin

glEnable(GL_CULL_FACE);

glCullFace(GL_BACK);

end;

1:begin

glEnable(GL_CULL_FACE);

glCullFace(GL_FRONT);

end;

2:begin glDisable(GL_CULL_FACE)end;

end;//case

//

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;






:


: 2016-10-30; !; : 392 |


:

:

, - , ; , - .
==> ...

1418 - | 1446 -


© 2015-2024 lektsii.org - -

: 0.01 .