Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (488)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (553)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Qudus and BlueSky...some help if you have time  (Read 762 times)
0 Members and 1 Guest are viewing this topic.
Offline hawkwind

Junior Member




Java games rock!


« Posted 2006-09-07 21:49:17 »

Can I get a general statement on the philosophy/design behind the HUD stuff.  I see things like RenderLoop and ScheduledOperation .  How best to use these?

 The one test of the HUD and a scenegraph (can't remember the name but it has a HUD and a sphere) does not show the sphere.

Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #1 - Posted 2006-09-07 23:08:57 »

Can I get a general statement on the philosophy/design behind the HUD stuff.  I see things like RenderLoop and ScheduledOperation .  How best to use these?

 The one test of the HUD and a scenegraph (can't remember the name but it has a HUD and a sphere) does not show the sphere.

What do you mean by philosophy? I'll try to explain the HUD's architecture...

First of all a HUD needs to be rendered in parallel projection on top of everything else. So the (presumably) perspectively projected 3D scene needs to be rendered first and the HUD last. This is a feature the MultiPassView will do for you. The MultiPassView is integrated in (Ext)Xith3DEvironment.

You'll have to create a first instance of RenderPass (myPersRenderPass) and configure it to use perspective projection. Create a new (root) BranchGroup (myPersBG) and pass it to the addChild() method of your Xith3DEnvironment together with the RenderPass instance, e.g addChild(myPersBG, myPersRenderPass).
Then create a second instance of RenderPass (myParaRenderPass) and configure it to use parallel projection. Create a second instance of BranchGroup (myParaBG) and add the two to the addChild() method like you did for the others.

Now create you 3D scene and add everything to myPersBG.

Now for the HUD: Create an instance of org.xith3d.ui.hud.HUD and pass it to the addChild() method of myParaBG. Then create some Widgets and add them to the HUD. Please have a look at org.xith3d.test.ui.HUD3DTest, which should have an example for each Widget type.

For the RenderLoop and ScheduledOperation: Xith3D is not thread safe. This means, that if you make modifications on the scenegraph while the render thread is working, the result is unpredictable. This problem can be solved e.g. by scheduling a modification and let the render thread do it. This is done with ScheduledOperation and OperationScheduler. ExtRenderLoop implements OperationScheduler and can be used with it very easily. Do you know how to use (Ext)RenderLoop? Please have a look at org.xith3d.test.base.BaseTest to get a first impression. Just pass a new instance of ScheduledOperation to the scheduleOperation() method of your ExtRenderLoop instance.

If you wish, I can send you a part of the (incomplete) "Xith in a nutshell" document, which displays it a little nicer.

Did this help you? Fell free to add further questions.

Marvin
Offline Amos Wenger

Senior Member




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


« Reply #2 - Posted 2006-09-08 15:09:51 »

Qudus put it pretty well.

I myself use a small util class I've created, called QuickHud.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Pages: [1]
  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.

TehJavaDev (17 views)
2014-08-28 18:26:30

CopyableCougar4 (26 views)
2014-08-22 19:31:30

atombrot (39 views)
2014-08-19 09:29:53

Tekkerue (36 views)
2014-08-16 06:45:27

Tekkerue (33 views)
2014-08-16 06:22:17

Tekkerue (22 views)
2014-08-16 06:20:21

Tekkerue (33 views)
2014-08-16 06:12:11

Rayexar (68 views)
2014-08-11 02:49:23

BurntPizza (45 views)
2014-08-09 21:09:32

BurntPizza (36 views)
2014-08-08 02:01:56
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!