! GLUT Fortran 90 program to draw red light sphere.
subroutine display
use opengl_gl
use opengl_glut
call glclear(GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT)
call glcalllist(1 )
call glutswapbuffers
end
subroutine gfxinit
use opengl_gl
use opengl_glu
use opengl_glut
real (glfloat) :: diffuse(4 ) = (/1 .0 , 0 .0 , 0 .0 , 1 .0 /), &
pos(4 ) = (/1 .0 , 1 .0 , 1 .0 , 0 .0 /)
call glnewlist(1 , GL_COMPILE)
call glutsolidsphere(1 .0 _gldouble, 20 , 20 )
call glendlist
call gllightfv(GL_LIGHT0, GL_DIFFUSE, diffuse)
call gllightfv(GL_LIGHT0, GL_POSITION, pos)
call glenable(GL_LIGHTING)
call glenable(GL_LIGHT0)
call glenable(GL_DEPTH_TEST)
call glmatrixmode(GL_PROJECTION)
call gluperspective(40 .0 _gldouble, 1 .0 _gldouble, &
1 .0 _gldouble, 10 .0 _gldouble)
call glmatrixmode(GL_MODELVIEW)
call glulookat( &
0 .0 _gldouble, 0 .0 _gldouble, 5 .0 _gldouble, &
0 .0 _gldouble, 0 .0 _gldouble, 0 .0 _gldouble, &
0 .0 _gldouble, 1 .0 _gldouble, 1 .0 _gldouble)
call gltranslatef(0 .0 , 0 .0 , -1 .0 )
end
program main
use opengl_glut
interface
subroutine display()
end subroutine display
end interface
call glutinit
call glutinitdisplaymode(GLUT_DOUBLE+GLUT_RGB+GLUT_DEPTH)
i = glutcreatewindow('Fortran GLUT sphere' )
call gfxinit
call glutdisplayfunc(display)
call glutmainloop
end
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet am 2026-06-05)
¤
*© Formatika GbR, Deutschland