Italia
Include

OBJ 3D Daten Import per OpenGL

 
- Page 1 -



Andreas
Gaida
Hi!
Habe eine kleine Include File geschrieben per 3D OBJ Daten einlesen und Dastellen unter XProfan 10.
Einschränkungen:
Bis jetzt sind nur Triangels und Quads eingebaut womit man eigentlich die meisten OBJ File lesen können sollte.
Es können nur OBJ File gelesen werden wo jede zeile mit @Chr$(13)+@Chr$(10) abgeschlossen wurde.
File dürfen nicht zu grande sein und es dürfen nicht mehrere objeckte in einer File sein.

In der Zip datei è sich ein Demo Program als Exe und als Quellcode und die OBJ Inc.

Wie gesagt ist noch nicht ganz fertig aber ich hoffe das der eine oder andere schon damit was anfangen kann.
Hoffe mit der Zeit die Inc erweitern zu können.

Programm:
mit Tasten : 1,2,3,4,5,6,0 kann man die verschiedenen OBJ Daten laden.
je nach Rechenleistung dauert das bis zu 1 min vorallem die nr.5
Tasten +/- sind zum zoomen und die Curso Tasten zum drehen des Objekts.

MfG
Andreas

683 kB
Kurzbeschreibung: OBJ Include mit 3D OBJ Daten und Beispiel Programm
Hochgeladen:21.12.2006
Downloadcounter395
Download
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
21.12.2006  
 



 
- Page 4 -



Frank
Abbing
Dieter Zornow
Der Ausdruck ist aber falsch, ich nehme mal an, dass laden_obj eine Procedure ist und die wird hier als Funktion aufgerufen. Dann muss es korrekterweise
KompilierenMarkierenSeparieren
objekt_1% = laden_obj("auto.obj")
oder
laden_obj "auto.obj"
object_1% = @&(0)pre>

heißen, sonst geht der Aufruf schief


Das funktioniert auch so. Die Variable speichert IMHO immer den letzten Rückwert.
 
05.09.2008  
 



Ich habe jetzt mit Wings3D ein Quader erstellt mit 4 Zylinder als Räder.
( Wings3D 0.99.03)

Habe die dann mit Wings3D eine Textur angezogen.

Mit den Tasten QWESAY kann man das /die Objekte drehen.

Mir kam es nur auf die Anpassung der Textur an.
Jedem Vertex kann man eine Textur verpassen die man möchte.
Schaut mal die BMP-Texturen an und die auf dem Auto.

Aber jeder einzelne Körper kann nur eine Textur haben.
Einem Quader kann man keine 2 Texturen zuweisen.

Jedem einzelnen Körper , hier die Räder oder Quader oder Zylinder kann je eine eigene Textur haben.

Hat spass gemacht.

mfg

23 kB
Hochgeladen:05.09.2008
Downloadcounter104
Download
 
05.09.2008  
 



Der Code hat Fehler und das Paket keine Exe. (jag mal xpse drüber)
 
05.09.2008  
 



Dann ist wohl der XProfan10-Compiler irgendwo am hudeln und keiner merkt es.
Der Compiler spuckt keine Fehlermeldung raus. Warum nicht?
Eine Variablenüberschreitung wird nicht gemeldet.

Vielleicht kann das einer mal mit Xprofan11 compilieren.

mfg
 
05.09.2008  
 



Ich wollte es mit XProfan11 kompilieren, aber XPSE bricht mit Fehlermeldungen ab. Pack wenigstens eine Exe mit herein.

Wenn ich es ohne XPSE kompilieren möchte dann klappt es auch mit XProfan11. Versuche den Fehler mal zu beseitigen.
 
05.09.2008  
 



Der Fehler scheint bereits in der 3d-einlesen1.inc zu stecken:


Error : OBJDRAWX(LISTENNUMMER2&) UNDEKLARIERT.
Procnaehe: POINTX
Naehe: : ~65, LISTENNUMMER2&=OGL("STARTLIST")
 
05.09.2008  
 



So sehen jetz die Variablen in derr INC aus :
KompilierenMarkierenSeparieren
Declare OBJ_vertex![1,1],OBJ_vertex_vn![1,1],OBJ_vertex_vt![1,1],OBJ_face_Quad&[1,1,1],OBJ_counter_v1&,OBJ_counter_vt1&
Declare OBJ_face_TRI%[1,1,1],OBJ_face_POLY%[1,1,1],OBJ_Textur%[1000],OBJ_Texture$[1000],MTL_counter&
Declare OBJ_counter_vn1&,OBJ_counter_f_QUAD&,OBJ_counter_f_TRI&,OBJ_counter_f_POLY&,OBJ_counter_f_POINT&,OBJ_counter_f_LINE&
Declare OBJ_Face_x&,OBJ_MTL$[1000],OBJ_Faces$[61000],OBJ_Vertex_V$[65000],OBJ_Vertex_VN$[65000],OBJ_Vertex_VT$[65000]
Declare OBJ_Textur_count%,OBJ_Textur%,Tex_Data_geladen$
declare rückgabe&,Listennum

Eine war doppelt, eine fehlte, weil die in im Hauptprogramm war.

XPIA/XPSE compilieren jetzt fehlerfrei, aber linken ist "0".

Fehler liegt wahrscheinlich in irgendeiner Profandatei des compilers.

Ein Überlauf, der nicht kontrolliert wird.

mfg
 
05.09.2008  
 



Lad bitte ein komplettes integeres Paket hoch welches keine Fehler besitzt.
 
05.09.2008  
 




Dieter
Zornow
@Frank:

Frank Abbing
Das funktioniert auch so. Die Variable speichert IMHO immer den letzten Rückwert.


Ich glaube du must alles zurücknehmen und das Gegenteil behaupten. probiers erst mal aus
KompilierenMarkierenSeparieren
proc abc

    parameters a&
    return 200 + a&

endproc

cls
Print abc(10)
abc(10)
Print @&(0)
w
ut
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
05.09.2008  
 




KompilierenMarkierenSeparieren
test{

    return 3

}

test2{}
test
print @&(0)
test2
print @&(0)
ey
ist doch sehr aufschlussreich mit
3
3


Nachtrag:

@Dieter: Interessant! Wird eine Funktion als Argument aufgerufen scheint sie @& nicht zu füllen meinst Du?
 
05.09.2008  
 



Compiliert fehlerfrei: XPIA/XPSE.

mfg

15 kB
Hochgeladen:05.09.2008
Downloadcounter117
Download
 
05.09.2008  
 




Dieter
Zornow
@IF: Ich habe davon geschrieben, eine Procedure als Funktion aufzurufen, die füllt nicht.. Kann man auch aus meinem ersten Posting ersehen.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
05.09.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

60.529 Views

Untitledvor 0 min.
Walter30.04.2023
Sven Bader23.09.2021
Alibre28.01.2021
Ralf Netz07.04.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie