Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
42
Task/OpenGL/Racket/opengl.rkt
Normal file
42
Task/OpenGL/Racket/opengl.rkt
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
#lang racket/gui
|
||||
(require sgl/gl)
|
||||
|
||||
(define (resize w h)
|
||||
(glViewport 0 0 w h))
|
||||
|
||||
(define (draw-opengl)
|
||||
(glClearColor 0.0 0.0 0.0 0.0)
|
||||
(glClear GL_COLOR_BUFFER_BIT)
|
||||
|
||||
(glShadeModel GL_SMOOTH)
|
||||
|
||||
(glMatrixMode GL_PROJECTION)
|
||||
(glLoadIdentity)
|
||||
(glOrtho 0.0 1.0 0.0 1.0 -1.0 1.0)
|
||||
(glMatrixMode GL_MODELVIEW)
|
||||
(glLoadIdentity)
|
||||
|
||||
(glBegin GL_TRIANGLES)
|
||||
(glColor3f 1 0 0)
|
||||
(glVertex3d 0.25 0.25 0.0)
|
||||
(glColor3f 0 1 0)
|
||||
(glVertex3d 0.75 0.25 0.0)
|
||||
(glColor3f 0 0 1)
|
||||
(glVertex3d 0.75 0.75 0.0)
|
||||
(glEnd))
|
||||
|
||||
|
||||
(define my-canvas%
|
||||
(class* canvas% ()
|
||||
(inherit with-gl-context swap-gl-buffers)
|
||||
(define/override (on-paint)
|
||||
(with-gl-context (λ() (draw-opengl) (swap-gl-buffers))))
|
||||
(define/override (on-size width height)
|
||||
(with-gl-context (λ() (resize width height) (on-paint))))
|
||||
(super-instantiate () (style '(gl)))))
|
||||
|
||||
(define win (new frame% [label "Racket Rosetta Code OpenGL example"]
|
||||
[min-width 200] [min-height 200]))
|
||||
(define gl (new my-canvas% [parent win]))
|
||||
|
||||
(send win show #t)
|
||||
Loading…
Add table
Add a link
Reference in a new issue