VW7.9 OpenGL problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

VW7.9 OpenGL problem

askoh
Administrator
I am using
HP Pavillion dv6z Quad Ed
Win 7 64 bit
VW7.9 64 bit
Launch virgin image.
Click/System/Parcel Manager/
Load OpenGL-Lessons
Doit
OpenGL.Lessons.Lesson00RenderContext new demo
and I get exception below.

Thanks in advance,
Aik-Siong Koh



Unhandled exception: External access failed
WGL.WGLInterface(ExternalInterface)>>externalAccessFailedWith:
WGL.RenderContextWin32Pixmap>>initializeHDC
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initializeContext
WGL.RenderContextWin32Pixmap(OpenGL.RenderContext)>>initialize:
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initialize:
OpenGL.RenderContext class>>on:
OpenGL.Lessons.Lesson00RenderContext>>demo
OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:arguments:
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:
TextEditorController>>evaluateCompiled:
optimized [] in TextEditorController>>evaluateSelection
BlockClosure>>ensure:
Cursor>>showWhile:
TextEditorController>>evaluateSelection
optimized [] in TextEditorController>>doIt
BlockClosure>>on:do:
TextEditorController>>doIt
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserTextTool)>>doIt
Refactory.Browser.RBCommand>>perform:on:
Refactory.Browser.RBCommand>>performWith:
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>performAction:
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>action:
optimized [] in Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
TextEditorController>>dispatchBlockClosure:
TextEditorController>>dispatchMenuSelection:
TextEditorController(ControllerWithMenu)>>processMenu:at:centered:
TextEditorController(ControllerWithMenu)>>processMenuAt:centered:
TextEditorController(ControllerWithMenu)>>yellowButtonPressedEvent:
TextEditorController>>yellowButtonPressedEvent:
YellowButtonPressedEvent>>dispatchTo:
TextEditorController(ControllerWithMenu)>>handleEvent:
EventDispatcher>>dispatch:to:
EventDispatcher>>dispatchEvent:
YellowButtonPressedEvent(Event)>>dispatch
YellowButtonPressedEvent(Event)>>dispatchForWindowManager:
optimized [] in WindowManager>>safelyDispatchForWindowManager:
BlockClosure>>on:do:
WindowManager>>safelyDispatchForWindowManager:
WindowManager>>processNextEvent
optimized [] in [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
WGL.WGLInterface(ExternalInterface)>>externalAccessFailedWith:
Receiver:
        a WGL.WGLInterface
Arguments:
        errorCode = 298
Temporaries:
        errorString = nil
Context PC = 44

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap>>initializeHDC
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Temporaries:
        hBitmap = 0
        success = 0
Context PC = 27

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initializeContext
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Context PC = 4

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(OpenGL.RenderContext)>>initialize:
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Arguments:
        aView = a Pixmap
Context PC = 6

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initialize:
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Arguments:
        aView = a Pixmap
Context PC = 10

----------------------------------------------------------------------
OpenGL.RenderContext class>>on:
Receiver:
        a OpenGL.RenderContext class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[24]
        format = 16393
        subclasses = an Array[3]
        instanceVariables = an Array[9]
        organization = ('accessing' #bounds #extensions #program #program: #renderer #vendor #version #view)
('private' #activateContext #assignTextureUnitTo: #deactivateContext #leastUsedTextureUnit #resetProgram #resetTextures)
('initialize-release' #initialize: #initializeContext #initializeInterface #initializeParameters #on:)
('api' #activate #deactivate #flush #resize #whileCurrentDo:)

        name = #RenderContext
        classPool = a NameSpaceOfClass[1]
        environment = a NameSpace[34]
Arguments:
        aView = a Pixmap
Context PC = 8

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext>>demo
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext
Instance Variables:
        isRunning = nil
        window = a ScheduledWindow nil
        context = a WGL.RenderContextWin32Image
        renderJob = nil
        resizeJob = nil
        idleJob = nil
Temporaries:
        pixmap = a Pixmap
        image = Depth32Image(extent: 1 @ 1 depth: 32)
Context PC = 69

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Context PC = 4

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:arguments:
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Arguments:
        method = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
        args = an Array[0]
Context PC = 5

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Arguments:
        method = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
Context PC = 5

----------------------------------------------------------------------
TextEditorController>>evaluateCompiled:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aMethod = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
Temporaries:
        context = nil
Context PC = 13

----------------------------------------------------------------------
optimized [] in TextEditorController>>evaluateSelection
Receiver:
        an UndefinedObject
Temporaries:
        .self = a TextEditorController
        .code = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
Context PC = 7

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in TextEditorController>>evaluateSelection
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        aBlock = BlockClosure [] in Cursor>>showWhile:
Temporaries:
        result = nil
Context PC = 4

----------------------------------------------------------------------
Cursor>>showWhile:
Receiver:
        a Cursor
Instance Variables:
        errorCode = 0
        handle = 4
        image = Depth1Image(extent: 16 @ 16 depth: 1)
        mask = Depth1Image(extent: 16 @ 16 depth: 1)
        hotSpot = 1 @ 1
        name = 'xeq'
Arguments:
        aBlock = BlockClosure [] in TextEditorController>>evaluateSelection
Temporaries:
        oldcursor = Cursor normal
Context PC = 23

----------------------------------------------------------------------
TextEditorController>>evaluateSelection
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Temporaries:
        code = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
        result = nil
Context PC = 14

----------------------------------------------------------------------
optimized [] in TextEditorController>>doIt
Receiver:
        an UndefinedObject
Temporaries:
        .self = a TextEditorController
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in TextEditorController>>doIt
        outerContext = nil
        copiedValues = a TextEditorController
Arguments:
        anExceptionSelector = CompilationError
        handlerBlock = BlockClosure [] in TextEditorController>>doIt
Context PC = 18

----------------------------------------------------------------------
TextEditorController>>doIt
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Context PC = 20

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserTextTool)>>doIt
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Context PC = 5

----------------------------------------------------------------------
Refactory.Browser.RBCommand>>perform:on:
Receiver:
        a Refactory.Browser.RBCommand
Instance Variables:
        name = an UserMessage('Do It', #DoIt, #browser)
        description = an UserMessage('Execute the selected text', #DoItDesc, #browser)
        action = #doIt
        enabled = nil
        receiver = #activeTool
Arguments:
        aSymbol = #doIt
        anObject = a Refactory.Browser.BrowserCommentTool
Context PC = 9

----------------------------------------------------------------------
Refactory.Browser.RBCommand>>performWith:
Receiver:
        a Refactory.Browser.RBCommand
Instance Variables:
        name = an UserMessage('Do It', #DoIt, #browser)
        description = an UserMessage('Execute the selected text', #DoItDesc, #browser)
        action = #doIt
        enabled = nil
        receiver = #activeTool
Arguments:
        anObject = a Refactory.Browser.RBActionDispatcher
Context PC = 14

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>performAction:
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Arguments:
        aString = 'Do It'
Temporaries:
        action = Do It
Context PC = 11

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>action:
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Arguments:
        aMenuItem = a MenuItem 'Do it'
Context PC = 8

----------------------------------------------------------------------
optimized [] in Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Receiver:
        an UndefinedObject
Temporaries:
        .self = a Refactory.Browser.BrowserCommentTool
        .newItem = a MenuItem 'Do it'
Context PC = 7

----------------------------------------------------------------------
TextEditorController>>dispatchBlockClosure:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aBlock = BlockClosure [] in Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Temporaries:
        na = 0
Context PC = 11

----------------------------------------------------------------------
TextEditorController>>dispatchMenuSelection:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        menuSelection = BlockClosure [] in Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Context PC = 45

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>processMenu:at:centered:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aMenu = a Menu
        aPoint = 37 @ 461
        centered = true
Temporaries:
        valueResult = a MenuItem 'Do it'
Context PC = 41

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>processMenuAt:centered:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aPoint = 37 @ 461
        centered = true
Context PC = 9

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>yellowButtonPressedEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        event = a YellowButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
TextEditorController>>yellowButtonPressedEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        anEvent = a YellowButtonPressedEvent
Context PC = 18

----------------------------------------------------------------------
YellowButtonPressedEvent>>dispatchTo:
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Arguments:
        anObject = a TextEditorController
Context PC = 4

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>handleEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and the gl variable do. The RenderContext represents an OpenGL rendering context for a window, an image or a pixmap. The gl variable gets switched each time you activate a context to render. By running this demo, you''ll see that the rendering engine the operating system gives you can differ based on whether we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        anEvent = a YellowButtonPressedEvent
Context PC = 38

----------------------------------------------------------------------
EventDispatcher>>dispatch:to:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a YellowButtonPressedEvent
        object = a TextEditorController
Temporaries:
        tmp = nil
Context PC = 10

----------------------------------------------------------------------
EventDispatcher>>dispatchEvent:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a YellowButtonPressedEvent
Temporaries:
        objectWantingControl = a TextEditorController
        targetKeyboardProcessor = nil
Context PC = 130

----------------------------------------------------------------------
YellowButtonPressedEvent(Event)>>dispatch
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Context PC = 16

----------------------------------------------------------------------
YellowButtonPressedEvent(Event)>>dispatchForWindowManager:
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Arguments:
        aWinMgr = a WindowManager
Context PC = 4

----------------------------------------------------------------------
optimized [] in WindowManager>>safelyDispatchForWindowManager:
Receiver:
        an UndefinedObject
Temporaries:
        .event = a YellowButtonPressedEvent
        .self = a WindowManager
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        anExceptionSelector = BadControllerError
        handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager:
Context PC = 18

----------------------------------------------------------------------
WindowManager>>safelyDispatchForWindowManager:
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>waitIfCurtailedSignal
        dontFilterEvents = false
Arguments:
        event = a YellowButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
WindowManager>>processNextEvent
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>waitIfCurtailedSignal
        dontFilterEvents = false
Temporaries:
        event = a YellowButtonPressedEvent
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .self = a WindowManager
Context PC = 13

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
Context PC = 18

----------------------------------------------------------------------
optimized [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .self = a WindowManager
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in WindowManager>>newProcess
Context PC = 9
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

Jon Paynter-2
Usually that means you dont have a Compatible openGL driver installed.
Can you run any 3d games on your system?
Also - try getting the latest video drivers from HP.

Lastly - I found the examples are buggy at best when you have an ATI card in your system.
Stuff like this gives me a lot more respect for game developers when they are able to handle all this wierdness behind the scenes.

On Sat, Jul 14, 2012 at 7:47 PM, askoh <[hidden email]> wrote:
I am using
HP Pavillion dv6z Quad Ed
Win 7 64 bit
VW7.9 64 bit
Launch virgin image.
Click/System/Parcel Manager/
Load OpenGL-Lessons
Doit
OpenGL.Lessons.Lesson00RenderContext new demo
and I get exception below.

Thanks in advance,
Aik-Siong Koh



Unhandled exception: External access failed
WGL.WGLInterface(ExternalInterface)>>externalAccessFailedWith:
WGL.RenderContextWin32Pixmap>>initializeHDC
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initializeContext
WGL.RenderContextWin32Pixmap(OpenGL.RenderContext)>>initialize:
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initialize:
OpenGL.RenderContext class>>on:
OpenGL.Lessons.Lesson00RenderContext>>demo
OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:arguments:
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:
TextEditorController>>evaluateCompiled:
optimized [] in TextEditorController>>evaluateSelection
BlockClosure>>ensure:
Cursor>>showWhile:
TextEditorController>>evaluateSelection
optimized [] in TextEditorController>>doIt
BlockClosure>>on:do:
TextEditorController>>doIt
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserTextTool)>>doIt
Refactory.Browser.RBCommand>>perform:on:
Refactory.Browser.RBCommand>>performWith:
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>performAction:
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>action:
optimized [] in
Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
TextEditorController>>dispatchBlockClosure:
TextEditorController>>dispatchMenuSelection:
TextEditorController(ControllerWithMenu)>>processMenu:at:centered:
TextEditorController(ControllerWithMenu)>>processMenuAt:centered:
TextEditorController(ControllerWithMenu)>>yellowButtonPressedEvent:
TextEditorController>>yellowButtonPressedEvent:
YellowButtonPressedEvent>>dispatchTo:
TextEditorController(ControllerWithMenu)>>handleEvent:
EventDispatcher>>dispatch:to:
EventDispatcher>>dispatchEvent:
YellowButtonPressedEvent(Event)>>dispatch
YellowButtonPressedEvent(Event)>>dispatchForWindowManager:
optimized [] in WindowManager>>safelyDispatchForWindowManager:
BlockClosure>>on:do:
WindowManager>>safelyDispatchForWindowManager:
WindowManager>>processNextEvent
optimized [] in [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in WindowManager>>newProcess
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
WGL.WGLInterface(ExternalInterface)>>externalAccessFailedWith:
Receiver:
        a WGL.WGLInterface
Arguments:
        errorCode = 298
Temporaries:
        errorString = nil
Context PC = 44

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap>>initializeHDC
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Temporaries:
        hBitmap = 0
        success = 0
Context PC = 27

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initializeContext
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Context PC = 4

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(OpenGL.RenderContext)>>initialize:
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Arguments:
        aView = a Pixmap
Context PC = 6

----------------------------------------------------------------------
WGL.RenderContextWin32Pixmap(WGL.RenderContextWin32)>>initialize:
Receiver:
        a WGL.RenderContextWin32Pixmap
Instance Variables:
        interface = nil
        view = a Pixmap
        vendor = nil
        renderer = nil
        version = nil
        program = nil
        textures = nil
        texturesHistory = nil
        extensions = nil
        xif = a WGL.WGLInterface
        hdc = 1610682326
        hglrc = nil
        old_hdc = nil
        old_hglrc = nil
Arguments:
        aView = a Pixmap
Context PC = 10

----------------------------------------------------------------------
OpenGL.RenderContext class>>on:
Receiver:
        a OpenGL.RenderContext class
Instance Variables:
        superclass = Object
        methodDict = a MethodDictionary[24]
        format = 16393
        subclasses = an Array[3]
        instanceVariables = an Array[9]
        organization = ('accessing' #bounds #extensions #program #program:
#renderer #vendor #version #view)
('private' #activateContext #assignTextureUnitTo: #deactivateContext
#leastUsedTextureUnit #resetProgram #resetTextures)
('initialize-release' #initialize: #initializeContext #initializeInterface
#initializeParameters #on:)
('api' #activate #deactivate #flush #resize #whileCurrentDo:)

        name = #RenderContext
        classPool = a NameSpaceOfClass[1]
        environment = a NameSpace[34]
Arguments:
        aView = a Pixmap
Context PC = 8

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext>>demo
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext
Instance Variables:
        isRunning = nil
        window = a ScheduledWindow nil
        context = a WGL.RenderContextWin32Image
        renderJob = nil
        resizeJob = nil
        idleJob = nil
Temporaries:
        pixmap = a Pixmap
        image = Depth32Image(extent: 1 @ 1 depth: 32)
Context PC = 69

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class>>unboundMethod
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Context PC = 4

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:arguments:
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Arguments:
        method = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext
class>>unboundMethod
        args = an Array[0]
Context PC = 5

----------------------------------------------------------------------
OpenGL.Lessons.Lesson00RenderContext class(Object)>>performMethod:
Receiver:
        a OpenGL.Lessons.Lesson00RenderContext class
Instance Variables:
        superclass = OpenGL.Lessons.Lesson
        methodDict = a MethodDictionary[1]
        format = 16390
        subclasses = nil
        instanceVariables = an Array[0]
        organization = ('rendering' #demo)

        name = #Lesson00RenderContext
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[24]
Arguments:
        method = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext
class>>unboundMethod
Context PC = 5

----------------------------------------------------------------------
TextEditorController>>evaluateCompiled:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aMethod = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext
class>>unboundMethod
Temporaries:
        context = nil
Context PC = 13

----------------------------------------------------------------------
optimized [] in TextEditorController>>evaluateSelection
Receiver:
        an UndefinedObject
Temporaries:
        .self = a TextEditorController
        .code = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext
class>>unboundMethod
Context PC = 7

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in TextEditorController>>evaluateSelection
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        aBlock = BlockClosure [] in Cursor>>showWhile:
Temporaries:
        result = nil
Context PC = 4

----------------------------------------------------------------------
Cursor>>showWhile:
Receiver:
        a Cursor
Instance Variables:
        errorCode = 0
        handle = 4
        image = Depth1Image(extent: 16 @ 16 depth: 1)
        mask = Depth1Image(extent: 16 @ 16 depth: 1)
        hotSpot = 1 @ 1
        name = 'xeq'
Arguments:
        aBlock = BlockClosure [] in TextEditorController>>evaluateSelection
Temporaries:
        oldcursor = Cursor normal
Context PC = 23

----------------------------------------------------------------------
TextEditorController>>evaluateSelection
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Temporaries:
        code = AnnotatedMethod OpenGL.Lessons.Lesson00RenderContext
class>>unboundMethod
        result = nil
Context PC = 14

----------------------------------------------------------------------
optimized [] in TextEditorController>>doIt
Receiver:
        an UndefinedObject
Temporaries:
        .self = a TextEditorController
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in TextEditorController>>doIt
        outerContext = nil
        copiedValues = a TextEditorController
Arguments:
        anExceptionSelector = CompilationError
        handlerBlock = BlockClosure [] in TextEditorController>>doIt
Context PC = 18

----------------------------------------------------------------------
TextEditorController>>doIt
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Context PC = 20

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserTextTool)>>doIt
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Context PC = 5

----------------------------------------------------------------------
Refactory.Browser.RBCommand>>perform:on:
Receiver:
        a Refactory.Browser.RBCommand
Instance Variables:
        name = an UserMessage('Do It', #DoIt, #browser)
        description = an UserMessage('Execute the selected text', #DoItDesc,
#browser)
        action = #doIt
        enabled = nil
        receiver = #activeTool
Arguments:
        aSymbol = #doIt
        anObject = a Refactory.Browser.BrowserCommentTool
Context PC = 9

----------------------------------------------------------------------
Refactory.Browser.RBCommand>>performWith:
Receiver:
        a Refactory.Browser.RBCommand
Instance Variables:
        name = an UserMessage('Do It', #DoIt, #browser)
        description = an UserMessage('Execute the selected text', #DoItDesc,
#browser)
        action = #doIt
        enabled = nil
        receiver = #activeTool
Arguments:
        anObject = a Refactory.Browser.RBActionDispatcher
Context PC = 14

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>performAction:
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Arguments:
        aString = 'Do It'
Temporaries:
        action = Do It
Context PC = 11

----------------------------------------------------------------------
Refactory.Browser.BrowserCommentTool(Refactory.Browser.BrowserApplicationModel)>>action:
Receiver:
        a Refactory.Browser.BrowserCommentTool
Instance Variables:
        dependents = nil
        builder = an UIBuilder
        uiSession = nil
        eventHandlers = nil
        codeModel = Lesson00RenderContext class
        menu = a Menu
        savedText = nil
        changed = false
        textHolder = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        originalText = Text for 'Lesson #0 - RenderContext

Th...son00RenderContext new demo
'
        menuBarMenu = nil
Arguments:
        aMenuItem = a MenuItem 'Do it'
Context PC = 8

----------------------------------------------------------------------
optimized [] in
Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Receiver:
        an UndefinedObject
Temporaries:
        .self = a Refactory.Browser.BrowserCommentTool
        .newItem = a MenuItem 'Do it'
Context PC = 7

----------------------------------------------------------------------
TextEditorController>>dispatchBlockClosure:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aBlock = BlockClosure [] in
Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Temporaries:
        na = 0
Context PC = 11

----------------------------------------------------------------------
TextEditorController>>dispatchMenuSelection:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        menuSelection = BlockClosure [] in
Refactory.Browser.BrowserApplicationModel>>createActionMenuItemFrom:
Context PC = 45

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>processMenu:at:centered:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aMenu = a Menu
        aPoint = 37 @ 461
        centered = true
Temporaries:
        valueResult = a MenuItem 'Do it'
Context PC = 41

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>processMenuAt:centered:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        aPoint = 37 @ 461
        centered = true
Context PC = 9

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>yellowButtonPressedEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        event = a YellowButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
TextEditorController>>yellowButtonPressedEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        anEvent = a YellowButtonPressedEvent
Context PC = 18

----------------------------------------------------------------------
YellowButtonPressedEvent>>dispatchTo:
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Arguments:
        anObject = a TextEditorController
Context PC = 4

----------------------------------------------------------------------
TextEditorController(ControllerWithMenu)>>handleEvent:
Receiver:
        a TextEditorController
Instance Variables:
        model = a ValueHolder on: Text for 'Lesson #0 - RenderContext

This is the very first lesson, which demonstrates what a RenderContext and
the gl variable do. The RenderContext represents an OpenGL rendering context
for a window, an image or a pixmap. The gl variable gets switched each time
you activate a context to render. By running this demo, you''ll see that the
rendering engine the operating system gives you can differ based on whether
we''re rendering to a window or rendering offscreen to a pixmap or image.

To run this lesson:
OpenGL.Lessons.Lesson00RenderContext new demo
'
        view = a TextEditorView
        menuHolder = a Menu
        performer = a Refactory.Browser.BrowserCommentTool
        beginTypeInIndex = nil
        anchorIndex = 502
        emphasisHere = nil
        dispatchTable = nil
        charComposer = a CharacterComposer
        textHasChanged = false
        feelPolicy = nil
        supportCodeEditingFeels = true
        localMenuItems = an Array[21]
        extendingDown = true
        keyboardHook = nil
        readOnly = false
        accepted = true
        autoAccept = false
        continuousAccept = false
        tabMeansNextField = true
        tabRequiresControl = true
        dispatcher = an UIDispatcher
        selectable = true
        maxChars = nil
        nextUndoBlock = BlockClosure [] in TextEditorController>>initialize
        currentUndo = a TextUndo nil
Arguments:
        anEvent = a YellowButtonPressedEvent
Context PC = 38

----------------------------------------------------------------------
EventDispatcher>>dispatch:to:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a YellowButtonPressedEvent
        object = a TextEditorController
Temporaries:
        tmp = nil
Context PC = 10

----------------------------------------------------------------------
EventDispatcher>>dispatchEvent:
Receiver:
        an EventDispatcher
Instance Variables:
        windowController = an ApplicationStandardSystemController
        currentMouseConsumer = nil
        grabbingMouse = false
        lastControlObject = nil
        trapList = nil
        state = nil
        repairDamageWhenDebugging = true
        flushQueueAfterError = true
        distributeEventsWhenDebugging = true
        dragDropInProgress = false
        dragDropTracker = nil
        dispatchUnknownEvents = false
Arguments:
        event = a YellowButtonPressedEvent
Temporaries:
        objectWantingControl = a TextEditorController
        targetKeyboardProcessor = nil
Context PC = 130

----------------------------------------------------------------------
YellowButtonPressedEvent(Event)>>dispatch
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Context PC = 16

----------------------------------------------------------------------
YellowButtonPressedEvent(Event)>>dispatchForWindowManager:
Receiver:
        a YellowButtonPressedEvent
Instance Variables:
        time = 9683793
        initiator = an EventDispatcher
        window = a ScheduledWindow 127
        state = 2
        x = 37
        y = 439
        gx = 37
        gy = 461
        buttonNumber = 2
Arguments:
        aWinMgr = a WindowManager
Context PC = 4

----------------------------------------------------------------------
optimized [] in WindowManager>>safelyDispatchForWindowManager:
Receiver:
        an UndefinedObject
Temporaries:
        .event = a YellowButtonPressedEvent
        .self = a WindowManager
Context PC = 6

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        anExceptionSelector = BadControllerError
        handlerBlock = BlockClosure [] in
WindowManager>>safelyDispatchForWindowManager:
Context PC = 18

----------------------------------------------------------------------
WindowManager>>safelyDispatchForWindowManager:
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>waitIfCurtailedSignal
        dontFilterEvents = false
Arguments:
        event = a YellowButtonPressedEvent
Context PC = 13

----------------------------------------------------------------------
WindowManager>>processNextEvent
Receiver:
        a WindowManager
Instance Variables:
        windows = an OrderedCollection[1]
        activeController = nil
        interruptLock = false
        outstandingMetaOrDamage = false
        openInProgress = false
        eventQueue = an EventQueue
        baseProcess = a Process in Semaphore>>waitIfCurtailedSignal
        dontFilterEvents = false
Temporaries:
        event = a YellowButtonPressedEvent
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .self = a WindowManager
Context PC = 13

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess
Context PC = 18

----------------------------------------------------------------------
optimized [] in WindowManager>>newProcess
Receiver:
        an UndefinedObject
Temporaries:
        .self = a WindowManager
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in WindowManager>>newProcess
        outerContext = nil
        copiedValues = a WindowManager
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in WindowManager>>newProcess
Context PC = 9


--
View this message in context: http://forum.world.st/VW7-9-OpenGL-problem-tp4640035.html
Sent from the VisualWorks mailing list archive at Nabble.com.
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

askoh
Administrator
I can run the OpenGL lessons using VW7.8.1 in 32bit VM on Win 7 64 bit.

I am having OpenGL lessons problems using VW7.9 in 64bit VM on Win 7 64 bit.

Haven't tried VW7.8.1 in 64bit VM.

Thanks,
Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

Michael Lucas-Smith-2
The libraries to link to might have different names on 64bit - I know someone published a fork for the linux version to do 64bit. If not the libraries, then the pointers to the graphics handles might be misaligned on 64bit too. I haven't tried to do OpenGL on 64bit Windows at all, so you're in new territory askoh.

Cheers,
Michael

On Jul 14, 2012, at 9:17 PM, askoh wrote:

> I can run the OpenGL lessons using VW7.8.1 in 32bit VM on Win 7 64 bit.
>
> I am having OpenGL lessons problems using VW7.9 in 64bit VM on Win 7 64 bit.
>
> Haven't tried VW7.8.1 in 64bit VM.
>
> Thanks,
> Aik-Siong Koh
>
> --
> View this message in context: http://forum.world.st/VW7-9-OpenGL-problem-tp4640035p4640038.html
> Sent from the VisualWorks mailing list archive at Nabble.com.
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

askoh
Administrator
Fortunately,
OpenGL.Lessons.Lesson01Geometry open
runs about 50% of the time. Same behavior with the other demos.
Could be semaphore type issues.

Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

askoh
Administrator
In reply to this post by askoh
It looks like OpenGL 64bit does not work with Pixmap. I loaded Jun in VW7.9 64 bit and it works pretty much like in VW7.8.1 32 bit except for Pixmap.

How to debug this? It looks like Windows 7 64 bit cannot create a valid Device Context for Pixmap in VW7.9 64 bit.

Thanks,
Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

Andres Valloud-6
We did a brief examination of the package and found the following.

1.  The OpenGL packages call GetLastError() directly via DLLCC.  This is
unsafe and will result in weird behavior as explained in (relatively
modern versions of) Win32SystemSupport>>GetLastError.

2.  Multiple Windows types are likely defined improperly, e.g. declaring
that HDC, HGDIOBJ, HWD are unsigned long when usually handles are void*.
  On 64 bit Windows, longs are 32 bits so such declarations won't work.
  Ideally they would be declared exactly like the various include files
for the Microsoft compilation environment and/or MSDN declare them.

3.  Similar to 2. above, code such as unsignedLongAt: 5 is suspect.

We do not claim these are *all* the problems, we only spent a while
looking at this.  Nevertheless, what we found seems enough to cause
significant problems.  We would suggest fixing the above then try again.

Andres & Pete.

On 7/16/2012 4:31 AM, askoh wrote:

> It looks like OpenGL 64bit does not work with Pixmap. I loaded Jun in VW7.9
> 64 bit and it works pretty much like in VW7.8.1 32 bit except for Pixmap.
>
> How to debug this? It looks like Windows 7 64 bit cannot create a valid
> Device Context for Pixmap in VW7.9 64 bit.
>
> Thanks,
> Aik-Siong Koh
>
> --
> View this message in context: http://forum.world.st/VW7-9-OpenGL-problem-tp4640035p4640168.html
> Sent from the VisualWorks mailing list archive at Nabble.com.
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
>

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: VW7.9 OpenGL problem

askoh
Administrator
Thanks for the useful information.

I changed in WGL.RenderContextWin32Pixmap initializeHDC
        hBitmap := view handle unsignedLongAt: 5.
to
        hBitmap := view handle unsignedLongLongAt: 9.
and it worked for
OpenGL.Lessons.Lesson00RenderContext new demo
I did something similar in Jun JunWglPixmapHandle flushFromPixmap and flushToPixmap and ran
        JunOpenGLInterface example2.
successfully.
It would help if there were some information about the struc of the Pixmap handle for Win 64 bit. There is an example XWindow in
        CairoGraphics.XSurface class displaySurface:

Thanks again,
Aik-Siong Koh