Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
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  
  Updating Scenegraph from data model  (Read 924 times)
0 Members and 1 Guest are viewing this topic.
Offline dsellars

Junior Devvie




Need to write more games


« Posted 2003-12-23 07:41:31 »

Hello All,

I've just started to look at creating a simple shooter game using Xith.  The main aim of this is to learn a bit about Xith while doing something (relatively) simple and fun.

What I had in mind was a simple top down shooter (2d world) using 3d models and effects.  This way I get to play with Xith, while (hopefully) not having too much of a headache with the game.

I want to use a MVC style design where the rendering is handled by Xith and I have a simple data model running the game.

What I want to know is what is the best way of updating the scenegraph from the data model?

Do i have to run the model in the same thread as the scenegraph and do somthing like this (from Xith3DTextureBlendTest) where I tick the model, then update the scenegraph and then render it?

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
while (true)
{
      view.renderOnce();

      try
      {
            Thread.sleep(10L);
      }
      catch (Exception e)
      {
      }
      angle += 0.005f;
      testRotateY.rotY(angle);
      testRotateYGroup.setTransform(testRotateY);
}


Or could I run the data model in a seperate thread and set up some kind of observer to update the scenegraph between renderings, so that the model can sync it's self to it's own timeing updates.

Sorry I've rambled a bit, I hope you can help point me in the right direction.

Dan.
Offline Preston

Senior Devvie


Medals: 4



« Reply #1 - Posted 2003-12-23 11:18:17 »

On a multi-processor system using multi-threads would be nice. :-)  (OK, probably not only on multi-processor systems, but mainly there.)
However please bear in mind that Xith3d is not thread-safe (like Java's collections), so you've to take care about this yourself.

Because I figured out it's not worth the hassle with my Xith app mostly runing on single-processor systems, I took exactly the route you quoted: one thread. It works fine.

loop {
 model.simulate...
 view.doRenderOnce...
 controller.fetchKeysAndMouse...
}

MVC. :-)
Offline dsellars

Junior Devvie




Need to write more games


« Reply #2 - Posted 2003-12-23 11:50:22 »

Thanks Preston,

It was the whole "not thread safe" aspect I was concerned about.  

I was just wondering what experience other people had in this situation and wanted to at least start doing things in a recognised way.  It seems I was at least thinking along the right lines.

Now I've just got to find some time.... Wink

Dan.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Yuri Vl. Gushchin

Senior Devvie




Speak Java!


« Reply #3 - Posted 2003-12-23 13:37:15 »

It sometimes also makes sense to partially place scene updates to Xith3D callbacks (I guess something like GeometryUpdater - I was never using this till now), so you can parallelize the work of GPU and CPU - these days you always have at least 2-processor system with GPU and CPU, so parralelizing their work may speed up overal performance, and, of course, increase framerates.

Yuri

Yuri Vl. Gushchin
JProof Group
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.

rwatson462 (30 views)
2014-12-15 09:26:44

Mr.CodeIt (23 views)
2014-12-14 19:50:38

BurntPizza (50 views)
2014-12-09 22:41:13

BurntPizza (84 views)
2014-12-08 04:46:31

JscottyBieshaar (45 views)
2014-12-05 12:39:02

SHC (59 views)
2014-12-03 16:27:13

CopyableCougar4 (57 views)
2014-11-29 21:32:03

toopeicgaming1999 (123 views)
2014-11-26 15:22:04

toopeicgaming1999 (114 views)
2014-11-26 15:20:36

toopeicgaming1999 (32 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

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
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!