Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (534)
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  
  Problem with Display Lists + Link  (Read 3576 times)
0 Members and 1 Guest are viewing this topic.
Offline Amos Wenger

Senior Member




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


« Posted 2006-10-12 11:50:30 »

I get that exception when trying to use static Shape3Ds in SharedGroups (referenced by a Link) :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
Exception in thread "main" java.lang.NullPointerException
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:192)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullLinkAtoms(FrustumCuller.java:91)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:167)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:210)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:241)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:261)
   at com.xith3d.render.Renderer.renderOnce(Renderer.java:426)
   at com.xith3d.scenegraph.VirtualUniverse.renderOnce(VirtualUniverse.java:79)
   at org.xith3d.render.base.ExtXith3DEnvironment.render(ExtXith3DEnvironment.java:245)
   at org.stratagem.apps.Stratagem.runGame(Stratagem.java:218)
   at org.stratagem.apps.Stratagem.run(Stratagem.java:146)
   at org.stratagem.apps.Stratagem.main(Stratagem.java:50)

It seems that the Atom of the Shape3D is null..

Marvin, any idea ?

"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 #1 - Posted 2006-10-12 19:44:51 »

I get that exception when trying to use static Shape3Ds in SharedGroups (referenced by a Link) :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
Exception in thread "main" java.lang.NullPointerException
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:192)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullLinkAtoms(FrustumCuller.java:91)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:167)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:145)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:186)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:210)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:241)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:261)
   at com.xith3d.render.Renderer.renderOnce(Renderer.java:426)
   at com.xith3d.scenegraph.VirtualUniverse.renderOnce(VirtualUniverse.java:79)
   at org.xith3d.render.base.ExtXith3DEnvironment.render(ExtXith3DEnvironment.java:245)
   at org.stratagem.apps.Stratagem.runGame(Stratagem.java:218)
   at org.stratagem.apps.Stratagem.run(Stratagem.java:146)
   at org.stratagem.apps.Stratagem.main(Stratagem.java:50)

It seems that the Atom of the Shape3D is null..

Marvin, any idea ?

I'll investigate it.
Offline Amos Wenger

Senior Member




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


« Reply #2 - Posted 2006-10-12 21:34:00 »

OK, thanks.

I'm currently digging a bit the rendering code.

"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 Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #3 - Posted 2006-10-13 01:24:21 »

OK, thanks.

I'm currently digging a bit the rendering code.

Would be good to know a second pair of eyes having a look at it Smiley.
Offline Amos Wenger

Senior Member




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


« Reply #4 - Posted 2006-10-13 19:21:25 »

This piece of code retained my interest :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
            // if the universe is dirty (e.g. before the first frame) --> collect atoms, cull and sort
           if ((universe.modListener == null) || (universe.isDirty()))
            {
                // decrement the frame-id, since not all atoms might be refilled and get the new frame id.
               currentFrameId--;
               
                universe.modListener = modManager;
               
                canvas.getView().getPosition( oldViewPos );
               
                // colect atoms, cull and sort
               modManager.getAtomsCollector().collectAtoms(universe, canvas.getView(), modManager, this, canvas, canvas.getView().getSoundProcessor(), currentFrameId);
               
                modManager.resetAnythingChanged();
            }
            // otherwise just cull and resort
           else
            {
                modManager.getFrustumCuller().cullAtoms(universe, this, canvas, currentFrameId);
               
                canvas.getView().getTransform().get( currViewPos );
                currViewPos.sub( oldViewPos );
               
                final float viewDelta = Math.abs( (float)Math.sqrt(currViewPos.x * currViewPos.x + currViewPos.y * currViewPos.y + currViewPos.z * currViewPos.z) );
               
                if ((modManager.hasAnythingChanged()) || (viewDelta >= maxViewDelta))
                {
                    sortAllAtoms( universe, canvas.getView().getPosition() );
                   
                    canvas.getView().getTransform().get( oldViewPos );
                    modManager.resetAnythingChanged();
                }
            }

...
The universe is not set as dirty when a Link node is added ?

How is it possible that a Shape3D has it atom being null ?

Some tricks puzzle me a bit but I'm gonna look further.. it's not as complicated as I thought.

"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 #5 - Posted 2006-10-13 20:03:38 »

The universe is not set as dirty when a Link node is added ?

How is it possible that a Shape3D has it atom being null ?

Some tricks puzzle me a bit but I'm gonna look further.. it's not as complicated as I thought.

No. It's quite easy after I simplified and streamlined it Wink

The universe is only set dirty, when a Group is removed. And I'll change this behaviour tomorrow or so. When a Node is added, it is added to the Atoms list or traversed in ase it is a Group. But the already existing Atoms don't need to be rebuilt. When a Node is removed, I've set the universe dirty and it is completely retraversed. The universe doesn't need to be retraversed even in case of a removed Group. But the Atoms must be removed one by one. I'll implement this behaviour tomorrow.

Ah! A thought is coming to my mind: The universe needs to be set dirty in case a Link is removed. I'll change that.
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #6 - Posted 2006-10-14 03:27:03 »

Ah! A thought is coming to my mind: The universe needs to be set dirty in case a Link is removed. I'll change that.

Done. Please check, if it works now.

Marvin
Offline Amos Wenger

Senior Member




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


« Reply #7 - Posted 2006-10-14 17:17:19 »

Grunt...  Angry Even worse. Now just my terrain (static shape3d in a regular group) gets drawn. Units (links to sharedgroups) and unit circles (static shape3ds in a regular group) are invisible..

I guess some hard work is coming... [size=7pt](deserving a full @author tag, of course.. ok just joking ^^)[/size]

"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 #8 - Posted 2006-10-14 17:34:24 »

Grunt...  Angry Even worse. Now just my terrain (static shape3d in a regular group) gets drawn. Units (links to sharedgroups) and unit circles (static shape3ds in a regular group) are invisible..

Maybe you could post a sample code. I can only guess, how you're using them.
Offline Amos Wenger

Senior Member




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


« Reply #9 - Posted 2006-10-14 17:49:31 »

Grunt...  Angry Even worse. Now just my terrain (static shape3d in a regular group) gets drawn. Units (links to sharedgroups) and unit circles (static shape3ds in a regular group) are invisible..

Maybe you could post a sample code. I can only guess, how you're using them.
If you ever worked on a big game project, you would know that "a sample code" is really hard to get..  Cheesy
Okay, trying some tests.

"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 Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #10 - Posted 2006-10-14 18:00:57 »

If you ever worked on a big game project, you would know that "a sample code" is really hard to get..  Cheesy
Okay, trying some tests.

Yes, I know it is Grin. But I guess a simple one would be sufficient, where you show, how you create two or three of these Links (and ShapredGroups) and how you maybe add/remove them at runtime.
Offline Marvin Fröhlich

Senior Member




May the 4th, be with you...


« Reply #11 - Posted 2006-10-16 18:51:15 »

I traced the Link / SharedGroup problem a little further and found some bug, that made it not work. But now I face a problem, why it even can't work. And I can't see why they worked before.

Amos, please have a look at AtomsCollector's / FrustumCuller's collectLinkAtoms methods. They're taken from the previous version as is. The problem is, that the shared shapes will always be drawn at the exact same place, because the shape's localtovworld is updated in each SharedGroup. And I don't have an aidea at the moment, how this can be solved. And as I sayd, I couldn't have worked before.

Marvin
Offline Amos Wenger

Senior Member




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


« Reply #12 - Posted 2006-10-16 19:04:44 »

New rendering code, new problems....  Grin
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
Exception in thread "main" java.lang.NullPointerException
   at com.xith3d.render.prerender.AtomsRemover.removeShapeAtom(AtomsRemover.java:172)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:224)
   at com.xith3d.render.prerender.AtomsRemover.removeGroupAtoms(AtomsRemover.java:135)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:220)
   at com.xith3d.render.prerender.AtomsRemover.removeLinkAtoms(AtomsRemover.java:115)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:199)
   at com.xith3d.render.prerender.AtomsRemover.removeAtom(AtomsRemover.java:260)
   at com.xith3d.render.ScenegraphModificationsManager.onChildRemovedFromGroup(ScenegraphModificationsManager.java:213)
   at com.xith3d.scenegraph.GroupNode.removeChild(GroupNode.java:258)
   at com.xith3d.scenegraph.GroupNode.removeAllChildren(GroupNode.java:273)
   at org.xith3d.loaders.precomputed.PrecomputedAnimatedModel.setCurrentFrame(PrecomputedAnimatedModel.java:210)
   at org.xith3d.loaders.precomputed.PrecomputedAnimatedModel.update(PrecomputedAnimatedModel.java:93)
   at org.stratagem.ui.gfx.CalAnimatedModelUnitRepresentation.updateAnim(CalAnimatedModelUnitRepresentation.java:59)
   at org.stratagem.ui.gfx.UnitRepresentation.update(UnitRepresentation.java:115)
   at org.stratagem.ui.gfx.WorldRepresentation.update(WorldRepresentation.java:97)
   at org.stratagem.apps.Stratagem.runGame(Stratagem.java:218)
   at org.stratagem.apps.Stratagem.run(Stratagem.java:148)
   at org.stratagem.apps.Stratagem.main(Stratagem.java:50)


I traced the Link / SharedGroup problem a little further and found some bug, that made it not work. But now I face a problem, why it even can't work. And I can't see why they worked before.

Amos, please have a look at AtomsCollector's / FrustumCuller's collectLinkAtoms methods. They're taken from the previous version as is. The problem is, that the shared shapes will always be drawn at the exact same place, because the shape's localtovworld is updated in each SharedGroup. And I don't have an aidea at the moment, how this can be solved. And as I sayd, I couldn't have worked before.
I'll take a look at it.

"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 #13 - Posted 2006-10-16 19:14:34 »

New rendering code, new problems....  Grin
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
Exception in thread "main" java.lang.NullPointerException
   at com.xith3d.render.prerender.AtomsRemover.removeShapeAtom(AtomsRemover.java:172)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:224)
   at com.xith3d.render.prerender.AtomsRemover.removeGroupAtoms(AtomsRemover.java:135)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:220)
   at com.xith3d.render.prerender.AtomsRemover.removeLinkAtoms(AtomsRemover.java:115)
   at com.xith3d.render.prerender.AtomsRemover.removeNodeAtoms(AtomsRemover.java:199)
   at com.xith3d.render.prerender.AtomsRemover.removeAtom(AtomsRemover.java:260)
   at com.xith3d.render.ScenegraphModificationsManager.onChildRemovedFromGroup(ScenegraphModificationsManager.java:213)
   at com.xith3d.scenegraph.GroupNode.removeChild(GroupNode.java:258)
   at com.xith3d.scenegraph.GroupNode.removeAllChildren(GroupNode.java:273)
   at org.xith3d.loaders.precomputed.PrecomputedAnimatedModel.setCurrentFrame(PrecomputedAnimatedModel.java:210)
   at org.xith3d.loaders.precomputed.PrecomputedAnimatedModel.update(PrecomputedAnimatedModel.java:93)
   at org.stratagem.ui.gfx.CalAnimatedModelUnitRepresentation.updateAnim(CalAnimatedModelUnitRepresentation.java:59)
   at org.stratagem.ui.gfx.UnitRepresentation.update(UnitRepresentation.java:115)
   at org.stratagem.ui.gfx.WorldRepresentation.update(WorldRepresentation.java:97)
   at org.stratagem.apps.Stratagem.runGame(Stratagem.java:218)
   at org.stratagem.apps.Stratagem.run(Stratagem.java:148)
   at org.stratagem.apps.Stratagem.main(Stratagem.java:50)


Argh! Goddammed links! Smiley Please recheckout and retry. Should be solved.
Offline Amos Wenger

Senior Member




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


« Reply #14 - Posted 2006-10-16 20:30:09 »

Other bug :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
Exception in thread "main" java.lang.NullPointerException
   at com.xith3d.render.prerender.FrustumCuller.addShapeAtom(FrustumCuller.java:187)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:241)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullLinkAtoms(FrustumCuller.java:108)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:212)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullGroupAtoms(FrustumCuller.java:166)
   at com.xith3d.render.prerender.FrustumCuller.cullNodeAtoms(FrustumCuller.java:233)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:260)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:294)
   at com.xith3d.render.prerender.FrustumCuller.cullAtoms(FrustumCuller.java:322)
   at com.xith3d.render.Renderer.renderOnce(Renderer.java:404)
   at com.xith3d.scenegraph.VirtualUniverse.renderOnce(VirtualUniverse.java:130)
   at org.xith3d.render.base.ExtXith3DEnvironment.render(ExtXith3DEnvironment.java:245)
   at org.stratagem.apps.Stratagem.runGame(Stratagem.java:220)
   at org.stratagem.apps.Stratagem.run(Stratagem.java:148)
   at org.stratagem.apps.Stratagem.main(Stratagem.java:50)

Sgrunt.. it works not really well now.. but don't give up !  Smiley

"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 #15 - Posted 2006-10-16 20:59:13 »

I'll look at it later. But I do have the idea to solve the problem for links drawn at the same place. Do you remember the RenderBucket class. It was exactly to handle this problem. Well, I can't easily reactivate them, since they would produce a lot of garbage. But I'll find a solution. But it could be tomorrow, not today, ok?

Marvin
Offline Amos Wenger

Senior Member




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


« Reply #16 - Posted 2006-10-16 21:11:12 »

I'll look at it later. But I do have the idea to solve the problem for links drawn at the same place. Do you remember the RenderBucket class. It was exactly to handle this problem. Well, I can't easily reactivate them, since they would produce a lot of garbage. But I'll find a solution. But it could be tomorrow, not today, ok?
OK for now I'll provide an option in PrecomputedAnimation to *not* use Display LIsts.

"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 #17 - Posted 2006-10-18 02:51:04 »

I found the solution for the problem to draw shared Shape3Ds on the right places and it works. But I need to further test it before I commit it to avoid sidekicks, since it is one little deeper change. Please have a littel more patience. I'm very tired now and had a hard day at work. I'll hopefully comit it tomorrow.

Marvin

PS: I've changed the org.xith3d.test.etc.SharedGroupTest to test Link removal. When you hit SPACE, one of the Links is removed from the scenegraph and it is properly removed without problems (even if you won't see it, since the patch is not committed). Please check, if it is the same test case as in your game.
Offline Amos Wenger

Senior Member




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


« Reply #18 - Posted 2006-10-18 16:53:35 »

I found the solution for the problem to draw shared Shape3Ds on the right places and it works. But I need to further test it before I commit it to avoid sidekicks, since it is one little deeper change. Please have a littel more patience. I'm very tired now and had a hard day at work. I'll hopefully comit it tomorrow.

Marvin

PS: I've changed the org.xith3d.test.etc.SharedGroupTest to test Link removal. When you hit SPACE, one of the Links is removed from the scenegraph and it is properly removed without problems (even if you won't see it, since the patch is not committed). Please check, if it is the same test case as in your game.
Maybe I've forgotton to mention, that I don't remove Link from the sg anymore. Instead, I use setSharedGroup().
However, your test seems correct. I hope the solution you've found to draw shared Shape3Ds will be fine, thanks again for your work.

"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 #19 - Posted 2006-10-19 01:13:50 »

Maybe I've forgotton to mention, that I don't remove Link from the sg anymore. Instead, I use setSharedGroup().
However, your test seems correct. I hope the solution you've found to draw shared Shape3Ds will be fine, thanks again for your work.

I've changed the SharedGroupTest to behave exactly like you described and it runs without any problems.

And I've commited the patch. Now Links work properly again Smiley.

Marvin
Offline Amos Wenger

Senior Member




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


« Reply #20 - Posted 2006-10-19 18:28:12 »

Unfortunately I cannot test shared groups in real world right now as I'm deeply rewriting essential parts of my game (architecture revamp, slowly acting with purpose so that network support has mood up).

"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.

pw (35 views)
2014-07-24 01:59:36

Riven (33 views)
2014-07-23 21:16:32

Riven (21 views)
2014-07-23 21:07:15

Riven (24 views)
2014-07-23 20:56:16

ctomni231 (55 views)
2014-07-18 06:55:21

Zero Volt (47 views)
2014-07-17 23:47:54

danieldean (38 views)
2014-07-17 23:41:23

MustardPeter (43 views)
2014-07-16 23:30:00

Cero (59 views)
2014-07-16 00:42:17

Riven (56 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!