Skip to content

Problem with contexts in Windows. #20

Description

@LeifAndersen

The follow program will not work in windows:

#lang at-exp racket/base

(provide video-canvas%)
(require opengl
         racket/class
         racket/gui/base)

(define video-canvas%
  (class canvas%
    (super-new [style '(gl no-autoclear)])
    (send this with-gl-context
          (λ ()
            (glGetString GL_VERSION)))))

(define f (new frame% [label "test"]))
(define c (new video-canvas%
               [parent f]))

I get the error:

OpenGL procedure not available: glGetString
  context...:
   C:\Users\Leif Andersen\AppData\Roaming\Racket\snapshot\pkgs\opengl\opengl\main.rkt:74:7
   C:\Program Files\Racket-6.10.0.1\collects\racket\contract\private\arrow-val-first.rkt:357:18
   C:\Program Files\Racket-6.10.0.1\collects\racket\private\class-internal.rkt:3553:0: continue-make-object
   C:\Program Files\Racket-6.10.0.1\collects\racket\private\class-internal.rkt:3507:0: do-make-object
   C:\Users\Leif Andersen\Documents\GitHub\video\video\private\video-canvas.rkt: [running body]

However, when I switch the (require opengl) line to (require sgl/gl), it now works. And I when I display the resulting version I get:

4.5.0 NVIDIA 382.05

This makes me think it is a problem with the opengl bindings in this package, rather than a bug in the context created by Racket.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions