Fortran 使用 opengl 例子

program simple
!******************************************************************************
!*       This is a part of the Microsoft Source Code Samples. 
!*       Copyright (C) 1993 Microsoft Corporation.
!*       All rights reserved. 
!*       This source code is only intended as a supplement to 
!*       Microsoft Development Tools and/or WinHelp documentation.
!*       See these sources for detailed information regarding the 
!*       Microsoft samples programs.
!******************************************************************************
!/*
! *  simple.f90
! */

integer(4)      ret
integer(2)      pattern

    
call fauxInitDisplayMode (IOR(AUX_SINGLE , AUX_RGB))
    
call fauxInitPosition (0, 0, 500, 500)
    ret = fauxInitWindow (
"Simple OpengGL Sample"C)

    
call fglClearColor (0.0, 0.0, 0.0, 0.0)
    
call fglClear(GL_COLOR_BUFFER_BIT)
    
call fglColor3f(1.0, 1.0, 1.0)
    
call fglMatrixMode (GL_PROJECTION)
    
call fglLoadIdentity ()
    
call fglOrtho(DBLE(-1.0), DBLE(1.0), DBLE(-1.0), DBLE(1.0), DBLE(-1.0), DBLE(1.0))

    
!
    ! Drawing points
    !

        
    
call fglBegin(GL_POINTS)
        
! Red 
        
call fglColor3f (1.0, 0.0, 0.0)
        
call fglVertex2f(-0.1, -0.1)

        
! Green 
        
call fglColor3f (0.0, 1.0, 1.0)
        
call fglVertex2f(0.0, 0.1)

        
! Blue 
        
call fglColor3f (0.0, 0.0, 1.0)
        
call fglVertex2f(0.1, 0.0)

        
! Yellow
        
call fglColor3f (1.0, 1.0, 0.0)
        
call fglVertex2f(0.1, 0.1)

        
! Cyan
        
call fglColor3f (0.0, 1.0, 1.0)
        
call fglVertex2f(0.0, -0.1)

        
! Magenta
        
call fglColor3f (1.0, 0.0, 1.0)
        
call fglVertex2f(-0.1, 0.0)

        
! White
        
call fglColor3f (1.0, 1.0, 1.0)
        
call fglVertex2f(0.1, -0.1)

        
! White
        
call fglColor3f (1.0, 1.0, 1.0)
        
call fglVertex2f(-0.1, 0.1)


    
call fglEnd()

    
call fglFlush()

    
call sleep (2000)
    
call fglClear(GL_COLOR_BUFFER_BIT)

    pattern = 
INT2(#3f07)
    
call fglLineStipple ( 3, pattern)
    
call fglEnable (GL_LINE_STIPPLE)                        

    
call fglBegin(GL_LINES)
        
call fglVertex2f(-0.5, 0.75)
        
call fglVertex2f(0.5, 0.75)
    
call fglEnd()

    
call fglDisable (GL_LINE_STIPPLE)                        

    
call fglLineWidth (1)

    
call fglBegin(GL_LINES)
        
call fglColor3f (1.0, 1.0, 0.0)
        
call fglVertex2f(-0.5, 0.5)
        
call fglVertex2f(0.5, 0.5)

        
call fglColor3f (1.0, 0.0, 0.0)
        
call fglVertex2f(-0.5, 0.25)
        
call fglVertex2f(0.5, 0.25)

    
call fglEnd()
    
call fglFlush()

    
call sleep (2000)
    
call fglClear(GL_COLOR_BUFFER_BIT)
    
    
call fglColor3f (1.0, 0.0, 1.0)

    
call fglBegin(GL_POLYGON)
        
call fglVertex2f(-0.25, -0.25)
        
call fglVertex2f(-0.25, 0.5)
        
call fglVertex2f(0.5, 0.5)
        
call fglVertex2f(0.5, -0.25)
    
call fglEnd()
    
call fglFlush()
    
call sleep (2000)
    
call fglClear(GL_COLOR_BUFFER_BIT)

    
! Triangles
    
call fglColor3f (0.0, 0.0, 1.0)

    
call fglBegin(GL_TRIANGLE_FAN)
        
call fglVertex2f(-0.25, 0.5)
        
call fglVertex2f(0.75, 0.125)
        
call fglVertex2f(0.5, 0.5)
    
call fglEnd()
    
call fglFlush()
    
call sleep (2000)
    
call fglClear(GL_COLOR_BUFFER_BIT)
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueliang2100

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值