kleiner "Wavefront (.obj) to OGRE (.mesh)" - Konverter

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Sunny
Beiträge: 290
Registriert: 19.02.2009 06:02

Re: kleiner "Wavefront (.obj) to OGRE (.mesh)" - Konverter

Beitrag von Sunny »

OK...
Wenn du jetzt noch nen algorithmus zurechtbastelt, der auch mit der nachfolgenden .obj-Datei klarkommt, dann denke ich mal, wären alle Fälle abgedeckt.
Ich zermarter mir jetzt schon ne ganze Weile den Kopf, wie man das hinkriegen könnte aber irgendwie sind meine Ansätze alle für'n A...
Hier mal die .obj-Datei:

Code: Alles auswählen

# WaveFront *.obj file (generated by CINEMA 4D)

g Extrude-NURBS_1
v 2.005279 -2.005643 0
v -2.048715 -2.017293 0
v -2.002118 2.013403 0
v -0.96532 2.025052 0
v -0.987692 3.974806 0
v -3.993814 3.974806 0
v -3.993814 -4.023131 0
v 4.004123 -3.995552 0
v 3.948965 5.98808 0
v -4.021393 6.015659 0
v -3.993814 11.945164 0
v 9.933628 11.972743 0
v 9.988787 -8.0221 0
v -7.992782 -8.0221 0
v -8.020361 9.810482 0
v -7.023025 11.83299 0
v -5.979508 9.810482 0
v -6.007087 -6.036405 0
v 7.947934 -6.008826 0
v 7.975513 10.014627 0
v -1.98054 9.959469 0
v -2.008119 7.918616 0
v 5.907081 7.891037 0
v 6.044976 -5.043558 0
v -4.986661 -5.043558 0
v -4.986661 4.967653 0
v 1.05316 4.967653 0
v 1.05316 2.01669 0
v 2.046008 1.989111 0
v 2.005279 -2.005643 -5
v -2.048715 -2.017293 -5
v -2.002118 2.013403 -5
v -0.96532 2.025052 -5
v -0.987692 3.974806 -5
v -3.993814 3.974806 -5
v -3.993814 -4.023131 -5
v 4.004123 -3.995552 -5
v 3.948965 5.98808 -5
v -4.021393 6.015659 -5
v -3.993814 11.945164 -5
v 9.933628 11.972743 -5
v 9.988787 -8.0221 -5
v -7.992782 -8.0221 -5
v -8.020361 9.810482 -5
v -7.023025 11.83299 -5
v -5.979508 9.810482 -5
v -6.007087 -6.036405 -5
v 7.947934 -6.008826 -5
v 7.975513 10.014627 -5
v -1.98054 9.959469 -5
v -2.008119 7.918616 -5
v 5.907081 7.891037 -5
v 6.044976 -5.043558 -5
v -4.986661 -5.043558 -5
v -4.986661 4.967653 -5
v 1.05316 4.967653 -5
v 1.05316 2.01669 -5
v 2.046008 1.989111 -5
v 2.005279 -2.005643 0
v -2.048715 -2.017293 0
v -2.002118 2.013403 0
v -0.96532 2.025052 0
v -0.987692 3.974806 0
v -3.993814 3.974806 0
v -3.993814 -4.023131 0
v 4.004123 -3.995552 0
v 3.948965 5.98808 0
v -4.021393 6.015659 0
v -3.993814 11.945164 0
v 9.933628 11.972743 0
v 9.988787 -8.0221 0
v -7.992782 -8.0221 0
v -8.020361 9.810482 0
v -7.023025 11.83299 0
v -5.979508 9.810482 0
v -6.007087 -6.036405 0
v 7.947934 -6.008826 0
v 7.975513 10.014627 0
v -1.98054 9.959469 0
v -2.008119 7.918616 0
v 5.907081 7.891037 0
v 6.044976 -5.043558 0
v -4.986661 -5.043558 0
v -4.986661 4.967653 0
v 1.05316 4.967653 0
v 1.05316 2.01669 0
v 2.046008 1.989111 0
v 2.005279 -2.005643 -5
v -2.048715 -2.017293 -5
v -2.002118 2.013403 -5
v -0.96532 2.025052 -5
v -0.987692 3.974806 -5
v -3.993814 3.974806 -5
v -3.993814 -4.023131 -5
v 4.004123 -3.995552 -5
v 3.948965 5.98808 -5
v -4.021393 6.015659 -5
v -3.993814 11.945164 -5
v 9.933628 11.972743 -5
v 9.988787 -8.0221 -5
v -7.992782 -8.0221 -5
v -8.020361 9.810482 -5
v -7.023025 11.83299 -5
v -5.979508 9.810482 -5
v -6.007087 -6.036405 -5
v 7.947934 -6.008826 -5
v 7.975513 10.014627 -5
v -1.98054 9.959469 -5
v -2.008119 7.918616 -5
v 5.907081 7.891037 -5
v 6.044976 -5.043558 -5
v -4.986661 -5.043558 -5
v -4.986661 4.967653 -5
v 1.05316 4.967653 -5
v 1.05316 2.01669 -5
v 2.046008 1.989111 -5

vt 1 1 0
vt 0 1 0
vt 0.016758 1 0
vt 0.03342 1 0
vt 0.037706 1 0
vt 0.045766 1 0
vt 0.058192 1 0
vt 0.091252 1 0
vt 0.124313 1 0
vt 0.165582 1 0
vt 0.198528 1 0
vt 0.223039 1 0
vt 0.280609 1 0
vt 0.36326 1 0
vt 0.437589 1 0
vt 0.511301 1 0
vt 0.520623 1 0
vt 0.53003 1 0
vt 0.595535 1 0
vt 0.65322 1 0
vt 0.719454 1 0
vt 0.760609 1 0
vt 0.769046 1 0
vt 0.801764 1 0
vt 0.855234 1 0
vt 0.900834 1 0
vt 0.942217 1 0
vt 0.967183 1 0
vt 0.979381 1 0
vt 0.983486 1 0
vt 1 0 0
vt 0 0 0
vt 0.016758 0 0
vt 0.03342 0 0
vt 0.037706 0 0
vt 0.045766 0 0
vt 0.058192 0 0
vt 0.091252 0 0
vt 0.124313 0 0
vt 0.165582 0 0
vt 0.198528 0 0
vt 0.223039 0 0
vt 0.280609 0 0
vt 0.36326 0 0
vt 0.437589 0 0
vt 0.511301 0 0
vt 0.520623 0 0
vt 0.53003 0 0
vt 0.595535 0 0
vt 0.65322 0 0
vt 0.719454 0 0
vt 0.760609 0 0
vt 0.769046 0 0
vt 0.801764 0 0
vt 0.855234 0 0
vt 0.900834 0 0
vt 0.942217 0 0
vt 0.967183 0 0
vt 0.979381 0 0
vt 0.983486 0 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0
vt 0 1 0

f 87/89 86/88 85/87 84/86 83/85 82/84 81/83 80/82 79/81 78/80 77/79 76/78 75/77 74/76 73/75 72/74 71/73 70/72 69/71 68/70 67/69 66/68 65/67 64/66 63/65 62/64 61/63 60/62 59/61 
f 89/91 90/92 91/93 92/94 93/95 94/96 95/97 96/98 97/99 98/100 99/101 100/102 101/103 102/104 103/105 104/106 105/107 106/108 107/109 108/110 109/111 110/112 111/113 112/114 113/115 114/116 115/117 116/118 88/90 
f 2/3 31/33 30/32 1/2 
f 3/4 32/34 31/33 2/3 
f 4/5 33/35 32/34 3/4 
f 5/6 34/36 33/35 4/5 
f 6/7 35/37 34/36 5/6 
f 7/8 36/38 35/37 6/7 
f 8/9 37/39 36/38 7/8 
f 9/10 38/40 37/39 8/9 
f 10/11 39/41 38/40 9/10 
f 11/12 40/42 39/41 10/11 
f 12/13 41/43 40/42 11/12 
f 13/14 42/44 41/43 12/13 
f 14/15 43/45 42/44 13/14 
f 15/16 44/46 43/45 14/15 
f 16/17 45/47 44/46 15/16 
f 17/18 46/48 45/47 16/17 
f 18/19 47/49 46/48 17/18 
f 19/20 48/50 47/49 18/19 
f 20/21 49/51 48/50 19/20 
f 21/22 50/52 49/51 20/21 
f 22/23 51/53 50/52 21/22 
f 23/24 52/54 51/53 22/23 
f 24/25 53/55 52/54 23/24 
f 25/26 54/56 53/55 24/25 
f 26/27 55/57 54/56 25/26 
f 27/28 56/58 55/57 26/27 
f 28/29 57/59 56/58 27/28 
f 29/30 58/60 57/59 28/29 
f 1/1 30/31 58/60 29/30 

Vieleicht findest du oder jemand anders eine Lösung dafür.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: kleiner "Wavefront (.obj) to OGRE (.mesh)" - Konverter

Beitrag von Danilo »

Sunny hat geschrieben:OK...
Wenn du jetzt noch nen algorithmus zurechtbastelt, der auch mit der nachfolgenden .obj-Datei klarkommt, dann denke ich mal, wären alle Fälle abgedeckt.
Tut mir leid, war noch ein kleiner Fehler drin. Habe den letzten Code geändert.

Triangulate() erwartet die Eckpunkte auch immer im umgekehrten Uhrzeigersinn (counter-clockwise).
Sind sie das nicht (wird mit ccw() gecheckt), wird das Array mit den Eckpunkten umgekehrt.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Antworten