low level multipass rendering

Hah!!! It’s done. We have real low level multipass rendering now. ;D

The MultiPassView has disused. I’ve set it deprecated as well as org.xith3d.render.multipass.RenderPass. Please see org.xith3d.test.render.MultipassTest(2).

The multipass rendering works without any bufferswapping suppression or buffer clearing. It doesn’t even loose the stencil buffer in layered mode. The work is done inside the OpenGL rendering and saves time by not doing the whole rendering code for all passes but only the differing one. The opengl frame initialisation (don’t know how expensive) is done only for each frame, but not for each frame and pass.

And this is how it goes:

  • Create and instance of BranchGroup and pass either to the constructor or to the appropriate setter an instance of com.xith3d.render.RenderPassConfigProvider, which can be e.g. com.xith3d.render.RenderPassConfig and set the properties if it.
  • Create as much more BranchGroups as you like and handle them alike
  • Add these BranchGroups to the Locale instance, just as you already know it.
  • Set the property universe.getRenderer().setLayeredMode(boolean) to what ever you like. The default is false regulary, since people shouldn’t get a different rendering behaviour when they’ve existing code with multiple BranchGroups in a Locale. When you’re using Xith3DEnvironment, the default is automatically set to true.

Should be most easy. :slight_smile:

BranchGroups that don’t hold an instance of com.xith3d.render.RenderPassConfigProvider don’t effect the rendering and the values are taken from the View.

Well, this shoud give us a (small) performance boost. Tomorrow I’ll check, if we can get rid of this every-frame-RenderBins-refilling problem. I think, we can modify the RenderBins only when a modification on the scenegraph was made. No need to traverse the whole scenegraph every frame. This should give a really bug performance boost. ;D

Cheers,
Marvin

Great work Amos! Sounds very interesting to me, looking forward to give it a try!

Yep, I thinks this thing was one of the main disadvantage of xith so far in comparison to Java3D and jME… So, good luck!!! ;D

Bohdan.

Good Job!!! ;D

I am looking forward to discuss the concrete changes you have in mind, so we could all get a deeper insight in the current and future rendering code.

And… don’t go away before all changes are fully documented and reflected in the getting started guide or nobody will ever be able to further maintain the code base :o :stuck_out_tongue: :wink:

Well, thanks. But I’m not Amos. :wink:

I’ll happily answer questions :).

Well, I’ won’t update the getting started guide. But the changes will certainly be reflected in XIN, shich you can hopefully download from xith.org (currently only CVS). And I won’t go away too soon :wink:

Marvin

I’m sorry, Marvin, always mixing up you two ;D

No problem ;). Sometimes I was wondering, if I could in any way change the name of my nick in the boards. Maybe a moderator could do this for me. Then I would in some way write my real name into the account. (And Amos could remove this really long MagicSparc.org string ;);):wink: and add his real name, too).

It would be good thing to do, probably. For me the bigets confusion is too strong association “Qudus<->Amos”, just sounds to me ;D ;D

Well, ok. It is a little similar :).

Always remember:
Amos = Amos Wenger = BlueSky = <MagicSpark.org [ BlueSky ]>
Marvin = Marvin Fröhlich = Marvin Froehlich = Qudus

Does this sound rememberable? ;D

Marvin

I bet ;D but it might be good to discuss things before you change something, so we all get a feeling (and voice) in where things heading… just a thought, I certainly don’t want to slow you down :wink: since I am very gladfull to see someone actually being motivated to get things done! (and not only discuss about it, like myself most of the time :-[)

Well, I think updating the GSG to be accurate and to contain working examples of all major features is very important, so I will have to jump in and take this task myself :o

XIN?

Edit - just to answer myself “Xith In Nutshell” in xith-tk docs…

No, Qudus <=> Amos is still better ;D ;D ;D ;D …joking, that’s fine, thanks for cross-references ;D

Seems great, do you want help or at least can you explain what is really going to be changed ? And if a node is moved on the scenegraph, will the renderbin(s) be destroyed and recreated or will it be reused ? What is exactly a RenderBin ? If my idea on renderbins is right how costly it is to translate a node into a RenderBin ?

+1

Be reassured, I’m watching what Qudus is doing… 8)

I thought you could differentiate “the man who said he’s working on something” (Amos) and “the guy who say that yesterday he rewrote half the engine” (Qudus).

Well we could PM to ChrisM… But I already changed my pseudonym in the past so I’ll hope it won’t annoy him. Anyway I’ll tell him to do so (for me. I don’t know if you want “Marvin” or “Marvin Froehlich”. The latter reduce the risk of confusing you with a well-known martian).

Well, sometimes, when I find it helpful for the whole thing, I’ve ever asked before. But in this case, I was just lingering through the rendering source trying to understand it and found something here and there that could be changed. It was becomeing more and more and finally I had modified the whole thing so that it is more logical in every concern. And since nobody (active) in the forum seems to exactly know, what’s going on behind the curtains, I found it useless to ask. Sorry if that’s false ;).

EDIT: No offense. But that’s what people say themselves. Before I wandered through the rendering code I had to say it for myself, too. Now I can say, that I have a qute good idea of what’s going on :slight_smile:

You don’t need to update the GSG, since XIN totally replaces it. When it’s completely ready it will take the place of GSG on xith.org.

Marvin

[quote="<MagicSpark.org [ BlueSky ]>,post:11,topic:28379"]
Well we could PM to ChrisM… But I already changed my pseudonym in the past so I’ll hope it won’t annoy him. Anyway I’ll tell him to do so (for me. I don’t know if you want “Marvin” or “Marvin Froehlich”. The latter reduce the risk of confusing you with a well-known martian).
[/quote]
If thought a lot about that. On the one hand I’m (well) known by the nick “Qudus”. So changing the name would confuse the one or the other. On the other hand I realized some months ago, that this community is not that annonyme like others, which I like very much :). So changing the name to my real name isn’t bad. But I don’t want my full name to be displayed in the forums. Not that nobody should see it (most people here do know it), but I think taking a short name is much more practical. So “Marvin” is better on this hand. But I don’t want to loose the link to my nick. So I think the best compromise would be to change the displayed name to “Marvin (Qudus)”, which isn’t too short but will be ok.

Will you PM ChrisM or should I do it?

Marvin

[quote="<MagicSpark.org [ BlueSky ]>,post:11,topic:28379"]
Seems great, do you want help…
[/quote]
Thank you very much for the offer. But not in this case. I first need to check how this can be done. Well, I have an imagination of it and I’ve prepared the base for it during the last changes.
Please don’t be annoyed. I don’t mean to offend you. But aren’t there enough points on the list to be done?

[quote="<MagicSpark.org [ BlueSky ]>,post:11,topic:28379"]
…or at least can you explain what is really going to be changed ? And if a node is moved on the scenegraph, will the renderbin(s) be destroyed and recreated or will it be reused ? What is exactly a RenderBin ? If my idea on renderbins is right how costly it is to translate a node into a RenderBin ?
[/quote]
Please read further in this thread.

Marvin

If thought a lot about that. On the one hand I’m (well) known by the nick “Qudus”. So changing the name would confuse the one or the other. On the other hand I realized some months ago, that this community is not that annonyme like others, which I like very much :). So changing the name to my real name isn’t bad. But I don’t want my full name to be displayed in the forums. Not that nobody should see it (most people here do know it), but I think taking a short name is much more practical. So “Marvin” is better on this hand. But I don’t want to loose the link to my nick. So I think the best compromise would be to change the displayed name to “Marvin (Qudus)”, which isn’t too short but will be ok.

Will you PM ChrisM or should I do it?

Marvin
[/quote]
Well, I rethought it ;D. “Marvin Fröhlich” is better. Whould be good to have it “Marvin Fröhlich” and not “Marvin Froehlich”, which should be no problem in HTML ;).

I see you’ve already got a name change. How did you do it? Did you PM ChrisM?

Well, I rethought it ;D. “Marvin Fröhlich” is better. Whould be good to have it “Marvin Fröhlich” and not “Marvin Froehlich”, which should be no problem in HTML ;).

I see you’ve already got a name change. How did you do it? Did you PM ChrisM?
[/quote]
Yes indeed.
The most easy place to have a link to its profile is in the LevelUp Vodcast Section.

What is that ???

http://www.java-gaming.org/forums/index.php?board=54.0