VW 7.8 and OpenGL tessellation

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

VW 7.8 and OpenGL tessellation

askoh
Administrator
How can I get Visualworks to use OpenGL tessellation?

Thanks,
Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW 7.8 and OpenGL tessellation

Michael Lucas-Smith-2
It's quite involved. OpenGL 4 and up provide support for it, if your hardware supports it and the drivers for your operating system support it. Lots of IFs there. If all that is valid, you need to initialize the OpenGL context using the v4 profile, which is done when the OpenGLContext is created - it's one of the specialized window attributes and is different for each operating system.

Without specifying that you want an OGL 3 or OGL 4 profile, you end up with OGL 2 and none of the new pipeline APIs. Next, you'd need to add the functions and defines to the OpenGLInterface which will, at this point, dynamically link up on the context when you create it with the right OpenGL profile. At this point, you should be able to create a Shader instance using the geometry shader4 defines and add it to your Program pipeline and all should be well.

If any of the above makes you feel uncomfortable, I recommend you first attempt to write the program in C or C++ where you'll possibly be able to find reasonably up to date tutorials.. may be. I'd also recommend using an NVidia card if you're experimenting with tessellation - the ATIs were not designed for it and didn't put much emphasis on it.. their skills lie in different areas of the pipeline.

Lighthouse 3D might have tesselation tutorials by now, I'm not sure.. they're usually pretty up to date on new opengl features. Beyond that, your best bet will be the various GPU Gem books - though they are often DX11 heavy these days.

Michael

On May 15, 2012, at 6:39 PM, askoh wrote:

> How can I get Visualworks to use OpenGL tessellation?
>
> Thanks,
> Aik-Siong Koh
>
> --
> View this message in context: http://forum.world.st/VW-7-8-and-OpenGL-tessellation-tp4630411.html
> Sent from the VisualWorks mailing list archive at Nabble.com.
> _______________________________________________
> 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: VW 7.8 and OpenGL tessellation

askoh
Administrator
Michael:

Thanks. I want to do it.

I have the hardware
Window Rendering:
        Vendor: ATI Technologies Inc.
        Renderer: AMD Radeon(TM) HD 6520G
        Version: 4.1.11156 Compatibility Profile Context
        VSync Enabled: true
I am running Win7 64bit.

How do I set the v4 profile?
How do I add the functions and defines to OpenGLInterface?

Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW 7.8 and OpenGL tessellation

Michael Lucas-Smith-2
The functions and defines you'll find in a number of locations:
a) www.opengl.org contains all the function APIs in the v4 documentation
b) www.opengl.org contains the EXT and ARB specifications which include the #define's
c) gl.h contains all the functions and defines for your platform.

You can cross reference the OpenGL 4 manual (pdf) with the functions for the tesselation pipeline that you want and then fetch the appropriate pieces out of the gl.h file and copy them in to OpenGLInterface.

Creating the context profile is platform specific, you can see the Windows (WGL) API for doing this about near the bottom of the page from www.opengl.org under the section "Create Context with Attributes" which describes how to create an OpenGL 3.x profile. This is the same technique to create an OpenGL 4.x profile. Again, the defines and functions you'll need will be in wgl.h this time.


Cheers,
Michael

On May 16, 2012, at 6:05 PM, askoh wrote:

Michael:

Thanks. I want to do it.

I have the hardware
Window Rendering:
Vendor: ATI Technologies Inc.
Renderer: AMD Radeon(TM) HD 6520G
Version: 4.1.11156 Compatibility Profile Context
VSync Enabled: true
I am running Win7 64bit.

How do I set the v4 profile?
How do I add the functions and defines to OpenGLInterface?

Aik-Siong Koh

--
View this message in context: http://forum.world.st/VW-7-8-and-OpenGL-tessellation-tp4630411p4630590.html
Sent from the VisualWorks mailing list archive at Nabble.com.
_______________________________________________
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: VW 7.8 and OpenGL tessellation

askoh
Administrator
In VW 7.8.1 System Browser, I select WGLInterface class. I do not see the libraries associated with the interface. I see
#(#libraryFiles #())

I see the libraries when I inspect WGLInterface or when I use External Interface Finder.
gdi32.dll
kernel32.dll
opengl32.dll
user32.dll

How were they bound to WGLInterface?

Thanks,
Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

Re: VW 7.8 and OpenGL tessellation

Boris Popov, DeepCove Labs (SNN)
Have a look at its class-side methods, libraries can now be bound by
using pragma-tagged methods, which has many distinct advantages over the
class definition.

-Boris

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On
Behalf Of askoh
Sent: Sunday, June 03, 2012 9:09 PM
To: [hidden email]
Subject: Re: [vwnc] VW 7.8 and OpenGL tessellation

In VW 7.8.1 System Browser, I select WGLInterface class. I do not see
the libraries associated with the interface. I see #(#libraryFiles #())

I see the libraries when I inspect WGLInterface or when I use External
Interface Finder.
gdi32.dll
kernel32.dll
opengl32.dll
user32.dll

How were they bound to WGLInterface?

Thanks,
Aik-Siong Koh

--
View this message in context:
http://forum.world.st/VW-7-8-and-OpenGL-tessellation-tp4630411p4633097.h
tml
Sent from the VisualWorks mailing list archive at Nabble.com.
_______________________________________________
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: VW 7.8 and OpenGL tessellation

askoh
Administrator
Thanks. I don't see that in the doc DLLandCConnectGuide.pdf. Any doc explaining how the pragmas work?

Aik-Siong
Reply | Threaded
Open this post in threaded view
|

Re: VW 7.8 and OpenGL tessellation

Boris Popov, DeepCove Labs (SNN)
I'm not sure about the docs, but you could always just look at the code
on ExternalInterface,

#libraryMethodTags
#rebuildTaggedLibraries
#taggedLibraryDefinitions
#reloadTaggedLibraryFile:
#platformIDInMethodTag:
#knownPlatformIDs

Here's one example,

FreeImageInterface class>>windowsLibrary
       
        <library: #win>
        ^'miscdll\freeimage380.dll'.

LibTIFFInterface class>>windowsLibrary
       
        <library: #win>
        ^'libtiff3\libtiff3.dll'.

-Boris

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On
Behalf Of askoh
Sent: Monday, June 04, 2012 12:01 AM
To: [hidden email]
Subject: Re: [vwnc] VW 7.8 and OpenGL tessellation

Thanks. I don't see that in the doc DLLandCConnectGuide.pdf. Any doc
explaining how the pragmas work?

Aik-Siong

--
View this message in context:
http://forum.world.st/VW-7-8-and-OpenGL-tessellation-tp4630411p4633106.h
tml
Sent from the VisualWorks mailing list archive at Nabble.com.
_______________________________________________
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