Today i'm happy to announce that i can run my 2 years-old demo which i
did when created NBOpenGL bindings first on Windows, working without ANY changes in code on Mac. The main hurdle with adding MacOsx support was that it is largely unknown platform to me , and there are 3 different ways to get there, namely CGL, Carbon and Cocoa. Fortunately CGL approach worked well, despite its a bit limited (you cannot create a windowed context, only fullscreen or offscreen one). But since i am using FBO's , it doesn't really matters. Of course it may make difference for people who want to use GL in different setup. In order to load project, take a fresh Pharo 1.4 image, load ConfigurationOfNBOpenGL package using MC from MCHttpRepository location: 'http://www.squeaksource.com/NBOpenGL' user: 'sig' password: '' or by Gofer it squeaksource: 'NBOpenGL'; package: 'ConfigurationOfNBOpenGL'; load and then issue: ConfigurationOfNBOpenGL project lastVersion load. Remember, that you have to use CogVM with NativeBoost plugin, which you can download from here: https://ci.lille.inria.fr/pharo/view/NativeBoost/job/NB-Cog-Mac-Carbon/lastSuccessfulBuild/artifact/ If everything goes well, you should be able to run a demo by doing: GLTTRenderingDemo new openInWorld. P.S. @ Windows users: due to refactorings which i did, a windows-specific support code is currently broken. So please use older versions of packages (prior to this month). I will fix them very soon. -- Best regards, Igor Stasenko. |
OK, I've got NB and NBOpenGL isntalled on my Mac.
Very slick! I'm doing a video on how to install it for my tutorial series. However, many things pop up as I experiment. If I attempt to create more than one instance of the demo I sometimes get errors. If the instances create without error, then resizing one window will resize the drawing a the other, even though they are still drawing different images. Regardless, very slick and smooth. I hope that this becomes an extremely popular package for both Pharo and Squeak and eventually will let us use OpenGL as the main drawing engine at the lowest level (or other 3D engines as they become available). test := GLTTRenderingDemo new openInWorld. test1 := GLTTRenderingDemo new openInWorld. Lawson On 1/20/12 11:52 AM, Igor Stasenko wrote: > Today i'm happy to announce that i can run my 2 years-old demo which i > did when created NBOpenGL bindings first on Windows, > working without ANY changes in code on Mac. > > The main hurdle with adding MacOsx support was that it is largely > unknown platform to me , and there are 3 different ways to get there, > namely CGL, Carbon and Cocoa. > Fortunately CGL approach worked well, despite its a bit limited (you > cannot create a windowed context, only fullscreen or offscreen one). > But since i am using FBO's , it doesn't really matters. > Of course it may make difference for people who want to use GL in > different setup. > |
In reply to this post by Igor Stasenko
I created a new video how to for installing NativeBoost OpenGL on Pharo
1.4 Smalltalk on the Mac: http://www.youtube.com/watch?v=RAvlIVG4biM Igor, your code is very nice. I think there's a lot of potential here for NativeBoost and OpenGL that might attract new classes of programmers to smalltalk. I'd be happy to help create demos and videos of what can be done. Lawson On 1/20/12 11:52 AM, Igor Stasenko wrote: > Today i'm happy to announce that i can run my 2 years-old demo which i > did when created NBOpenGL bindings first on Windows, > working without ANY changes in code on Mac. > > The main hurdle with adding MacOsx support was that it is largely > unknown platform to me , and there are 3 different ways to get there, > namely CGL, Carbon and Cocoa. > Fortunately CGL approach worked well, despite its a bit limited (you > cannot create a windowed context, only fullscreen or offscreen one). > But since i am using FBO's , it doesn't really matters. > Of course it may make difference for people who want to use GL in > different setup. > > In order to load project, take a fresh Pharo 1.4 image, load > > ConfigurationOfNBOpenGL package using MC from > > MCHttpRepository > location: 'http://www.squeaksource.com/NBOpenGL' > user: 'sig' > password: '' > > > or by > > Gofer it > squeaksource: 'NBOpenGL'; > package: 'ConfigurationOfNBOpenGL'; > load > > and then issue: > > ConfigurationOfNBOpenGL project lastVersion load. > > Remember, that you have to use CogVM with NativeBoost plugin, which > you can download from here: > > https://ci.lille.inria.fr/pharo/view/NativeBoost/job/NB-Cog-Mac-Carbon/lastSuccessfulBuild/artifact/ > > > If everything goes well, you should be able to run a demo by doing: > > GLTTRenderingDemo new openInWorld. > > P.S. @ Windows users: due to refactorings which i did, a > windows-specific support code is currently broken. So please use older > versions of packages (prior to this month). > I will fix them very soon. > > |
Nice looking.
Karl On Sun, Jan 22, 2012 at 4:23 AM, Lawson English <[hidden email]> wrote: I created a new video how to for installing NativeBoost OpenGL on Pharo 1.4 Smalltalk on the Mac: http://www.youtube.com/watch?v=RAvlIVG4biM |
On 22 January 2012 21:29, karl ramberg <[hidden email]> wrote:
> Nice looking. > btw, on recorded video the font glyph having rough edges.. look's like Lawson's GL engine doesn't supports a shader which is responsible for rendering smooth edges. but again it was demo to show that you can do things with opengl.., not to show that to make it work everywhere, you have to spend many torturing sessions trying to support various graphic cards vendors and their drivers while still keeping your rendering approach in mind :). > Karl > On Sun, Jan 22, 2012 at 4:23 AM, Lawson English <[hidden email]> wrote: >> >> I created a new video how to for installing NativeBoost OpenGL on Pharo >> 1.4 Smalltalk on the Mac: http://www.youtube.com/watch?v=RAvlIVG4biM >> >> Igor, your code is very nice. I think there's a lot of potential here for >> NativeBoost and OpenGL that might attract new classes of programmers to >> smalltalk. I'd be happy to help create demos and videos of what can be done. >> >> >> Lawson >> >> >> >> On 1/20/12 11:52 AM, Igor Stasenko wrote: >>> >>> Today i'm happy to announce that i can run my 2 years-old demo which i >>> did when created NBOpenGL bindings first on Windows, >>> working without ANY changes in code on Mac. >>> >>> The main hurdle with adding MacOsx support was that it is largely >>> unknown platform to me , and there are 3 different ways to get there, >>> namely CGL, Carbon and Cocoa. >>> Fortunately CGL approach worked well, despite its a bit limited (you >>> cannot create a windowed context, only fullscreen or offscreen one). >>> But since i am using FBO's , it doesn't really matters. >>> Of course it may make difference for people who want to use GL in >>> different setup. >>> >>> In order to load project, take a fresh Pharo 1.4 image, load >>> >>> ConfigurationOfNBOpenGL package using MC from >>> >>> MCHttpRepository >>> location: 'http://www.squeaksource.com/NBOpenGL' >>> user: 'sig' >>> password: '' >>> >>> >>> or by >>> >>> Gofer it >>> squeaksource: 'NBOpenGL'; >>> package: 'ConfigurationOfNBOpenGL'; >>> load >>> >>> and then issue: >>> >>> ConfigurationOfNBOpenGL project lastVersion load. >>> >>> Remember, that you have to use CogVM with NativeBoost plugin, which >>> you can download from here: >>> >>> >>> https://ci.lille.inria.fr/pharo/view/NativeBoost/job/NB-Cog-Mac-Carbon/lastSuccessfulBuild/artifact/ >>> >>> >>> If everything goes well, you should be able to run a demo by doing: >>> >>> GLTTRenderingDemo new openInWorld. >>> >>> P.S. @ Windows users: due to refactorings which i did, a >>> windows-specific support code is currently broken. So please use older >>> versions of packages (prior to this month). >>> I will fix them very soon. >>> >>> >> >> > > > > -- Best regards, Igor Stasenko. |
On 1/22/12 4:33 PM, Igor Stasenko wrote:
> On 22 January 2012 21:29, karl ramberg<[hidden email]> wrote: >> Nice looking. >> > btw, on recorded video the font glyph having rough edges.. > look's like Lawson's GL engine doesn't supports a shader which is > responsible for rendering smooth edges. > but again it was demo to show that you can do things with opengl.., > not to show that to make it work everywhere, > you have to spend many torturing sessions trying to support various > graphic cards vendors > and their drivers while still keeping your rendering approach in mind :). > > development: it is easier and faster to do the torturing sessions using an integrated development environment with immediate feedback... People have been saying that no-one would want to use Smalltalk unless you can show them a situation where you can accomplish something that can't be done in another language. Obviously that is not possible since all Turing Complete languages can everything. BUT, showing how the environment facilitates development IS a real Smalltalk/Squeak/Pharo advantage. I'm not an OpenGL guru. I'm barely a beginner. My knowledge level is the level I acquired by porting the NeHe tutorials. But I should be able to create some killer demos with a little help. L. |
In reply to this post by LawsonEnglish
On 1/22/12 4:27 PM, Igor Stasenko wrote:
> > On 22 January 2012 15:13, Stéphane Ducasse<[hidden email]> wrote: >> On Jan 22, 2012, at 1:29 PM, Lawson English wrote: >> >> >>> 2) large windows tended to leave a lot of artifacts behind during movement (the video shows this towards the end). > there is two "modes" to blit on Morphic display - one is just copy > directly to Display, and another is to separate form and then draw > that form as usual. > so, these artefact is not related to OpenGL per se, but mainly to how > you make rendered results appear integrated in morphic. Is there a way to directly draw to the system window using OpenGL so that intermediate software blitting is eliminated? The integration of 3D and 2D on the squeak desktop (World morph) would be much easier and faster if there weren't so many layers of copying being done, as is the case with my demo video. If there IS a way, can you create a demo of it,, or explain to me how to create a demo of it? Thanks, Lawson |
Am 23.01.2012 18:03, schrieb Lawson English:
> > Is there a way to directly draw to the system window using OpenGL so that intermediate software blitting is eliminated? > The opengl context is already drawing directly to the screen (or rather, to the back buffer managed by opengl). There is no intermediate software blitting involved AFAIK. Cheers, Hans-Martin |
Kool. So how could I make the entire World a drawing surface so that I
could use the OpenGL drawing throughout the entire squeak/pharo OS window, instead of within another window? Could a 2D/3D mashup like I have in this video be accomplished? The fps is too slow to be useable for most things, at this point: http://www.youtube.com/watch?v=nSLZKIXeXR4 On 1/23/12 3:00 PM, Hans-Martin Mosner wrote: > Am 23.01.2012 18:03, schrieb Lawson English: >> Is there a way to directly draw to the system window using OpenGL so that intermediate software blitting is eliminated? >> > The opengl context is already drawing directly to the screen (or rather, to the back buffer managed by opengl). > There is no intermediate software blitting involved AFAIK. > > Cheers, > Hans-Martin > > |
In reply to this post by Igor Stasenko
Kool. So how could I make the entire World a drawing surface so that I
could use the OpenGL drawing throughout the entire squeak/pharo OS window, instead of within another window? Could a 2D/3D mashup like I have in this video be accomplished? The fps is too slow to be useable for most things, at this point: http://www.youtube.com/watch?v=nSLZKIXeXR4 On 1/23/12 3:00 PM, Hans-Martin Mosner wrote: > Am 23.01.2012 18:03, schrieb Lawson English: >> Is there a way to directly draw to the system window using OpenGL so that intermediate software blitting is eliminated? >> > The opengl context is already drawing directly to the screen (or rather, to the back buffer managed by opengl). > There is no intermediate software blitting involved AFAIK. > > Cheers, > Hans-Martin > > |
Free forum by Nabble | Edit this page |