Want to share JOGL Port of TWL

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Want to share JOGL Port of TWL

mahesh
I have ported TWL:Theme Widget Library to work with NEWT & jogl.

I am saying porting, since I had to change keyCodes and modify some widget event handlers along with writing jogl renderer and input processor.

The eclipse project with demo is available at github.

So if you want to use TWL in jogl projects feel free to use it, since TWL works perfectly with JOGL and is extremely powerful (try running tests).

Please share your experience or query if any.
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

gouessej
Administrator
Hi

Great job! Do you plan a way of using it with GLWindow instead of only NewtCanvasAWT? Would you like to use Maven on the long term?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

mahesh
Hi Julien,
I am already using GLWindow

GLWindow window = GLWindow.create(caps);
window.setUndecorated(true);
window.addGLEventListener(this);
this.root=root;
this.useEffects=useEffects;
Dimension canvasSize = new Dimension(width, height);
// Use the newt/awt bridge to allow us to use swing gui elements
// and the fast rendering capabilities of NEWT
this.canvas = new NewtCanvasAWT(window);
pnlRoot.add(canvas, BorderLayout.CENTER);
// create an animator to animated the canvas
this.animator = new FPSAnimator(window, FPS, true);
this.setVisible(true);	
this.animator.start();

I have't used maven ever, will be very glad if someone converts it to maven project
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

gouessej
Administrator
Yes but as far as I know, I can't use your project without NewtCanvasAWT, am I wrong?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

mahesh
Is there any problem with newtcanvasawt?
The baseclass for all demo is at test\newt\newtframe.java,
You can check there , the way I created display. I havt used glwindow alone. Is there any better way??
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

jmaasing
Here is a PR to build with maven.
https://github.com/maheshkurmi/jogl-twl/pull/1

The project builds but none of the demos run. The way you load source files in the demo is impossible to make work if you package the jogl-twl as a jar file (as it should be IMHO). So you probably need to invent some other way to include the source files.

Anyway, it's a start if you want to go down the maven way. Which I think you should if you want other people to use the library.
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

gouessej
Administrator
In reply to this post by mahesh
NewtCanvasAWT requires AWT, which is absent under Android. I'll see what I can do.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

mahesh
Updated maven project ..

Now the tests can be run using single runnable jar built by maven.
Thanks Julien for converting project to maven.

On Thu, Nov 30, 2017 at 1:22 AM, gouessej [via jogamp] <[hidden email]> wrote:
NewtCanvasAWT requires AWT, which is absent under Android. I'll see what I can do.
Julien Gouesse | Personal blog | Website



If you reply to this email, your message will be added to the discussion below:
http://forum.jogamp.org/Want-to-share-JOGL-Port-of-TWL-tp4038346p4038358.html
To unsubscribe from Want to share JOGL Port of TWL, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

gouessej
Administrator
That's jmaasing who did the conversion to Maven.

Maybe you could update the screen capture in order to show your library in action rather than the original version using another binding. Good job anyway.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

mahesh
In reply to this post by jmaasing
Thanks for helping out.
Would u pls verify if latest version works fine?
Reply | Threaded
Open this post in threaded view
|

Re: Want to share JOGL Port of TWL

gouessej
Administrator
By the way, the new screen capture is better :)

This kind of thing is a very bad idea:
https://github.com/maheshkurmi/jogl-twl-maven/blob/master/jogl-twl-maven/jogl-twl/src/main/java/de/matthiasmann/twl/GUI.java#L175
https://github.com/maheshkurmi/jogl-twl-maven/blob/master/jogl-twl-maven/jogl-twl/src/main/java/de/matthiasmann/twleffects/jogl/JOGLEffectsRenderer.java#L49

You shouldn't store the GL instance into a static variable as you might use it when the OpenGL context isn't current (which doesn't work) and it could become invalid after you stored it (which would drive it unusable too).

Moreover, you assume that you get a GL2 context, maybe you could relax this constraint.

Finally, please allow to pass a GLWindow directly instead of forcing the use of NewtCanvasAWT:
https://github.com/maheshkurmi/jogl-twl-maven/blob/master/jogl-twl-maven/jogl-twl/src/main/java/de/matthiasmann/twl/input/jogl/JOGLInput.java#L30
In my humble opinion, this constructor shouldn't even exist, a developer could still pass NewtCanvas.getNEWTChild() to the constructor that I suggest you to add.
Julien Gouesse | Personal blog | Website