OpenGL
Guia rapida de OpenGL para Linux

 




Translada un poligono.
glTranslatef( posX, posY, posZ );

Pinta el frame buffer del color indicado.

glClearColor( Red,Green,Blue,Alpha);
Indica el color de los objetos o poligonos.

glColor3f( Red,Green,Blue);


Indica el grosor de los pixeles en un poligono.

 glPointSize( Float);
Crea la normal de un poligono.

 glNormal3f( X,Y,Z );

 glBegin ( GL_POLYGON ) ; 
    glNormal3f ( CoordX, CoordY, CoordZ ) ; 
    glVertex3f ( ... ) ; 
    glVertex3f ( ... ) ; 
    glVertex3f ( ... ) ; 
    glVertex3f ( ... ) ; 
    ... 
glEnd( ) ;


Tambíen.

 glBegin ( GL_POLYGON ) ; 
    glNormal3f ( CoordX, CoordY, CoordZ ) ; 
    glVertex3f ( ... ) ; 
    glNormal3f ( CoordX, CoordY, CoordZ ) ; 
    glVertex3f ( ... ) ; 
    glNormal3f ( CoordX, CoordY, CoordZ ) ; 
    glVertex3f ( ... ) ; 
    glNormal3f ( CoordX, CoordY, CoordZ ) ; 
    glVertex3f ( ... ) ; 
    ... 
glEnd( ) ;
Normalizacion automatica.
 
glEnable ( GL_NORMALIZE ) ; 
glDisable ( GL_NORMALIZE ) ;   

Funciones basicas de OpenGL.

glutMouseFunc( Función de control eventos con el ratón );
glutMotionFunc( .Función de control eventos de movimiento del ratón );
glutReshapeFunc(.Función de control del cambio de tamaño de la ventana de visualización ); glutKeyboardFunc(Función de control eventos con el teclado );
glutDisplayFunc( Función de control del render );
glutIdleFunc(Función que se activa cuando no hacemos NADA );
Intercabia los frame buffers.

glutSwapBuffers( );


Crea un tipo de camara.

gluPerspective( field of view,aspect ratio, z_near,z_far);
    O
glFrustrum(x_min, x_max, y_min, y_max, z_min, z_max);

Pinta solo una las cara de un lado .

 glCullFace(GLenum modo);

 GLenum modo.
 GL_FRONT,No pintar las caras frontales.
 GL_BACK,No pintar las caras traseras.
 GL_FRONT_AND_BACK, No pintar caras.

 glEnable(GL_CULL_FACE); 
 glDisble(GL_CULL_FACE);

Da propiedades de material a un poligono

 glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) ;
  
GLenum face                           GLenum pname                                      const GLfloat *params
GL_FRONT                              GL_DIFFUSE                                                ( R, G, B, 1.0 )
GL_BACK                                GL_AMBIENT                                              ( R, G, B, 1.0 )
GL_FRONT_AND_BACK      GL_AMBIENT_AND_DIFFUSE                ( R, G, B, 1.0 )
                                                   GL_EMISSION                                              ( R, G, B, 1.0 )
                                                   GL_SPECULAR                                             ( R, G, B, 1.0 )
                                                   GL_SHININESS                                              [ 0, 128 ]

GLfloat DIFUSA[]={Red,Green,Blue,Alpha};
GLfloat AMBIENTE[]={Red,Green,Blue,Alpha};
GLfloat EMISION[]={Red,Green,Blue,Alpha};
GLfloat SPECULA[]={Red,Green,Blue,Alpha};

 glMaterialfv (GL_FRONT  ,GL_DIFFUSE , DIFUSA ) ;
 glMaterialfv (GL_FRONT  ,GL_AMBIENT , AMBIENTE ) ;
 glMaterialfv (GL_FRONT  ,GL_EMISSION , EMISION );
 glMaterialfv (GL_FRONT  ,GL_SPECULAR , SPECULA );

Luces.

glEnable (Lightname ) ;  /Actiba una lu
glDisable (Lightname ) ; /Desactiba una luz


Para actibar o desactibar el motor de las luces.

glEnable ( GL_LIGHTING ) ; 
glDisable ( GL_LIGHTING ) ;


Propiedades de las luces.

glLightfv ( GLenum light, GLenum pname, const GLfloat*params ) ;

 
 glLightfv ( GLenum light, GL_AMBIENT, const GLfloat *params ) ;
 glLightfv ( GLenum light, GL_DIFFUSE, const GLfloat *params ) ;
 glLightfv ( GLenum light, GL_SPECULAR, const GLfloat *params ) ;
 glLightfv ( GLenum light, GL_POSITION, const GLfloat *params ) ;

 
 glLightf ( GL_LIGHT5, GL_CONSTANT_ATTENUATION, float ) ; 
 glLightf ( GL_LIGHT5, GL_LINEAR_ATTENUATION, float) ; 
 glLightf ( GL_LIGHT5, GL_QUADRATIC_ATTENUATION, float ) ;

 glLightfv(GL_LIGHT5, GL_SPOT_DIRECTION, spot_direction);
 glLightf(GL_LIGHT5, GL_SPOT_CUTOFF, Angle);
 glLightf(GL_LIGHT5, GL_SPOT_EXPONENT, (0 to 128));





GLfloat AMBIENT[]={0.5,0.5,0.5,0.0};
GLfloat DIFFUSE[]={0.3,0.3,0.3,0.0};
GLfloat SPECULAR[]={0.2,0.2,0.2,0.2};
GLfloat POSITION[]={0.0,20.100,0.0};

GLfloat spot_direction[] = { 0.0, -1.0, 0.0 };


  glLightfv (GL_LIGHT5, GL_AMBIENT,AMBIENT ) ;
  glLightfv (GL_LIGHT5 , GL_DIFFUSE,DIFFUSE ) ;
  glLightfv (GL_LIGHT5 , GL_SPECULAR,SPECULAR) ;
  glLightfv (GL_LIGHT5 , GL_POSITION, POSITION ) ;
  glLightf ( GL_LIGHT5, GL_CONSTANT_ATTENUATION, 0.8 ) ; 
  glLightf ( GL_LIGHT5, GL_LINEAR_ATTENUATION, 0.5 ) ; 
  glLightf ( GL_LIGHT5, GL_QUADRATIC_ATTENUATION, 0.6 ) ;


 glLightfv(GL_LIGHT5, GL_SPOT_DIRECTION, spot_direction);
 glLightf(GL_LIGHT5, GL_SPOT_CUTOFF, 45.0);
 glLightf(GL_LIGHT5, GL_SPOT_EXPONENT, 2.0);
 
 glEnable ( GL_LIGHT5 ) ; 
 glEnable ( GL_LIGHTING ) ;
  


    sello
Http:\\www.sorgonet.com