Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (603)
Games in Android Showcase (171)
games submitted by our members
Games in WIP (652)
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  
  Reset GeometryInfo in Shape3D without saving and reloading .obj ...  (Read 2230 times)
0 Members and 1 Guest are viewing this topic.
Offline jiapei100

Junior Devvie

« Posted 2010-11-20 15:50:32 »

Hi, all:

This could be a silly question but I really need a help.... Urgent help please...

1) First, I'm able to load .obj file successfully. For instance, the current loaded .obj file "a.obj" looks like:
v ...  ...  ...
v ...  ...  ...
vt ...  ...  ...
vt ...  ...  ...
f ...  ...  ...
f ...  ...  ...
In order to display "a.obj" on the screen, I have to load this "a.obj" by using
int flags = ObjectFile.TRIANGULATE | ObjectFile.STRIPIFY | ObjectFile.RESIZE; 
ObjectFile f = new ObjectFile(flags, (float)(creaseAngle * Math.PI / 180.0));
Scene s = f.load("a.obj");  // Exception is ignored here by me
BranchGroup bg = s.getSceneGroup();
Shape3D obj3d = (Shape3D)bg.getChild(0);

Whenever I updated the values of "v" (let's just call it "updated-v"), I saved the data into another .obj file "b.obj".
(Note, values of "vt" and "f" are unchanged. )
In order to display it on the screen, I have to reload this "b.obj" by using
int flags = ObjectFile.TRIANGULATE | ObjectFile.STRIPIFY | ObjectFile.RESIZE; 
ObjectFile f = new ObjectFile(flags, (float)(creaseAngle * Math.PI / 180.0));
Scene s = f.load("b.obj");

again, which I think is a very silly way.
Because to save the data onto the hard-drive and reload the data from the hard-drive into the memory is very very time-consuming.

2) I'm guessing that I should be able to assign the "updated-v" values directly into the already-loaded Shape3D "obj3d".
Therefore, I tried the following:
GeometryArray ga = (GeometryArray)obj3d.getGeometry();
GeometryInfo gi = new GeometryInfo( ga );

However, there is something displayed, but the scaling is wrong, and the shape and texture is not what I expected.

I re-iterate it once again.
a) If I save "updated-v" into the "b.obj" directly and reload "b.obj", I can display the object correctly, with correct Shape3D, but this is too time-consuming.
b) If I just use the above 4 lines of codes as shown in 2), the object is displayed wrongly, wrong Shape3D for sure, and wrong scaling. Wrong displaying texture is probably due to the wrong Shape3D.

Can anybody please give me a hand on my difficulty?

Best Regards

Welcome to Vision Open
Offline tom
« Reply #1 - Posted 2010-11-21 19:29:44 »

-Write your own loader
-Manipulate the scenegraph directly

Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

SHC (21 views)
2015-08-01 03:58:20

Jesse (19 views)
2015-07-29 04:35:27

Riven (39 views)
2015-07-27 16:38:00

Riven (21 views)
2015-07-27 15:35:20

Riven (24 views)
2015-07-27 12:26:13

Riven (14 views)
2015-07-27 12:23:39

BurntPizza (35 views)
2015-07-25 00:14:37

BurntPizza (46 views)
2015-07-24 22:06:39

BurntPizza (28 views)
2015-07-24 06:06:53

NoxInc (36 views)
2015-07-22 22:16:53
List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21 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‑
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!