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 |
> 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 |
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? > > 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 |
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 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 |
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 |
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:
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
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 |
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 |
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 |
In reply to this post by Henrik Sperre Johansen
I've integrated these fixes. Thanks!
2009/2/28 Henrik Sperre Johansen <[hidden email]>
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |