- //*******************************************************************
 - procedure DrawScene;
 -   const ambient     : array[0..3] of GLFloat=(0.3,0.3,0.3,1);
 -         position1   : array[0..3] of GLFloat=(0.0,0.2,1.0,1);
 -         position2   : array[0..3] of GLFloat=(0.0,-0.2,1.0,1);
 -         direction1  : array[0..2] of GLFLoat=(0.0,0.0,-1.0);
 -         direction2  : array[0..2] of GLFLoat=(0.0,0.0,1.0);
 -         MatAMbient  : array[0..3] of GLFloat=(0.0,0.2,0.6,1.0);
 -         MatEmission : array[0..3] of GLFloat=(0.3,0.3,0.9,1.0);
 -   var lauf1    : integer;
 -       lauf2    : integer;
 -       lauf3    : integer;
 -       lauf4    : integer;
 -       lauf5    : integer;
 -       lauf6    : integer;
 -       lauf7    : integer;
 -       lauf8    : integer;
 -       lwd      : array[0..1] of glfloat;
 -       wdt      : glfloat;
 -       step     : glfloat;
 -       norm     : TPoint;
 -       Area     : TArea;
 -       logo     : boolean;
 - begin
 -    texture1 := auxDIBImageLoadA('granit.bmp');
 -    if not Assigned( texture1 ) then begin
 -      MessageBox(0,'Texturenpfad oder Dateiname falsch!'+#13+' Bitte den Pfad überprüfen!','Fehler beim Laden der Textur!',MB_OK or MB_ICONERROR);
 -    end;
 -    glGenTextures(1, tex);
 -    glBindTexture(GL_TEXTURE_2D, tex);
 -    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
 -    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
 -    glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1^.sizeX, texture1^.sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1^.data);
 -    glbindtexture(GL_Texture_2D,tex);
 -    logo:=true;
 -    glviewport(0,0,ebene.width,Ebene.height);
 -    glClearColor(0.6,0.6,0.6,1);
 -    glclear(GL_color_buffer_bit or gl_depth_buffer_bit);
 -    glenable(gl_texture);
 -    glMatrixMode(GL_PROJECTION);
 -    glEnable(GL_LIGHTING);
 -    glLightModelfv(GL_LIGHT_MODEL_AMBIENT,@Ambient);
 -    glLightModelf(GL_LIGHT_MODEL_TWO_SIDE,0.0);
 -    glLightModelf(GL_LIGHT_MODEL_LOCAL_VIEWER,1.0);
 -    glMaterialfv(GL_FRONT, GL_AMBIENT, @MatAmbient);
 -    glMaterialfv(GL_FRONT, GL_EMISSION,@MatEmission);
 -    glMaterialf(GL_FRONT, GL_SHININESS, 50);
 -    glEnable(GL_LIGHT0);
 -    glEnable(GL_LIGHT1);
 -    glLightfv(GL_LIGHT0,GL_AMBIENT,@Ambient);
 -    glLightfv(GL_LIGHT0,GL_POSITION,@Position1);
 -    glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,@Direction1);
 -    glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,90);
 -    glLightf(GL_LIGHT0,GL_SPOT_EXPONENT,10);
 -    glLightfv(GL_LIGHT1,GL_AMBIENT,@Ambient);
 -    glLightfv(GL_LIGHT1,GL_POSITION,@Position2);
 -    glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,@Direction2);
 -    glLightf(GL_LIGHT1,GL_SPOT_CUTOFF,90);
 -    glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,10);
 -    glgetfloatv(gl_line_width_range,@lwd);
 -    glgetfloatv(gl_line_width_granularity,@step);
 -    gllinewidth(lwd[1]/4);
 -    glbegin(gl_line_strip);
 -    glFrontFace(GL_CW);
 -    glcolor3f(1,1,1);
 -    glvertex3f(0,-0.2,0);
 -    glvertex3f(0,0.2,0);
 -    glend;
 -    glbegin(gl_line_strip);
 -    glFrontFace(GL_CW);
 -    glcolor3f(1,1,1);
 -    glvertex3f(-0.2,0,0);
 -    glvertex3f(0.2,0,0);
 -    glend;
 -    glbegin(gl_line_strip);
 -    glFrontFace(GL_CW);
 -    glcolor3f(1,1,1);
 -    glvertex3f(0,0,-0.2);
 -    glvertex3f(0,0,0.2);
 -    glend;
 -    glbegin(gl_triangle_strip);
 -    glFrontFace(GL_CW);
 -    glTexCoord2f(0,0);glvertex3f(d3x[1],d3y[1],d3z[1]);
 -    lauf7:=0;              
 -    lauf8:=BLINDEX[2];  
 -    for lauf1:=1 to BLMAX-1 do
 -      begin
 -        lauf3:=BLINDEX[lauf1];    
 -        lauf4:=BLINDEX[lauf1+1];  
 -        lauf5:=1;                
 -        lauf6:=0;                
 -        for lauf2:=2 to max(BLINDEX[lauf1],BLINDEX[lauf1+1]) do
 -          begin
 -            lauf5:=lauf5+1;
 -            if lauf5>lauf3 then
 -              lauf5:=lauf3;
 -            lauf6:=lauf6+1;
 -            if lauf6>lauf4 then
 -              lauf6:=lauf4;
 -            gltexcoord(1/1);glvertex3f(d3x[lauf8+lauf6],d3y[lauf8+lauf6],d3z[lauf8+lauf6]);  
 -            gltexcoord(0/0);glvertex3f(d3x[lauf7+lauf5],d3y[lauf7+lauf5],d3z[lauf7+lauf5]);  
 -            if logo then
 -              begin
 -                Area[1][1]:=d3x[lauf7+1];
 -                Area[1][2]:=d3y[lauf7+1];
 -                Area[1][3]:=d3z[lauf7+1];
 -                Area[2][1]:=d3x[lauf7+lauf5];
 -                Area[2][2]:=d3y[lauf7+lauf5];
 -                Area[2][3]:=d3z[lauf7+lauf5];
 -                Area[3][1]:=d3x[lauf8+lauf6];
 -                Area[3][2]:=d3y[lauf8+lauf6];
 -                Area[3][3]:=d3z[lauf8+lauf6];
 -                logo:=false;
 -              end else begin
 -                Area[3][1]:=d3x[lauf8+lauf6-1];
 -                Area[3][2]:=d3y[lauf8+lauf6-1];
 -                Area[3][3]:=d3z[lauf8+lauf6-1];
 -                Area[2][1]:=d3x[lauf7+lauf5];
 -                Area[2][2]:=d3y[lauf7+lauf5];
 -                Area[2][3]:=d3z[lauf7+lauf5];
 -                Area[3][1]:=d3x[lauf8+lauf6];
 -                Area[3][2]:=d3y[lauf8+lauf6];
 -                Area[3][3]:=d3z[lauf8+lauf6];
 -              end;
 -            norm:=GetNormal(Area);
 -            glnormal3f(norm[1],norm[2],norm[3]);
 -          end;
 -        glend;
 -        glbegin(gl_line_strip);
 -        glFrontFace(GL_CCW);
 -        gllinewidth(lwd[1]/2);
 -        glcolor3f(1.0,0.0,0.0);
 -        glvertex3f(d3x[lauf7+1],d3y[lauf7+1],d3z[lauf7+1]);
 -        glvertex3f(ax[lauf7+1],ay[lauf7+1],d3z[lauf7+1]);
 -        glcolor3f(0.5,0.5,0.0);
 -        glvertex3f(E3X[lauf8],E3Y[lauf8],E3Z[lauf8]);
 -        glend;
 -        glbegin(gl_triangle_strip);
 -        glFrontFace(GL_CW);
 -        lauf8:=lauf8+BLINDEX[lauf1+1];
 -        lauf7:=lauf7+BLINDEX[lauf1];
 -        logo:=true;
 -        glTexCoord2f(0,0);glvertex3f(d3x[lauf7+1],d3y[lauf7+1],d3z[lauf7+1]);
 -      end;
 -    glend;
 -    swapbuffers(DC);
 -  end;
 - //*******************************************************************
 
