Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (568)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 [2]
  ignore  |  Print  
  Roadmap for 0.9.0  (Read 7872 times)
0 Members and 1 Guest are viewing this topic.
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #30 - Posted 2006-07-27 18:43:04 »

Arggh stencil is a nightmare : I did thousands of tests and didn't succeed into clipping properly these objects. I began to make a clipping function that takes a TriangleArray and two Point2f (topLeft, bottomRight) as arguments and return a clipped TriangleArray (not necessarily the same vertex count). It's not finished yet, but I think it could be useable. I just hope it won't be too slow.

Wow, that'd be great. But wasn't it more logical to take some kind of clip-quad as the clip-definer. Of course it'd be absolutely the same, but I think, it would be more clear to the user. There could be several constructors to define the clip-quad: two points, a point and a normal, etc... Of course one could reuse the clip-quad for each clipping operation.
Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #31 - Posted 2006-07-27 19:10:17 »

Arggh stencil is a nightmare : I did thousands of tests and didn't succeed into clipping properly these objects. I began to make a clipping function that takes a TriangleArray and two Point2f (topLeft, bottomRight) as arguments and return a clipped TriangleArray (not necessarily the same vertex count). It's not finished yet, but I think it could be useable. I just hope it won't be too slow.

Wow, that'd be great. But wasn't it more logical to take some kind of clip-quad as the clip-definer. Of course it'd be absolutely the same, but I think, it would be more clear to the user. There could be several constructors to define the clip-quad: two points, a point and a normal, etc... Of course one could reuse the clip-quad for each clipping operation.
Yeah of course it's easy to do. I'll do that.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline Matthias

Senior Member


Medals: 3
Projects: 1


TWL - Themable Widget Library


« Reply #32 - Posted 2006-07-27 22:34:30 »

Hi,

you could use glScissors to do clipping on the GFX card.
The current scissor state can be saved with glPushAttrib(GL_SCISSOR_BIT)

Ciao Matthias
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #33 - Posted 2006-07-28 07:58:05 »

Hi,

you could use glScissors to do clipping on the GFX card.
The current scissor state can be saved with glPushAttrib(GL_SCISSOR_BIT)

Ciao Matthias
Hmm.. interesting.. But this means a change in the renderer.. Do you know how to integrate that ?

I'm afraid we should render UI a whole different way than traditional 3D scenes.. Order is important.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #34 - Posted 2006-07-28 08:01:28 »

It'd be nice to have a callback from the renderer that gave you access to a glOrtho display so you could render simple UI using normal GL commands - this would of course be renderer dependent so a big sign saying "USE AT YOUR OWN RISK" should be applied.

It would however be amazingly useful and flexible.

Kev

Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #35 - Posted 2006-07-28 09:05:36 »

It'd be nice to have a callback from the renderer that gave you access to a glOrtho display so you could render simple UI using normal GL commands - this would of course be renderer dependent so a big sign saying "USE AT YOUR OWN RISK" should be applied.

It would however be amazingly useful and flexible.

Kev
Mmyeah sure but say for our HUDwe don't want to be renderer-dependant and anyway in "glOrtho" you have "gl", what if someone implemented a DirectX renderer ? And aren't displays handled differently by JOGL and LWJGL ? Which means different classes, and run-time type detection (and cast) and alt that stuff. Pheww not easy.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #36 - Posted 2006-07-31 07:07:08 »

I've updated the HUD in the following points:

  • The Button can take 9 images now
  • The GTK-Button is much nicer now
  • Added a Border Widget
  • The Border- and Button Widget each have an inner class called ButtonDescription / BorderDescription. They're used to first describe the Button or Border easily and then create a new Button or Border Widget passing this BorderDescription instance to the constructor. This has to be done for the Scrollbar Widget, too. Would you do that, Amos? I don't know, if I have too much time, the next days.
  • Improved the WidgetTheme to support the new features
  • Added a class named WidgetZIndexGroup. It can logically group some Widgets to set the last clicked Widget in the group the group-local-maximum-z-index.
  • Added an easy mechanism to link a Panel and a Scrollbar < scrollbar.link(panel1) >
  • Added many, many constructors to take Tuple2f intead of (width, height).
  • Fixed some bugs

Marvin

EDIT: Maybe someone could draw / find Wink a nicer border texture than I used in the HUD3DTest.
Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #37 - Posted 2006-08-04 16:08:01 »

  • Fixed the SwingOverlayTest : it works again, and fast, besides !

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #38 - Posted 2006-08-04 16:33:15 »

Quote
Mmyeah sure but say for our HUDwe don't want to be renderer-dependant and anyway in "glOrtho" you have "gl", what if someone implemented a DirectX renderer ? And aren't displays handled differently by JOGL and LWJGL ? Which means different classes, and run-time type detection (and cast) and alt that stuff. Pheww not easy.

No, I don't think it has to be like that. The thing thats passed back could be a OrthoContext on which you can call some small subset of the commands you need to draw 2D images. Then within Xith the context could be handled however the renderer desires. Just seems way more flexible than all this pushing 3D into 2D to me.

But, since I'm not will to contribute the code myself, I'll just shut up now Smiley

Kev

Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #39 - Posted 2006-08-04 18:46:20 »

Quote
Mmyeah sure but say for our HUDwe don't want to be renderer-dependant and anyway in "glOrtho" you have "gl", what if someone implemented a DirectX renderer ? And aren't displays handled differently by JOGL and LWJGL ? Which means different classes, and run-time type detection (and cast) and alt that stuff. Pheww not easy.

No, I don't think it has to be like that. The thing thats passed back could be a OrthoContext on which you can call some small subset of the commands you need to draw 2D images. Then within Xith the context could be handled however the renderer desires. Just seems way more flexible than all this pushing 3D into 2D to me.

But, since I'm not will to contribute the code myself, I'll just shut up now Smiley

Kev
No please don't shut up it's really interesting. What commands would be needed in OrthoContext (and BTW why not contribute ?)

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #40 - Posted 2006-08-04 18:56:16 »

Quote
No please don't shut up it's really interesting. What commands would be needed in OrthoContext (and BTW why not contribute ?)

Two approaches might be taken with ortho context. Either emulate what we see in the GL context:

OrthoContext.useTexture(Texture texture);
OrthoContext.vertex(float x, float y);
OrhtoContext.texCoord(float u, float v);
OrthoContext.startQuad(); // or strips
OrthoContext.endQuad();
OrthoContext.startTriangle(); // or strings
OrthoContext.endTriangle();

Or you could make it a bit more Graphics2D like with

OrthoContext.drawRect(float x, float y, float width, float height);

It'd be more work initially but it would also make Xith very easy to understand when working with GUIs. You could just draw whatever you wanted to over the top of the scene in an accelerated way. Naive implementation would be just to proxy the methods onto a GL context configured for orthographic projection - more complicated might be to cache the calls into arrays and spit them to card in batches.

If someone came along an implemented a DirectX layer you just translate the calls into whatever it needs to be for DirectX - which I seem to remember is pretty similiar at this basic level anyway.

Re: Contribute - I don't use Xith active and I have plenty of other stuff to do at the moment. I'm also not too keen on the style of responses I've seen with respect to contributions recently.

Kev

Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #41 - Posted 2006-08-14 02:53:47 »

I've just finished adding a Description class to all Widgets that need one. Now the Widget handling should be even simpler. And it helped me a lot in theming.

Additionally we now have a RadioButton Widget and a Checkbox Widget. In org.xith3d.ui.hud.util there is a new class called StateGroup. One should always add RadioButtons to an instance of StateGroup, which manages the activation state of all members such that only one RadioButton in the group can be activated at a time.

Marvin
Offline Amos Wenger

Senior Member




Everything's possible, but not everything's fun...


« Reply #42 - Posted 2006-08-14 12:35:34 »

I've just finished adding a Description class to all Widgets that need one. Now the Widget handling should be even simpler. And it helped me a lot in theming.

Additionally we now have a RadioButton Widget and a Checkbox Widget. In org.xith3d.ui.hud.util there is a new class called StateGroup. One should always add RadioButtons to an instance of StateGroup, which manages the activation state of all members such that only one RadioButton in the group can be activated at a time.

Marvin
StateGroup is called ButtonGroup in Swing/AWT.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #43 - Posted 2006-08-15 01:12:00 »

StateGroup is called ButtonGroup in Swing/AWT.
Renamed.

And I've added a Frame Widget, which can be dragged with the mouse. It is not entirely ready but is is already usable.
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #44 - Posted 2006-08-17 00:13:21 »

The Frame Widget is complete now. Well, it is not yet movable. But this is lower priority.
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #45 - Posted 2006-08-24 00:13:57 »

I just added the new HIAL version (1.4) to xith-tk which adds support for the mouse wheel and the possibility to monitor a "mouse-stopped" event, which is useful for tooltips. This event is fired, when this feature is enabled and the mouse hasn't moved for a certain amount of time. Additionally the pressed and released events get the current mouse x and y position as parameters.

For the new events the listeners needed to be enhanced. This is done in new, separate listeners (postfix "2"), such that the old ones still exist and the whole thing is fully backwards compatible.

This version still has problems with an AWT event bug on Linux which is discussed in this thread.

Marvin
Pages: 1 [2]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Pippogeek (39 views)
2014-09-24 16:13:29

Pippogeek (30 views)
2014-09-24 16:12:22

Pippogeek (20 views)
2014-09-24 16:12:06

Grunnt (46 views)
2014-09-23 14:38:19

radar3301 (28 views)
2014-09-21 23:33:17

BurntPizza (64 views)
2014-09-21 02:42:18

BurntPizza (36 views)
2014-09-21 01:30:30

moogie (42 views)
2014-09-21 00:26:15

UprightPath (51 views)
2014-09-20 20:14:06

BurntPizza (54 views)
2014-09-19 03:14:18
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!