[ANN] GLMorphic meets the public

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

[ANN] GLMorphic meets the public

Igor Stasenko
See details at http://wiki.squeak.org/squeak/6003.

Thanks Goran for providing hosting for files.

Try it out, any comments and help are appreciated.
Don't blame me if something not working, its in alpha stage. :)

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Andreas.Raab
Hm ... doesn't quite work for me here. See attached screenshot.

Cheers,
   - Andreas

Igor Stasenko wrote:
> See details at http://wiki.squeak.org/squeak/6003.
>
> Thanks Goran for providing hosting for files.
>
> Try it out, any comments and help are appreciated.
> Don't blame me if something not working, its in alpha stage. :)
>




GLMorphic.JPG (79K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Igor Stasenko
Nice mess! :)

possible reasons:
- bad depth of rendered forms (currently i convert all to 32bpp)
- your OpenGL library is too old and don't support textures with non
power of 2 dimensions.

OpenGL 2.0  supports non power of two textures by default.
Earlier versions must have extension which support nonp2 textures.


On 24/08/07, Andreas Raab <[hidden email]> wrote:

> Hm ... doesn't quite work for me here. See attached screenshot.
>
> Cheers,
>    - Andreas
>
> Igor Stasenko wrote:
> > See details at http://wiki.squeak.org/squeak/6003.
> >
> > Thanks Goran for providing hosting for files.
> >
> > Try it out, any comments and help are appreciated.
> > Don't blame me if something not working, its in alpha stage. :)
> >
>
>
>
>
>
>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Andreas.Raab
Igor Stasenko wrote:
> possible reasons:
> - bad depth of rendered forms (currently i convert all to 32bpp)

How do I find out and how would I fix it?

> - your OpenGL library is too old and don't support textures with non
> power of 2 dimensions.

You mean ARB_texture_rectangle? Indeed, it doesn't support that. Which
has nothing to do with "oldness" btw, the box isn't even a year old.
It's just a very cheap 3D chip. I'd really recommend to gracefully fall
back to pow2 textures if rectangular textures aren't supported.

> OpenGL 2.0  supports non power of two textures by default.
> Earlier versions must have extension which support nonp2 textures.

Are you planning to require 2.0? That'll cut your potential audience
rather quickly ...

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Derek O'Connell
In reply to this post by Igor Stasenko
Hi Sig, I'm off away today so can't spend much time on it but I installed it on a fresh squeak-dev image (sq3.9-7067dev07.08.1.zip). Here my spec's...

WinXP Home SP2
Mobile AMD64 3000+
ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2 (64Meg)
OpenGL 2.0.6590 WinXP Release
glinfo-report.htm

With default squeak-dev windows, minimised, plus a workspace and transcripter, I enabling then disabled no problem. I then enabled again and tried dragging some windows around but the pointer disappears on mouse-down and there are no display updates while dragging so no idea where I'm dragging to. However once mouse released then window appears in dragged-to position.

Next I disabled, opened objects window and dragged out: MovingEye, Blob x2, BouncingAtoms x2, Flasher x2 and a TrueTypeBanner and enabled. TrueTypeBanner disappears, Flashers are non-smoothed (become 8-sided) but the blobs now have a nice shaded effect and folds show up :-). Fonts elsewhere look ok but I suspect existing bitmaps are used. Balloon text was at first garbage but ok after a few enable-disable cycles. I could tell by square borders and fan-speed ramp-up that GL was indeed working. To double check I disable and drag out a FrameRate morph. Now when enabled the FrameRate morph text is a solid block of colour, occasionally showing a character (but where a number should be displayed). I suspect NPO2 is not the problem and maybe you are using MS function to render text? I specifically remember MS text rendering to be problematic when I tried it years ago. I'll try to dig out any notes I have when I get back next week.

Bringing up the world menu shows corrupted text (expected) in the menu itself and now elsewhere, such as the Objects dialog and in the workspace.

On disabling I just about catch the FrameRate morph reporting ~107fps before dropping back to ~25fps.

Good start!

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Igor Stasenko
In reply to this post by Andreas.Raab
On 24/08/07, Andreas Raab <[hidden email]> wrote:
> Igor Stasenko wrote:
> > possible reasons:
> > - bad depth of rendered forms (currently i convert all to 32bpp)
>
> How do I find out and how would I fix it?
>

Try to play with GLCanvas>>image: form at: aPoint sourceRect:
sourceRect rule: rule
by using different forms, with different depth/extents:

| canv |
canv := GLDisplayScreen testCanvas.
canv dimensionsChanged.
canv image: form at: 0@0 sourceRect: (0@0 corner: w@h) rule: 0.
canv ogl glFlush.

I want to know, is this a problem with non power of 2 or somethings else.

I could write a tests in GLTests someday to check  texturing support.


> > - your OpenGL library is too old and don't support textures with non
> > power of 2 dimensions.
>
> You mean ARB_texture_rectangle? Indeed, it doesn't support that. Which
> has nothing to do with "oldness" btw, the box isn't even a year old.
> It's just a very cheap 3D chip. I'd really recommend to gracefully fall
> back to pow2 textures if rectangular textures aren't supported.
>
No, its different extension.
http://oss.sgi.com/projects/ogl-sample/registry/ARB/texture_non_power_of_two.txt

> > OpenGL 2.0  supports non power of two textures by default.
> > Earlier versions must have extension which support nonp2 textures.
>
> Are you planning to require 2.0? That'll cut your potential audience
> rather quickly ...

I have access to two PC's, both are 3+ years old and both have GL 2.0 support.
But you are right that better to support older versions too.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Igor Stasenko
by Derek O'Connell Aug 24, 2007; 11:41am :: Rate this Message: (use
ratings to moderate[?])


Hi Sig, I'm off away today so can't spend much time on it but I
installed it on a fresh squeak-dev image (sq3.9-7067dev07.08.1.zip).
Here my spec's...

WinXP Home SP2
Mobile AMD64 3000+
ATI MOBILITY RADEON X700 x86/MMX/3DNow!/SSE2 (64Meg)
OpenGL 2.0.6590 WinXP Release
glinfo-report.htm

>With default squeak-dev windows, minimised, plus a workspace and
transcripter, I >enabling then disabled no problem. I then enabled
again and tried dragging some windows >around but the pointer
disappears on mouse-down and there are no display updates while
>dragging so no idea where I'm dragging to. However once mouse
released then window >appears in dragged-to position.

Yes i disabled updating while draggin, because it requires an overlay
support (which is not done yet).
I plan to implement a caching canvas which will work by using FBO.
Morph carried by hand (when you dragging it) is rendered on cached
surface and then is  drawn as overlay on main surface.


>Next I disabled, opened objects window and dragged out: MovingEye,
Blob x2, >BouncingAtoms x2, Flasher x2 and a TrueTypeBanner and
enabled. TrueTypeBanner >disappears, Flashers are non-smoothed (become
8-sided) but the blobs now have a nice >shaded effect and folds show
up :-). Fonts elsewhere look ok but I suspect existing >bitmaps are
used. Balloon text was at first garbage but ok after a few
enable-disable >cycles. I could tell by square borders and fan-speed
ramp-up that GL was indeed working. >To double check I disable and
drag out a FrameRate morph. Now when enabled the >FrameRate morph text
is a solid block of colour, occasionally showing a character (but
>where a number should be displayed). I suspect NPO2 is not the
problem and maybe you >are using MS function to render text? I
specifically remember MS text rendering to be >problematic when I
tried it years ago. I'll try to dig out any notes I have when I get
back >next week.

Yes, there are many issues with morphs. Mainly because they written in
style assuming that they drawn by software blitter. I didn't tested
much of morphs, just basics by now.
In my image baloon text rendered as garbage too. :)
There are issues with font rendering and bitmap formats used by
squeak, which need to be translated before GL can use them as
textures/bitmaps , like byte order in word, bit order in byte e.t.c.


>Bringing up the world menu shows corrupted text (expected) in the
menu itself and now >elsewhere, such as the Objects dialog and in the
workspace.

If fonts corrupted, you can use  Display getCanvas flushCache. It can
help, because it frees all cached glyphs and reloads textures for all
used fonts again.


>On disabling I just about catch the FrameRate morph reporting ~107fps
before dropping >back to ~25fps.


Good start!

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] GLMorphic meets the public

Igor Stasenko
> >On disabling I just about catch the FrameRate morph reporting ~107fps
> before dropping >back to ~25fps.
>

A morphic framerate is locked to maximum 50 fps (with 20 msecs delay
between frames).
See WorldState>>startBackgroundProcess.


--
Best regards,
Igor Stasenko AKA sig.