Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - uwepost

Pages: [1]
1
German corner / Frage zur Performance
« on: June 05, 2013, 12:56:47 pm »
Hallo liebe Experten!

Da wir gerade ein größeres Projekt umzusetzen beabsichtigen, wäre es schön, ein paar Erfahrungswerte zu kennen.
Womit skaliert die Framerate wie stark?
- Vertex-Anzahl, oder
- Dreieck-Anzahl, oder
- Dreieck-Flächen, oder
- Texturen-Auflösung, oder
- Objekt-Anzahl, oder
- was hab ich vergessen?
Anders gefragt: Wovon ist die Framerate am meisten abhängig, wovon am wenigsten?

Danke im Voraus!
Uwe

2
German corner / Textur auf .obj-Objekten
« on: April 23, 2013, 11:14:13 pm »
Tagchen,

nachdem ich dreimal alles durchsucht habe und mir ziemlich sicher bin, dass ich es so mache, wie es hier steht (http://www.jpct.net/wiki/index.php/Loading_models), muss ich euch leider mit einer Wie-kriege-ich-das-denn-nun-hin-Frage belästigen.

Also, ich habe ein relativ einfaches .obj mit Blender fabriziert, ein Haus. Wand und Dach sind mit jeweils einer Textur beklebt, roof1.jpg und wall1.jpg, jeweils 256x128 Pixel groß. Beide werden vorab geladen:

Code: [Select]
TextureManager.getInstance().addTexture("roof1.jpg", new Texture(getAssets().open("3dobjects/roof1.jpg")));
TextureManager.getInstance().addTexture("wall1.jpg", new Texture(getAssets().open("3dobjects/wall1.jpg")));

Das Objekt wird geladen mit:
Code: [Select]
objects = Loader.loadOBJ(objStream, mtlStream, 1f);Dabei sind die Streams natürlich die passenden zu den Files house_1.obj und house_1.mtl. Ich habe in der house_1.mtl nachgesehen, dort werden die beiden Texturen referenziert als:
Code: [Select]
map_Kd roof1.jpg
...
map_Kd wall1.jpg

Soweit funktioniert auch alles, es wirft keine Fehler, bloß in der 3D-Ansicht ist von den Texturen nichts zu sehen, das Haus hat ein einfarbig oranges Dach und graue Wände.

Verdächtig ist: Orange und grau sind zufälligerweise die "gemittelten" Farben von Dach bzw. Wand. Es schaut fast so aus, als wären die Texturen zwar da, aber... "unendlich unscharf". Denn wenn ich in Blender die Textur-Bilder entferne und einfach nur als Farben z.B. rot und weiß einstelle, wird das Objekt dementsprechend richtig eingefärbt. Das Orange kann nur aus der Texturdatei kommen, aber die hat eben nicht nur orange Pixel, sondern... Dachschindeln. Die Wand, eigentlich ein hübsches schwarz-weißes Fachwerk, wird zu grau.

Der Textur-Manager funktioniert mit anderen Texturen, die ich auf z.B. Primitives.getPlane lege, d.h. wird eine geladene Bodentextur wunschgemäß dargestellt.

Das verwendete Testgerät ist ein Nexus 7. Auf einem LG Optimus 3D derselbe Effekt.

Objekt als 3ds statt als obj exportiert und geladen mit Loader.load3DS() - derselbe Effekt.

Was übersehe ich?

Dreidimensionale Grüße

Uwe

Pages: [1]