I'm pretty new to squeak, please let me know if I should be looking for help elsewhere, (and where that would be :) TIA
I'm trying to follow a OpenGL tutorial posted on YouTube by user sparaig. It's only 9 lines of code
(Installer repository: 'http://source.squeak.org/FFI') install: 'FFI-Pools'; install: 'FFI-Kernel'; install: 'FFI-Tests'. (Installer repository: 'http://www.squeaksource.com/CroquetGL') install: '3DTransform'; install: 'OpenGL-Pools'; install: 'OpenGL-Core'. OpenGL example "this is where the trouble begins"
The transcript shows:
reading http://source.squeak..org/FFI... reading http://source.squeak.org/FFI... finding FFI-Pools... found FFI-Pools-eem.3.mcz... loaded reading http://source.squeak.org/FFI... finding FFI-Pools... found FFI-Pools-eem.3.mcz... finding FFI-Kernel... found FFI-Kernel.threaded-eem.25.mcz... loaded reading http://source.squeak.org/FFI... finding FFI-Pools... found FFI-Pools-eem.3.mcz... finding FFI-Kernel... found FFI-Kernel.threaded-eem.25.mcz... finding FFI-Tests... found FFI-Tests-ar.5.mcz... loaded reading http://www.squeaksource.com/CroquetGL... finding 3DTransform... found 3DTransform-ar.21.mcz... loaded reading http://www.squeaksource.com/CroquetGL... finding 3DTransform... found 3DTransform-ar.21.mcz... finding OpenGL-Pools... found OpenGL-Pools-jcg.9.mcz... loaded reading http://www.squeaksource.com/CroquetGL... finding 3DTransform... found 3DTransform-ar.21.mcz... finding OpenGL-Pools... found OpenGL-Pools-jcg.9.mcz... finding OpenGL-Core... found OpenGL-Core-hmm.15.mcz... loaded
and here's the output I get in the debugger
1 March 2012 2:12:18.278 pm
VM: Win32 - Smalltalk Image: Squeak4.1 [latest update: #9957]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir C:\Documents and Settings\Chuck\My Documents\Squeak 4.1 Trusted Dir C:\Documents and Settings\Chuck\My Documents\Squeak 4.1\Chuck Untrusted Dir C:\Documents and Settings\Chuck\My Documents\My Squeak
OGLWin32(Object)>>error: Receiver: an OGLWin32 Arguments and temporary variables: aString: 'External function is invalid' Receiver's instance variables: handle: 0 bufRect: 0@0 corner: 400@400 glExt: a *OGLExtManager extensions: nil frontFace: 2305 maxPortalDepth: 5 changeTexture: true test: false timeStamp: 0 formManager: nil textureManager: an OGLTextureManager fontManager: an OGLFontManager shaderManager: an OGLShaderManager glListRegistry: a WeakIdentityKeyDictionary() isMirror: false inPortal3D: false camera: nil forceWire: false numVtx: 0 numPrims: 0 inGLBlock: false distance: nil harness: nil eventPointer: nil avatar: nil forcePick: false forceHilite: nil suppressPortals: false noSwap: false fogOn: false transparency: 1.0 matrixStack: nil portalDepth: 0 bufferObjects: a Dictionary()
OGLWin32(Object)>>externalCallFailed Receiver: an OGLWin32 Arguments and temporary variables: errCode: 17 Receiver's instance variables: handle: 0 bufRect: 0@0 corner: 400@400 glExt: a *OGLExtManager extensions: nil frontFace: 2305 maxPortalDepth: 5 changeTexture: true test: false timeStamp: 0 formManager: nil textureManager: an OGLTextureManager fontManager: an OGLFontManager shaderManager: an OGLShaderManager glListRegistry: a WeakIdentityKeyDictionary() isMirror: false inPortal3D: false camera: nil forceWire: false numVtx: 0 numPrims: 0 inGLBlock: false distance: nil harness: nil eventPointer: nil avatar: nil forcePick: false forceHilite: nil suppressPortals: false noSwap: false fogOn: false transparency: 1.0 matrixStack: nil portalDepth: 0 bufferObjects: a Dictionary()
OGLWin32(OpenGL)>>glPixelStorei:with: Receiver: an OGLWin32 Arguments and temporary variables: pname: 3317 param: 4 Receiver's instance variables: handle: 0 bufRect: 0@0 corner: 400@400 glExt: a *OGLExtManager extensions: nil frontFace: 2305 maxPortalDepth: 5 changeTexture: true test: false timeStamp: 0 formManager: nil textureManager: an OGLTextureManager fontManager: an OGLFontManager shaderManager: an OGLShaderManager glListRegistry: a WeakIdentityKeyDictionary() isMirror: false inPortal3D: false camera: nil forceWire: false numVtx: 0 numPrims: 0 inGLBlock: false distance: nil harness: nil eventPointer: nil avatar: nil forcePick: false forceHilite: nil suppressPortals: false noSwap: false fogOn: false transparency: 1.0 matrixStack: nil portalDepth: 0 bufferObjects: a Dictionary()
OGLWin32(OpenGL)>>beginFrame Receiver: an OGLWin32 Arguments and temporary variables:
Receiver's instance variables: handle: 0 bufRect: 0@0 corner: 400@400 glExt: a *OGLExtManager extensions: nil frontFace: 2305 maxPortalDepth: 5 changeTexture: true test: false timeStamp: 0 formManager: nil textureManager: an OGLTextureManager fontManager: an OGLFontManager shaderManager: an OGLShaderManager glListRegistry: a WeakIdentityKeyDictionary() isMirror: false inPortal3D: false camera: nil forceWire: false numVtx: 0 numPrims: 0 inGLBlock: false distance: nil harness: nil eventPointer: nil avatar: nil forcePick: false forceHilite: nil suppressPortals: false noSwap: false fogOn: false transparency: 1.0 matrixStack: nil portalDepth: 0 bufferObjects: a Dictionary()
--- The full stack --- OGLWin32(Object)>>error: OGLWin32(Object)>>externalCallFailed OGLWin32(OpenGL)>>glPixelStorei:with: OGLWin32(OpenGL)>>beginFrame - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OGLWin32>>beginFrame [] in OpenGL class>>example BlockClosure>>ensure: OpenGL class>>example UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [] in SmalltalkEditor(TextEditor)>>evaluateSelection ...etc...