Performance issues

Have jReality programming problems or questions? Post them here.
Andre
Posts: 226
Joined: Fri 18. Sep 2009, 11:30

Re: Performance issues

Post by Andre » Thu 14. Jul 2011, 18:56

Sorry, I just looked at the "viewer from scratch" example and figured out, that If you used the whole time this viewer, you couldn't know what I mean.
But anyway, this is not the way, how jreality should be used, its more an example how it could be used aswell.

So please take some time and read "User Tutorial" and the "User-VR Tutorial" how jReality should be used:
http://www3.math.tu-berlin.de/jreality/ ... r_Tutorial
http://www3.math.tu-berlin.de/jreality/ ... ser_Manual

Check your jReality installation:
http://www3.math.tu-berlin.de/jreality/ ... p_tutorial

Read about the jReality Scene Graph:
http://www3.math.tu-berlin.de/jreality/ ... graph.html

And finally work through the "developer-tutorials" seriously:
http://www3.math.tu-berlin.de/jreality/ ... r_Tutorial

This will definitely take some time, but it's necessary to learn jReality.

tiofredo
Posts: 40
Joined: Mon 2. May 2011, 15:04

Re: Performance issues

Post by tiofredo » Fri 15. Jul 2011, 15:23

Hi.
Thanks for the answers.
If I'm building my viewer from scratch, it's because I don't need predefined things, I followed what was specified in the article Extract viewer from ViewerApp :
"The Viewer coming from the JRViewer constructor used in this example has some default tools, lights, and other features installed. If you don't want these, see how to create a viewer from scratch."
I tried but haven't found a way to do :

Code: Select all

public void addComponentWithCamera(SceneGraphComponent component)
	{

		cameraNode.addChild(component);

		SceneGraphPath camPath = new SceneGraphPath(rootNode, component);
		camPath.push(component.getCamera());

		Viewer viewer = new Viewer();
				
		viewer.setSceneRoot(rootNode);
		viewer.setCameraPath(camPath);
	
	
		JFrame frame = new JFrame();

		frame.setVisible(true);
		frame.setTitle(component.getName());
		// frame.setResizable(false);
		frame.setSize(960, 560);

		frame.setLocation(framePositions[frameCount][0], framePositions[frameCount][1]);
		frame.getContentPane().add((Component) viewer.getViewingComponent());
		frame.validate();

		frameCount++;
		rt.addViewer(viewer);

	}
with the viewer from JRViewer.

I've read most of the tutorials, though I didn't understand everything, being new to 3D and 3D vocabulary.
I skipped some parts I didn't need, being pressed by delays.
I have managed to do most of the urgent things,
Things are better now, thanks to you guys.

Andre
Posts: 226
Joined: Fri 18. Sep 2009, 11:30

Re: Performance issues

Post by Andre » Mon 18. Jul 2011, 11:16

I just talked with Charles about your problem and it seems, that the JRViewer really doesn't provide multiple camera-nodes.

But anyway the jreality-scenegraph works fine and should be used, so probably a good solution should be to generate your scene with a JRViewer and generate a second viewer from scratch which manages the other 3 cameras.

Before you start with that, I want to talk with steffen, maybe he knows a way to generate multiple camera-nodes with JRViewer.

User avatar
gunn
Posts: 323
Joined: Thu 14. Dec 2006, 09:56
Location: TU Berlin
Contact:

Re: Performance issues

Post by gunn » Mon 18. Jul 2011, 12:12

A clarification: the JRViewer does offer multiple camera nodes, via the possibility of setting different camera paths. What it doesn't offer is the possibility to have a different viewing component (i.e., window) for each of these cameras. A JRViewer, like any other instance of de.jreality.scene.Viewer, has just one viewing component. If you change the camera path it will then render the new camera path into this viewing component, and the previous camera path is no longer rendered. All that can be seen in the camera path tutorial.
jReality core developer

tiofredo
Posts: 40
Joined: Mon 2. May 2011, 15:04

Re: Performance issues

Post by tiofredo » Tue 19. Jul 2011, 08:23

So, I should create a JRViewer for each camera as I need to have 4 simultaneously ? Is that right ?

Andre
Posts: 226
Joined: Fri 18. Sep 2009, 11:30

Re: Performance issues

Post by Andre » Tue 19. Jul 2011, 08:40

tiofredo wrote:So, I should create a JRViewer for each camera as I need to have 4 simultaneously ? Is that right ?

No not really. Its more rendering one camera with JRViewer and the other 3 with viewer from scratch. We will discuss a solution at our Developer-meeting on Wednesday, than I'm hopefully able to present you a good solution.

best
andre

tiofredo
Posts: 40
Joined: Mon 2. May 2011, 15:04

Re: Performance issues

Post by tiofredo » Tue 19. Jul 2011, 08:44

Thanks for the help guys.

Andre
Posts: 226
Joined: Fri 18. Sep 2009, 11:30

Re: Performance issues

Post by Andre » Fri 22. Jul 2011, 12:44

Hi tiofredo,

at Wednesday we had our developer-meeting unfortunately our responsible for the toolsystem has holidays right now. But we spoke there about your problem.

First of all. Do you really need 4 cameras? And for what are the other 3 cameras? Are these cameras just for perspective for the x-, y-, z- axes (like in blender) or should these cameras provide different camerapaths.

The problem we can not solve without the responsible for the toolsystem is, that it is not clear if the toolsystem can provide support for more then one active camerapath. If the toolsystem isn't flexible enough, then the support of your request isn't possible without a big change of jreality and we won't have enough time for that now.

But back to your program. If there is a chance, that you can skip your requirement with the additionally 3 cameras, then you can realize your project with the JRViewer.class and maybe update your ready made project with 3 cameras afterwards.

best
mongo

tiofredo
Posts: 40
Joined: Mon 2. May 2011, 15:04

Re: Performance issues

Post by tiofredo » Fri 22. Jul 2011, 16:34

Hi Andre.
Thanks for the answer.
Well, I really need the 4 cameras.
The project is about monitoring the warehouse from different point of views, it's in the specifications I received.
And the cameras are not frozen, they can move, follow boxes, etc.
For now I have a decently working 3D component, I'm working on other parts of this big project.
Whenever you have news, I'll happily give a try to the JRViewer class, and hopefully will have all this working fine.
I'm sure that having more than one camera with JRViewer will be a great add to jReality!
Thanks for the help!

tiofredo
Posts: 40
Joined: Mon 2. May 2011, 15:04

Re: Performance issues

Post by tiofredo » Mon 1. Aug 2011, 11:13

edit (last message was stupid, again :) ):

I have a feature to implement :
from a coordinate on a camera viewport, I need to have the "clicked" component.
No dragging, scaling, moving, rotating or anything, just knowing which component is selected, getting its name, then some entry point for internal stuff from there;
When I say coordinates on a camera viewport, I mean that they don't come from a direct mouse click, but from a click on another application, giving the coordinates in numeric values.
I managed to make a tool working for a single camera and a mouse.
When I use 4 cameras, and I click on one of the views, I have the perform method called 4 times on clickdown, and 4 times on clickup.
Apart from that, it worked fine.

Then I guess I need to create a simulated device, as I want some events from my app to trigger a tool perform.
Should I look around the RawDevice class ?

If I can get that with a single camera with a viewer from scratch, and furthermore, with 4 cameras on 4 viewers from scratch, I'd be a happy man!

Post Reply