[vwnc] GPGPU with OpenGL and VisualWorks

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

[vwnc] GPGPU with OpenGL and VisualWorks

Alan Wostenberg-2
I was trying out the openGL tutorial in public store mentioned in
Michael Lucas-Smith's recent blog entry in a Linux environment.  I
loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.

Should the expression "Lesson00RenderContext open" work?

I try it and get a walkback - message not understood in
GLXRenderContextX11>>initializeContext. Very last line looks like
   context := xif glXCreateContext: displayHandle with: visualInfo with:
nil with: gl TRUE

gl is nil. It is not defined as an instance var or anything.  I assume
it wants to be an instance of OpenGLInterface? How is it supposed to be
initialized? I tried replacing "gl"with 1 - t he value answered by
"OpenGLInterface new TRUE" just to get past this.

Then I get an "unhandled exception occurred #(11 3062204388) in the
method send to glXCreateConnecxt:with:with:with:  Should the little 1
hack have worked?

If the hack is good, the second walkback might be in my local
environment. Here at Key we use visual works in a VNC session on X
windows display :2 not :0. Visual works works just fine. The glxgears
demo also works fine in this session (shell to linux; glxgears). But a
glxgears -display :0 would fail "error: glXCreateContext failed"... A
guess: is it possible the Smalltalk Open GL environment of
Lesson00RenderContext is using default X display of 0? If so, any
pointers how I would persuade it to use X display 2?


Regards,
-Alan Wostenberg, Key Technology

-----------------------------------------
Key Technology, Inc. Disclaimer Notice - The information and
attachment(s) contained in this communication are intended for the
addressee only, and may be confidential and/or legally privileged.
If you have received this communication in error, please contact
the sender immediately, and delete this communication from any
computer or network system. Any interception, review, printing,
copying, re-transmission, dissemination, or other use of, or taking
of any action upon this information by persons or entities other
than the intended recipient is strictly prohibited by law and may
subject them to criminal or civil liability. Key Technology, Inc.
is not liable for the improper and/or incomplete transmission of
the information contained in this communication or for any delay in
its receipt.
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Kevin-231
> From: [hidden email] On Behalf Of Alan Wostenberg
>
>
> I was trying out the openGL tutorial in public store mentioned in
> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.

I'm in the middle of these too, experimenting with OpenGL and Smalltalk.


> Should the expression "Lesson00RenderContext open" work?

I don't think so... in the class comment there's a line

OpenGL.Lessons.Lesson00RenderContext new demo

which does work -- more or less anyway.  :-)  I'm on windows XP and
I get a walkback on the second part of the demo method, creating a
render context for an Image.  I didn't figure out why, yet; the rest
of the lessons are mostly working for me and so I skipped on.


> I try it and get a walkback - message not understood in
> GLXRenderContextX11>>initializeContext. Very last line looks like
>    context := xif glXCreateContext: displayHandle with:
> visualInfo with:
> nil with: gl TRUE
>
> gl is nil. It is not defined as an instance var or anything.  I assume
> it wants to be an instance of OpenGLInterface? How is it supposed to be
> initialized? I tried replacing "gl"with 1 - t he value answered by
> "OpenGLInterface new TRUE" just to get past this.

gl is a shared variable of the OpenGL class; the OpenGL lessons inherit
from a base Lesson class which has an initializeOpenGL method; that
method creates a RenderContext on a display surface, which uses a
platform-specific subclass to set up the hardware and (presumably)
initialize the gl variable.

Shared Variables, like Namespaces and Packages, are related extensions
in VisualWorks smalltalk.  New to me, but (so far) seems nice.  


Hope this helps; I don't know a lot yet but I'm playing with the same
toys.  :-)


Kevin Kelley

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

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Michael Lucas-Smith-2
In reply to this post by Alan Wostenberg-2
Alan Wostenberg wrote:
> I was trying out the openGL tutorial in public store mentioned in
> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
>  
Disclaimer: I have not been testing on Linux.. at all. I really need
someone who has a good linux set up to help me out here. I'll explain
why further down in the email.
> Should the expression "Lesson00RenderContext open" work?
>  
Lesson00RenderContext new demo
> I try it and get a walkback - message not understood in
> GLXRenderContextX11>>initializeContext. Very last line looks like
>    context := xif glXCreateContext: displayHandle with: visualInfo with:
> nil with: gl TRUE
>  
The RenderContext should have set up the gl variable in its #activate
method. It's possible I didn't write the code for this correctly -
compare with the Windows and MacOSX implementations. It's an instance of
OpenGLInterface. It's also meant to be removed in #deactivate, otherwise
it's possible to accidently make OpenGL calls while the context is disabled.

Also, the Linux implementation doesn't do what the Windows
implementation does yet - which is to create bindings to the functions
dynamically. It needs to do this at some point in the future, in which
case gl will be an instance of a lightweight copy of OpenGLInterface.
> gl is nil. It is not defined as an instance var or anything.  I assume
> it wants to be an instance of OpenGLInterface? How is it supposed to be
> initialized? I tried replacing "gl"with 1 - t he value answered by
> "OpenGLInterface new TRUE" just to get past this.
>
> Then I get an "unhandled exception occurred #(11 3062204388) in the
> method send to glXCreateConnecxt:with:with:with:  Should the little 1
> hack have worked?
>  
That's kind of odd, that shouldn't have failed.

> If the hack is good, the second walkback might be in my local
> environment. Here at Key we use visual works in a VNC session on X
> windows display :2 not :0. Visual works works just fine. The glxgears
> demo also works fine in this session (shell to linux; glxgears). But a
> glxgears -display :0 would fail "error: glXCreateContext failed"... A
> guess: is it possible the Smalltalk Open GL environment of
> Lesson00RenderContext is using default X display of 0? If so, any
> pointers how I would persuade it to use X display 2?
>
>  
It's possible, though I don't really have a good set up to try out this
scenario to see what's going on.

Using glxgears to check things out is a really good idea - if you can't
run glxgears on the display VisualWorks is using then VisualWorks won't
be able to do it either.

You also need OpenGL 2.0 or higher for the package to work. The software
renderer will likely give you OpenGL 1.5, check glxinfo to see what
you're going to get. Also, embedded graphics cards like Intel chipsets,
they aren't capable of shaders and buffer arrays, etc, so you'll also
not get OpenGL 2.0.

It seems like a lot of work to get a version of Linux that supports
modern OpenGL working properly. I certainly haven't put the effort in to
try and make that happen yet. The ironic thing is, "modern" here isn't
so modern at all... Linux and 3D graphics is considered a joke in the 3d
community in general. You -can- get it working and once you do it works
really well, but like most things in Linux, it rarely works out of the box.

Sorry for the bad news.. check glxinfo and let me know what it says.

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

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Michael Lucas-Smith-2
In reply to this post by Kevin-231
Kevin wrote:

>> From: [hidden email] On Behalf Of Alan Wostenberg
>>
>>
>> I was trying out the openGL tutorial in public store mentioned in
>> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
>> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
>>    
>
> I'm in the middle of these too, experimenting with OpenGL and Smalltalk.
>
>
>  
>> Should the expression "Lesson00RenderContext open" work?
>>    
>
> I don't think so... in the class comment there's a line
>
> OpenGL.Lessons.Lesson00RenderContext new demo
>
> which does work -- more or less anyway.  :-)  I'm on windows XP and
> I get a walkback on the second part of the demo method, creating a
> render context for an Image.  I didn't figure out why, yet; the rest
> of the lessons are mostly working for me and so I skipped on.
>
>  
I'm intending to rewrite the lessons so they show off something smaller.
I'm also going to include the extension and version requirements for
each lessons, so that if your graphics card is unable to support a
feature one of the lessons uses - you'll know instead of getting a DNU
at some random point that's confusing.

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

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Henrik Sperre Johansen
Concerning lesson5:
On Windows, FloatArray does not really like being treated like a window. (in initializeHDC and initializePixelFormat).
A quick fix is to reimplement those methods inRenderContextWin32FloatArray , and alter so:
initializeHDC -> setDisplayBox: (Rectangle origin: 0 @ 0 corner: 0 @ 0).
intializePixelFormat -> #cColorBits put: 32, same for cDepthBits.
Also, CopyMemory does not seem to work on my Windows 7 system at least, renaming the external call to:
<C: void RtlMoveMemory(PVOID Destination, const VOID* Source, SIZE_T Length)>
makes it work.
(From what I read, CopyMemory is an alias of RtlMoveMemory)

This way, at least the
computeTexture: call works :)

computeTransformFeedback: is still shaky on my machine (ATI HD4870), although ATI officially announced "full" support for GL3.0 in their January driver, I suspect they skimped a bit on the GLSL, as I get an error when binding the shader program.

Cheers,
Henry

On 28.02.2009 23:54, Michael Lucas-Smith wrote:
Kevin wrote:
  
From: [hidden email] On Behalf Of Alan Wostenberg


I was trying out the openGL tutorial in public store mentioned in 
Michael Lucas-Smith's recent blog entry in a Linux environment.  I 
loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
    
      
I'm in the middle of these too, experimenting with OpenGL and Smalltalk.


  
    
Should the expression "Lesson00RenderContext open" work?
    
      
I don't think so... in the class comment there's a line

OpenGL.Lessons.Lesson00RenderContext new demo

which does work -- more or less anyway.  :-)  I'm on windows XP and
I get a walkback on the second part of the demo method, creating a
render context for an Image.  I didn't figure out why, yet; the rest
of the lessons are mostly working for me and so I skipped on.

  
    
I'm intending to rewrite the lessons so they show off something smaller. 
I'm also going to include the extension and version requirements for 
each lessons, so that if your graphics card is unable to support a 
feature one of the lessons uses - you'll know instead of getting a DNU 
at some random point that's confusing.

Cheers,
Michael
_______________________________________________
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: [vwnc] GPGPU with OpenGL and VisualWorks

Henrik Sperre Johansen
I also have to note, using millisecondsToRun: instead of microSecondsToRun: when collecting compute/transfer times leads to wildly inaccurate results for small vector array sizes, since runs usually complete in 0, 1 or 2 milliseconds.
F.ex, the avg. transfer time for 1000 runs of size 8 on my machine went from 0.04 ms to 0.30 ms when changing from milli to micro-measurements. :)


On 01.03.2009 01:40, Henrik Sperre Johansen wrote:
Concerning lesson5:
On Windows, FloatArray does not really like being treated like a window. (in initializeHDC and initializePixelFormat).
A quick fix is to reimplement those methods inRenderContextWin32FloatArray , and alter so:
initializeHDC -> setDisplayBox: (Rectangle origin: 0 @ 0 corner: 0 @ 0).
intializePixelFormat -> #cColorBits put: 32, same for cDepthBits.
Also, CopyMemory does not seem to work on my Windows 7 system at least, renaming the external call to:
<C: void RtlMoveMemory(PVOID Destination, const VOID* Source, SIZE_T Length)>
makes it work.
(From what I read, CopyMemory is an alias of RtlMoveMemory)

This way, at least the
computeTexture: call works :)

computeTransformFeedback: is still shaky on my machine (ATI HD4870), although ATI officially announced "full" support for GL3.0 in their January driver, I suspect they skimped a bit on the GLSL, as I get an error when binding the shader program.

Cheers,
Henry

On 28.02.2009 23:54, Michael Lucas-Smith wrote:
Kevin wrote:
  
From: [hidden email] On Behalf Of Alan Wostenberg


I was trying out the openGL tutorial in public store mentioned in 
Michael Lucas-Smith's recent blog entry in a Linux environment.  I 
loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
    
      
I'm in the middle of these too, experimenting with OpenGL and Smalltalk.


  
    
Should the expression "Lesson00RenderContext open" work?
    
      
I don't think so... in the class comment there's a line

OpenGL.Lessons.Lesson00RenderContext new demo

which does work -- more or less anyway.  :-)  I'm on windows XP and
I get a walkback on the second part of the demo method, creating a
render context for an Image.  I didn't figure out why, yet; the rest
of the lessons are mostly working for me and so I skipped on.

  
    
I'm intending to rewrite the lessons so they show off something smaller. 
I'm also going to include the extension and version requirements for 
each lessons, so that if your graphics card is unable to support a 
feature one of the lessons uses - you'll know instead of getting a DNU 
at some random point that's confusing.

Cheers,
Michael
_______________________________________________
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


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

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Michael Lucas-Smith-2
In reply to this post by Henrik Sperre Johansen
Thanks I'll include these fixes soon.

Henrik Sperre Johansen wrote:

> Concerning lesson5:
> On Windows, FloatArray does not really like being treated like a
> window. (in initializeHDC and initializePixelFormat).
> A quick fix is to reimplement those methods
> inRenderContextWin32FloatArray , and alter so:
> initializeHDC -> setDisplayBox: (Rectangle origin: 0 @ 0 corner: 0 @ 0).
> intializePixelFormat -> #cColorBits put: 32, same for cDepthBits.
> Also, CopyMemory does not seem to work on my Windows 7 system at
> least, renaming the external call to:
> <C: void RtlMoveMemory(PVOID Destination, const VOID* Source, SIZE_T
> Length)>
> makes it work.
> (From what I read, CopyMemory is an alias of RtlMoveMemory)
>
> This way, at least the
> computeTexture: call works :)
>
> computeTransformFeedback: is still shaky on my machine (ATI HD4870),
> although ATI officially announced "full" support for GL3.0 in their
> January driver, I suspect they skimped a bit on the GLSL, as I get an
> error when binding the shader program.
>
> Cheers,
> Henry
>
> On 28.02.2009 23:54, Michael Lucas-Smith wrote:
>> Kevin wrote:
>>  
>>>> From: [hidden email] On Behalf Of Alan Wostenberg
>>>>
>>>>
>>>> I was trying out the openGL tutorial in public store mentioned in
>>>> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
>>>> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
>>>>    
>>>>      
>>> I'm in the middle of these too, experimenting with OpenGL and Smalltalk.
>>>
>>>
>>>  
>>>    
>>>> Should the expression "Lesson00RenderContext open" work?
>>>>    
>>>>      
>>> I don't think so... in the class comment there's a line
>>>
>>> OpenGL.Lessons.Lesson00RenderContext new demo
>>>
>>> which does work -- more or less anyway.  :-)  I'm on windows XP and
>>> I get a walkback on the second part of the demo method, creating a
>>> render context for an Image.  I didn't figure out why, yet; the rest
>>> of the lessons are mostly working for me and so I skipped on.
>>>
>>>  
>>>    
>> I'm intending to rewrite the lessons so they show off something smaller.
>> I'm also going to include the extension and version requirements for
>> each lessons, so that if your graphics card is unable to support a
>> feature one of the lessons uses - you'll know instead of getting a DNU
>> at some random point that's confusing.
>>
>> Cheers,
>> Michael
>> _______________________________________________
>> 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
>  

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

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Alan Wostenberg-2
In reply to this post by Michael Lucas-Smith-2
Thanks for the helpful tips, Michael.  I'll try them out Friday.  
Meanwhile glxinfo indicates I have less than the required 2.0 if I read
these aright.

server glx vendor string: SGI
server glx version string: 1.2
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
GLX version: 1.2
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4

-Alan Wostenberg


Michael Lucas-Smith wrote:

> Alan Wostenberg wrote:
>> I was trying out the openGL tutorial in public store mentioned in
>> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
>> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
>>  
> Disclaimer: I have not been testing on Linux.. at all. I really need
> someone who has a good linux set up to help me out here. I'll explain
> why further down in the email.
>> Should the expression "Lesson00RenderContext open" work?
>>  
> Lesson00RenderContext new demo
>> I try it and get a walkback - message not understood in
>> GLXRenderContextX11>>initializeContext. Very last line looks like
>>    context := xif glXCreateContext: displayHandle with: visualInfo
>> with: nil with: gl TRUE
>>  
> The RenderContext should have set up the gl variable in its #activate
> method. It's possible I didn't write the code for this correctly -
> compare with the Windows and MacOSX implementations. It's an instance
> of OpenGLInterface. It's also meant to be removed in #deactivate,
> otherwise it's possible to accidently make OpenGL calls while the
> context is disabled.
>
> Also, the Linux implementation doesn't do what the Windows
> implementation does yet - which is to create bindings to the functions
> dynamically. It needs to do this at some point in the future, in which
> case gl will be an instance of a lightweight copy of OpenGLInterface.
>> gl is nil. It is not defined as an instance var or anything.  I
>> assume it wants to be an instance of OpenGLInterface? How is it
>> supposed to be initialized? I tried replacing "gl"with 1 - t he value
>> answered by "OpenGLInterface new TRUE" just to get past this.
>>
>> Then I get an "unhandled exception occurred #(11 3062204388) in the
>> method send to glXCreateConnecxt:with:with:with:  Should the little 1
>> hack have worked?
>>  
> That's kind of odd, that shouldn't have failed.
>> If the hack is good, the second walkback might be in my local
>> environment. Here at Key we use visual works in a VNC session on X
>> windows display :2 not :0. Visual works works just fine. The glxgears
>> demo also works fine in this session (shell to linux; glxgears). But
>> a glxgears -display :0 would fail "error: glXCreateContext failed"...
>> A guess: is it possible the Smalltalk Open GL environment of
>> Lesson00RenderContext is using default X display of 0? If so, any
>> pointers how I would persuade it to use X display 2?
>>
>>  
> It's possible, though I don't really have a good set up to try out
> this scenario to see what's going on.
>
> Using glxgears to check things out is a really good idea - if you
> can't run glxgears on the display VisualWorks is using then
> VisualWorks won't be able to do it either.
>
> You also need OpenGL 2.0 or higher for the package to work. The
> software renderer will likely give you OpenGL 1.5, check glxinfo to
> see what you're going to get. Also, embedded graphics cards like Intel
> chipsets, they aren't capable of shaders and buffer arrays, etc, so
> you'll also not get OpenGL 2.0.
>
> It seems like a lot of work to get a version of Linux that supports
> modern OpenGL working properly. I certainly haven't put the effort in
> to try and make that happen yet. The ironic thing is, "modern" here
> isn't so modern at all... Linux and 3D graphics is considered a joke
> in the 3d community in general. You -can- get it working and once you
> do it works really well, but like most things in Linux, it rarely
> works out of the box.
>
> Sorry for the bad news.. check glxinfo and let me know what it says.
>
> Cheers,
> Michael
>


-----------------------------------------
Key Technology, Inc. Disclaimer Notice - The information and
attachment(s) contained in this communication are intended for the
addressee only, and may be confidential and/or legally privileged.
If you have received this communication in error, please contact
the sender immediately, and delete this communication from any
computer or network system. Any interception, review, printing,
copying, re-transmission, dissemination, or other use of, or taking
of any action upon this information by persons or entities other
than the intended recipient is strictly prohibited by law and may
subject them to criminal or civil liability. Key Technology, Inc.
is not liable for the improper and/or incomplete transmission of
the information contained in this communication or for any delay in
its receipt.
_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] GPGPU with OpenGL and VisualWorks

Michael Lucas-Smith-2
That's right - it also doesn't mention DRI, which is required for
getting hardware accelerated graphics on Linux. (Direct Rendering
Interface).

Cheers,
Michael

Alan Wostenberg wrote:

> Thanks for the helpful tips, Michael.  I'll try them out Friday.  
> Meanwhile glxinfo indicates I have less than the required 2.0 if I read
> these aright.
>
> server glx vendor string: SGI
> server glx version string: 1.2
> client glx vendor string: NVIDIA Corporation
> client glx version string: 1.4
> GLX version: 1.2
> OpenGL vendor string: Mesa project: www.mesa3d.org
> OpenGL renderer string: Mesa GLX Indirect
> OpenGL version string: 1.3 Mesa 4.0.4
>
> -Alan Wostenberg
>
>
> Michael Lucas-Smith wrote:
>  
>> Alan Wostenberg wrote:
>>    
>>> I was trying out the openGL tutorial in public store mentioned in
>>> Michael Lucas-Smith's recent blog entry in a Linux environment.  I
>>> loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
>>>  
>>>      
>> Disclaimer: I have not been testing on Linux.. at all. I really need
>> someone who has a good linux set up to help me out here. I'll explain
>> why further down in the email.
>>    
>>> Should the expression "Lesson00RenderContext open" work?
>>>  
>>>      
>> Lesson00RenderContext new demo
>>    
>>> I try it and get a walkback - message not understood in
>>> GLXRenderContextX11>>initializeContext. Very last line looks like
>>>    context := xif glXCreateContext: displayHandle with: visualInfo
>>> with: nil with: gl TRUE
>>>  
>>>      
>> The RenderContext should have set up the gl variable in its #activate
>> method. It's possible I didn't write the code for this correctly -
>> compare with the Windows and MacOSX implementations. It's an instance
>> of OpenGLInterface. It's also meant to be removed in #deactivate,
>> otherwise it's possible to accidently make OpenGL calls while the
>> context is disabled.
>>
>> Also, the Linux implementation doesn't do what the Windows
>> implementation does yet - which is to create bindings to the functions
>> dynamically. It needs to do this at some point in the future, in which
>> case gl will be an instance of a lightweight copy of OpenGLInterface.
>>    
>>> gl is nil. It is not defined as an instance var or anything.  I
>>> assume it wants to be an instance of OpenGLInterface? How is it
>>> supposed to be initialized? I tried replacing "gl"with 1 - t he value
>>> answered by "OpenGLInterface new TRUE" just to get past this.
>>>
>>> Then I get an "unhandled exception occurred #(11 3062204388) in the
>>> method send to glXCreateConnecxt:with:with:with:  Should the little 1
>>> hack have worked?
>>>  
>>>      
>> That's kind of odd, that shouldn't have failed.
>>    
>>> If the hack is good, the second walkback might be in my local
>>> environment. Here at Key we use visual works in a VNC session on X
>>> windows display :2 not :0. Visual works works just fine. The glxgears
>>> demo also works fine in this session (shell to linux; glxgears). But
>>> a glxgears -display :0 would fail "error: glXCreateContext failed"...
>>> A guess: is it possible the Smalltalk Open GL environment of
>>> Lesson00RenderContext is using default X display of 0? If so, any
>>> pointers how I would persuade it to use X display 2?
>>>
>>>  
>>>      
>> It's possible, though I don't really have a good set up to try out
>> this scenario to see what's going on.
>>
>> Using glxgears to check things out is a really good idea - if you
>> can't run glxgears on the display VisualWorks is using then
>> VisualWorks won't be able to do it either.
>>
>> You also need OpenGL 2.0 or higher for the package to work. The
>> software renderer will likely give you OpenGL 1.5, check glxinfo to
>> see what you're going to get. Also, embedded graphics cards like Intel
>> chipsets, they aren't capable of shaders and buffer arrays, etc, so
>> you'll also not get OpenGL 2.0.
>>
>> It seems like a lot of work to get a version of Linux that supports
>> modern OpenGL working properly. I certainly haven't put the effort in
>> to try and make that happen yet. The ironic thing is, "modern" here
>> isn't so modern at all... Linux and 3D graphics is considered a joke
>> in the 3d community in general. You -can- get it working and once you
>> do it works really well, but like most things in Linux, it rarely
>> works out of the box.
>>
>> Sorry for the bad news.. check glxinfo and let me know what it says.
>>
>> Cheers,
>> Michael
>>
>>    
>
>
> -----------------------------------------
> Key Technology, Inc. Disclaimer Notice - The information and
> attachment(s) contained in this communication are intended for the
> addressee only, and may be confidential and/or legally privileged.
> If you have received this communication in error, please contact
> the sender immediately, and delete this communication from any
> computer or network system. Any interception, review, printing,
> copying, re-transmission, dissemination, or other use of, or taking
> of any action upon this information by persons or entities other
> than the intended recipient is strictly prohibited by law and may
> subject them to criminal or civil liability. Key Technology, Inc.
> is not liable for the improper and/or incomplete transmission of
> the information contained in this communication or for any delay in
> its receipt.
> _______________________________________________
> 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: [vwnc] GPGPU with OpenGL and VisualWorks

Michael Lucas-Smith-2
In reply to this post by Henrik Sperre Johansen
I've integrated these fixes. Thanks!

2009/2/28 Henrik Sperre Johansen <[hidden email]>
Concerning lesson5:
On Windows, FloatArray does not really like being treated like a window. (in initializeHDC and initializePixelFormat).
A quick fix is to reimplement those methods inRenderContextWin32FloatArray , and alter so:
initializeHDC -> setDisplayBox: (Rectangle origin: 0 @ 0 corner: 0 @ 0).
intializePixelFormat -> #cColorBits put: 32, same for cDepthBits.
Also, CopyMemory does not seem to work on my Windows 7 system at least, renaming the external call to:
<C: void RtlMoveMemory(PVOID Destination, const VOID* Source, SIZE_T Length)>
makes it work.
(From what I read, CopyMemory is an alias of RtlMoveMemory)

This way, at least the
computeTexture: call works :)

computeTransformFeedback: is still shaky on my machine (ATI HD4870), although ATI officially announced "full" support for GL3.0 in their January driver, I suspect they skimped a bit on the GLSL, as I get an error when binding the shader program.

Cheers,
Henry


On 28.02.2009 23:54, Michael Lucas-Smith wrote:
Kevin wrote:
  
From: [hidden email] On Behalf Of Alan Wostenberg


I was trying out the openGL tutorial in public store mentioned in 
Michael Lucas-Smith's recent blog entry in a Linux environment.  I 
loaded latest OpenGl-Linux, OpenGL-Lessons from public Store.
    
      
I'm in the middle of these too, experimenting with OpenGL and Smalltalk.


  
    
Should the expression "Lesson00RenderContext open" work?
    
      
I don't think so... in the class comment there's a line

OpenGL.Lessons.Lesson00RenderContext new demo

which does work -- more or less anyway.  :-)  I'm on windows XP and
I get a walkback on the second part of the demo method, creating a
render context for an Image.  I didn't figure out why, yet; the rest
of the lessons are mostly working for me and so I skipped on.

  
    
I'm intending to rewrite the lessons so they show off something smaller. 
I'm also going to include the extension and version requirements for 
each lessons, so that if your graphics card is unable to support a 
feature one of the lessons uses - you'll know instead of getting a DNU 
at some random point that's confusing.

Cheers,
Michael
_______________________________________________
vwnc mailing list


_______________________________________________
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