Problems getting started with OpenGL in Squeak

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

Problems getting started with OpenGL in Squeak

Nick
Hi,

I'd like to experiment with OpenGL in Squeak. I found the promisingly titled "Howto - Loading OpenGL in Squeak 3.9" from Jakub Kozisek (http://lists.squeakfoundation.org/pipermail/beginners/2006-November/001451.html) and followed the directions:

* install FFI and Balloon3D from SqueakMap. (I used the Universe browser to install FFI version 3.9.1 and Balloon3D version 0.18.2)
* install OpenGL-ckl.4.mcz from Monticello repository at http://www.squeaksource.com/OpenGL
* apply change set from http://lists.squeakfoundation.org/pipermail/beginners/attachments/20061118/459ce649/OpenGLUpdate.1.obj
* ensure squeak.ini contains: B3DXUsesOpenGL = 1
* OpenGLMorph new openInWorld.

Unfortunately executing the above line resulted in the following error:

>>> Error: Error a primitive has failed

Examining the stack trace the error appeared to be generated from:

  B3DPrimitiveRasterizerState>>primInitializeBuffers

which reads:
    B3DPrimitiveRasterizerState>>primInitializeBuffers
        <primitive: 'b3dInitializeRasterizerState' module:'Squeak3D'>
        ^self primitiveFailed

I ran the shipped FFI tests and all tests passed.
I'm running under Windows XP SP2 using a VM from SqueakVM-Win32-3.10.6-bin.zip and an image sq3.9.1-7075dev08.07.1

I downloaded Croquet which displayed it's 3D world successfully, so I presume my OpenGL drivers are working to some degree, but the Croquet image adds a lot of code for Corquet and I'd currently interested in experimenting with OpenGL in a dynamic environment.
As I final test I tied the Croquet VM with my sq3.9.1-7075dev08.07.1 derived image, but got the same problem. Any ideas for getting OpenGL to work in a relatively standard squeak image?

Thanks

Nick
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Derek O'Connell-2
Try inspecting the following to confirm the module is present:

SmalltalkImage current listLoadedModules

if not then same on:

SmalltalkImage current listBuiltinModules


On Wed, Jul 30, 2008 at 2:25 PM, Nick Ager <[hidden email]> wrote:

>
> Hi,
>
> I'd like to experiment with OpenGL in Squeak. I found the promisingly titled
> "Howto - Loading OpenGL in Squeak 3.9" from Jakub Kozisek
> (http://lists.squeakfoundation.org/pipermail/beginners/2006-November/001451.html)
> and followed the directions:
>
> * install FFI and Balloon3D from SqueakMap. (I used the Universe browser to
> install FFI version 3.9.1 and Balloon3D version 0.18.2)
> * install OpenGL-ckl.4.mcz from Monticello repository at
> http://www.squeaksource.com/OpenGL
> * apply change set from
> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20061118/459ce649/OpenGLUpdate.1.obj
> * ensure squeak.ini contains: B3DXUsesOpenGL = 1
> * OpenGLMorph new openInWorld.
>
> Unfortunately the instructions resulted in the following error:
>
>>>> Error: Error a primitive has failed
>
> Examining the stack trace the error was in:
>
>  B3DPrimitiveRasterizerState>>primInitializeBuffers
>
> which reads:
>    B3DPrimitiveRasterizerState>>primInitializeBuffers
>        <primitive: 'b3dInitializeRasterizerState' module:'Squeak3D'>
>        ^self primitiveFailed
>
> I ran the shipped FFI tests and all tests passed.
> I'm running under windows using a VM from SqueakVM-Win32-3.10.6-bin.zip and
> an image sq3.9.1-7075dev08.07.1
>
> I downloaded Croquet which displayed it's 3D world successfully, but would
> prefer a minimal OpenGL installation. I tried the Croquet VM with my image,
> but got the same problem.
>
> Any ideas?
>
> Nick
> --
> View this message in context: http://www.nabble.com/Problems-getting-started-with-OpenGL-in-Squeak-tp18733147p18733147.html
> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Nick
Hi Derek,

thanks for the reply. I've inspected "SmalltalkImage current listLoadedModules" and "SmalltalkImage current listBuiltinModules" and there is no sign of "module:'Squeak3D'". I also checked my Croquet installation and again no sign of "module:'Squeak3D'" - however the Croquet image appears to have a different installation of OpenGL; there is no sign of Balloon3D*.

Do I need a "Squeak3D.dll" module is so where would I find it? Google points me to http://wiki.squeak.org/squeak/2874, which is interesting but that particularly helpful.

Are there two separate implementations of OpenGL in Squeak - one in Croquet and one in "standard" squeak.

confused


Derek O'Connell-2 wrote
Try inspecting the following to confirm the module is present:

SmalltalkImage current listLoadedModules

if not then same on:

SmalltalkImage current listBuiltinModules


On Wed, Jul 30, 2008 at 2:25 PM, Nick Ager <nick.ager@gmail.com> wrote:
>
> Hi,
>
> I'd like to experiment with OpenGL in Squeak. I found the promisingly titled
> "Howto - Loading OpenGL in Squeak 3.9" from Jakub Kozisek
> (http://lists.squeakfoundation.org/pipermail/beginners/2006-November/001451.html)
> and followed the directions:
>
> * install FFI and Balloon3D from SqueakMap. (I used the Universe browser to
> install FFI version 3.9.1 and Balloon3D version 0.18.2)
> * install OpenGL-ckl.4.mcz from Monticello repository at
> http://www.squeaksource.com/OpenGL
> * apply change set from
> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20061118/459ce649/OpenGLUpdate.1.obj
> * ensure squeak.ini contains: B3DXUsesOpenGL = 1
> * OpenGLMorph new openInWorld.
>
> Unfortunately the instructions resulted in the following error:
>
>>>> Error: Error a primitive has failed
>
> Examining the stack trace the error was in:
>
>  B3DPrimitiveRasterizerState>>primInitializeBuffers
>
> which reads:
>    B3DPrimitiveRasterizerState>>primInitializeBuffers
>        <primitive: 'b3dInitializeRasterizerState' module:'Squeak3D'>
>        ^self primitiveFailed
>
> I ran the shipped FFI tests and all tests passed.
> I'm running under windows using a VM from SqueakVM-Win32-3.10.6-bin.zip and
> an image sq3.9.1-7075dev08.07.1
>
> I downloaded Croquet which displayed it's 3D world successfully, but would
> prefer a minimal OpenGL installation. I tried the Croquet VM with my image,
> but got the same problem.
>
> Any ideas?
>
> Nick
> --
> View this message in context: http://www.nabble.com/Problems-getting-started-with-OpenGL-in-Squeak-tp18733147p18733147.html
> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
>
> _______________________________________________
> Beginners mailing list
> Beginners@lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
_______________________________________________
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Derek O'Connell-2
lol, dug up a Croquet install and it is nearly a year since I used it
:-) Probably better if someone else chipped in with advice. Only thing
I can think is that opengl32.dll cannot be found. Here it is in
c:\windows\system32 but if you want to be sure then drop a copy in the
squeak directory. Works here in CroquetCollaborative-1.0.

On Fri, Aug 1, 2008 at 12:53 AM, Nick Ager <[hidden email]> wrote:

>
> Hi Derek,
>
> thanks for the reply. I've inspected "SmalltalkImage current
> listLoadedModules" and "SmalltalkImage current listBuiltinModules" and there
> is no sign of "module:'Squeak3D'". I also checked my Croquet installation
> and again no sign of "module:'Squeak3D'" - however the Croquet image appears
> to have a different installation of OpenGL; there is no sign of Balloon3D*.
>
> Do I need a "Squeak3D.dll" module is so where would I find it? Google points
> me to http://wiki.squeak.org/squeak/2874, which is interesting but that
> particularly helpful.
>
> Are there two separate implementations of OpenGL in Squeak - one in Croquet
> and one in "standard" squeak.
>
> confused
>
>
>
> Derek O'Connell-2 wrote:
>>
>> Try inspecting the following to confirm the module is present:
>>
>> SmalltalkImage current listLoadedModules
>>
>> if not then same on:
>>
>> SmalltalkImage current listBuiltinModules
>>
>>
>> On Wed, Jul 30, 2008 at 2:25 PM, Nick Ager <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> I'd like to experiment with OpenGL in Squeak. I found the promisingly
>>> titled
>>> "Howto - Loading OpenGL in Squeak 3.9" from Jakub Kozisek
>>> (http://lists.squeakfoundation.org/pipermail/beginners/2006-November/001451.html)
>>> and followed the directions:
>>>
>>> * install FFI and Balloon3D from SqueakMap. (I used the Universe browser
>>> to
>>> install FFI version 3.9.1 and Balloon3D version 0.18.2)
>>> * install OpenGL-ckl.4.mcz from Monticello repository at
>>> http://www.squeaksource.com/OpenGL
>>> * apply change set from
>>> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20061118/459ce649/OpenGLUpdate.1.obj
>>> * ensure squeak.ini contains: B3DXUsesOpenGL = 1
>>> * OpenGLMorph new openInWorld.
>>>
>>> Unfortunately the instructions resulted in the following error:
>>>
>>>>>> Error: Error a primitive has failed
>>>
>>> Examining the stack trace the error was in:
>>>
>>>  B3DPrimitiveRasterizerState>>primInitializeBuffers
>>>
>>> which reads:
>>>    B3DPrimitiveRasterizerState>>primInitializeBuffers
>>>        <primitive: 'b3dInitializeRasterizerState' module:'Squeak3D'>
>>>        ^self primitiveFailed
>>>
>>> I ran the shipped FFI tests and all tests passed.
>>> I'm running under windows using a VM from SqueakVM-Win32-3.10.6-bin.zip
>>> and
>>> an image sq3.9.1-7075dev08.07.1
>>>
>>> I downloaded Croquet which displayed it's 3D world successfully, but
>>> would
>>> prefer a minimal OpenGL installation. I tried the Croquet VM with my
>>> image,
>>> but got the same problem.
>>>
>>> Any ideas?
>>>
>>> Nick
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Problems-getting-started-with-OpenGL-in-Squeak-tp18733147p18733147.html
>>> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> [hidden email]
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>>
>> _______________________________________________
>> Beginners mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Problems-getting-started-with-OpenGL-in-Squeak-tp18752922p18765876.html
> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Ken G. Brown
In reply to this post by Nick
At 4:53 PM -0700 7/31/08, [hidden email] apparently wrote:

>Date: Thu, 31 Jul 2008 16:53:42 -0700 (PDT)
>From: Nick Ager <[hidden email]>
>Subject: Re: [Newbies] Problems getting started with OpenGL in Squeak
>To: [hidden email]
>Message-ID: <[hidden email]>
>Content-Type: text/plain; charset=us-ascii
>
>
>Hi Derek,
>
>thanks for the reply. I've inspected "SmalltalkImage current
>listLoadedModules" and "SmalltalkImage current listBuiltinModules" and there
>is no sign of "module:'Squeak3D'". I also checked my Croquet installation
>and again no sign of "module:'Squeak3D'" - however the Croquet image appears
>to have a different installation of OpenGL; there is no sign of Balloon3D*.
>
>Do I need a "Squeak3D.dll" module is so where would I find it? Google points
>me to http://wiki.squeak.org/squeak/2874, which is interesting but that
>particularly helpful.
>
>Are there two separate implementations of OpenGL in Squeak - one in Croquet
>and one in "standard" squeak.
>
>confused
>
>
>
>Derek O'Connell-2 wrote:
>>
>> Try inspecting the following to confirm the module is present:
>>
>> SmalltalkImage current listLoadedModules
>>
>> if not then same on:
>>
>> SmalltalkImage current listBuiltinModules
>>
>>
>> On Wed, Jul 30, 2008 at 2:25 PM, Nick Ager <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> I'd like to experiment with OpenGL in Squeak. I found the promisingly
>>> titled
>>> "Howto - Loading OpenGL in Squeak 3.9" from Jakub Kozisek
>>> (http://lists.squeakfoundation.org/pipermail/beginners/2006-November/001451.html)
>>> and followed the directions:
>>>
>>> * install FFI and Balloon3D from SqueakMap. (I used the Universe browser
>>> to
>>> install FFI version 3.9.1 and Balloon3D version 0.18.2)
>>> * install OpenGL-ckl.4.mcz from Monticello repository at
>>> http://www.squeaksource.com/OpenGL
>>> * apply change set from
>>> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20061118/459ce649/OpenGLUpdate.1.obj
>>> * ensure squeak.ini contains: B3DXUsesOpenGL = 1
>>> * OpenGLMorph new openInWorld.
>>>
>>> Unfortunately the instructions resulted in the following error:
>>>
>>>>>> Error: Error a primitive has failed
>>>
>>> Examining the stack trace the error was in:
>>>
>>>  B3DPrimitiveRasterizerState>>primInitializeBuffers
>>>
>>> which reads:
>>>    B3DPrimitiveRasterizerState>>primInitializeBuffers
>>>        <primitive: 'b3dInitializeRasterizerState' module:'Squeak3D'>
>>>        ^self primitiveFailed
>>>
>>> I ran the shipped FFI tests and all tests passed.
>>> I'm running under windows using a VM from SqueakVM-Win32-3.10.6-bin.zip
>>> and
>>> an image sq3.9.1-7075dev08.07.1
>>>
>>> I downloaded Croquet which displayed it's 3D world successfully, but
>>> would
>>> prefer a minimal OpenGL installation. I tried the Croquet VM with my
> >> image,
>>> but got the same problem.
> >>
> >> Any ideas?
> >>
> >> Nick
> >> --

Not sure this will help in your case, but just for information, there are some plugin naming convention issues, the generated name does not always match the plugin name.

eg:
internal plugin B3DEnginePlugin generated as Squeak3D
internal plugin BalloonEnginePlugin generated as B2DPlugin
internal plugin BitBltSimulation generated as BitBltPlugin
internal plugin DSAPlugin generated as DSAPrims
internal plugin DeflatePlugin generated as ZipPlugin
internal plugin FFIPlugin generated as SqueakFFIPrims
internal plugin KlattSynthesizerPlugin generated as Klatt
internal plugin LargeIntegersPlugin generated as LargeIntegers

Ken G. Brown


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Nick
>> Not sure this will help in your case, but just for information, there are some plugin naming convention i>> ssues, the generated name does not always match the plugin name.

>> internal plugin B3DEnginePlugin generated as Squeak3D

the list produced by executing: "SmalltalkImage current listBuiltinModules" includes B3DAcceleratorPlugin. Could that be a synonym for "Squeak3D"? Where is the mapping between the names?

Looking again at the Croquet image, when showing a 3D window, "SmalltalkImage current listLoadedModules" includes B3DAcceleratorPlugin and opengl32.dll

Although I'm not sure this gets me closer to solving my problem...
Reply | Threaded
Open this post in threaded view
|

Re: Problems getting started with OpenGL in Squeak

Ken G. Brown
In reply to this post by Nick
At 5:00 AM -0700 8/5/08, [hidden email] apparently wrote:

>Date: Mon, 4 Aug 2008 14:48:26 -0700 (PDT)
>From: Nick Ager <[hidden email]>
>Subject: Re: [Newbies] Problems getting started with OpenGL in Squeak
>To: [hidden email]
>Message-ID: <[hidden email]>
>Content-Type: text/plain; charset=us-ascii
>
>
> >> Not sure this will help in your case, but just for information, there are
>some plugin naming convention i>> ssues, the generated name does not always
>match the plugin name.
>
>>> internal plugin B3DEnginePlugin generated as Squeak3D
>
>the list produced by executing: "SmalltalkImage current listBuiltinModules"
>includes B3DAcceleratorPlugin. Could that be a synonym for "Squeak3D"? Where
>is the mapping between the names?
>
>Looking again at the Croquet image, when showing a 3D window,
>"SmalltalkImage current listLoadedModules" includes B3DAcceleratorPlugin and
>opengl32.dll
>
>Although I'm not sure this gets me closer to solving my problem...
>--
>View this message in context: http://www.nabble.com/Problems-getting-started-with-OpenGL-in-Squeak-tp18752922p18820572.html
>Sent from the Squeak - Beginners mailing list archive at Nabble.com.

If you load VMMaker and look in the 'VMMaker' category (package?), you will see InterpreterPlugin class. The plugins are subclasses of this or  SmartSyntaxInterpreterPlugin.

The #InterpreterPlugin class has the moduleName instance variable. Some of the plugins have class methods that return their name eg. B3DAcceleratorPlugin has moduleName
        ^'B3DAcceleratorPlugin'

Not exactly sure where the moduleName gets set in other plugins.

Maybe someone else can tell how this works in more detail.

Ken G. Brown
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners