English
Includes

OBJ 3D data Import for OpenGL

 
- Page 1 -



Andreas
Gaida
Hi!
have a small Include File written for 3D OBJ data reading and Dastellen under XProfan 10.
Einschränkungen:
yet only Triangels and Quads installed with which one really most OBJ Files reading can ought to.
it can only OBJ Files red go where each row with @Chr$(13)+@Chr$(10) completed watts.
Files can not To big his and it can not several objeckte in a File his.

in the zipper File is one demonstration Program as Exe and as Source and The OBJ Inc.

As I said is not yet integrally ready but I hope the the a or others already so what begin can.
hope with the Time The Inc strain to.

Program:
keys with : 1,2,3,4,5,6,0 can The different OBJ data loading.
according to Rechenleistung lasts the up to 1 mins vorallem The nr.5
Keys +/- are to that zoomen and the Curso Keys to that turn the Objekts.

MfG
Andreas

683 kB
Kurzbeschreibung: OBJ Include with 3D OBJ data and example Program
Hochgeladen:12/21/06
Downloadcounter395
Download
 
Athlon X2 4800 , 2GB Ram , GeForce 7800GT
Windows XP Pro , XProfan 10 und 11 , Profan2Cpp 1.6b
12/21/06  
 



 
- Page 3 -


have now time the program to that transfiguring the obj intense tested.
there's with my Test at all nothing To beanstanden.
have The Hauptdatei for my tack adjusted and the INC unangetastet let(the strength The complete Umwandlungsarbeit).

have yourself Textures and 3d-body manufactured in the Objekt-stature , once with Blender3d and Wings3d and then transformed. everything becomes tidy read and motley displayed (100%tig).

its seldom so one wunderbares Tool to find, which the Open-Gl-users urgently need circa not whom whole body To foot type.
Congratulations.
I have the feeling, the some Open-Gl-users not at all know, what kind of helpful pearl here schlummert.

The Textures of a Bitmap on whom body To bring with Blender3D and Wings3D isn't heavy, goes zügig until first result.
the schwerste was, The reading to search in german.

who quick body with Textures produce would like for OpenGl, whom can I Wings3D ans marrow lay, use I now too. Blender3D against it is a Hyperprogramm, because one so almost everything can make what the Künstlerherz begehrt. the I here need, body produce and Textures arrange only 0,00001% of the , what Blender3D yet can make.

who More over einfacheTexturen for 3D-body experienced would like with Blender3D or Wings3D, whom can I help on, before it itself in the jungle berirrt and no pleasure More has, Graphics /Textures einzuri chten.

mfg
peter
 
09/02/08  
 



The Object.zipper V002 supra is the Latest, The by me everything reading can without beanstandungen.

mfg
 
09/02/08  
 





the XPGL is but already times not badly...


XPGL find so did i class.

really any Proceduren in the INC drin, of point over Dreieck until Polygon, (More go in the 3d-Körpert not using.) which too in the XPGL used go can.

The beginning would already there.

mfg
CompileMarkSeparation
PROC Polygonx

    Parameters datax$,anzahl&
    declare data$,data2$,data3$,count&
    declare x1!,y1!,z1!,V_Zeiger&
    declare x2!,y2!,z2!,VT_Zeiger&
    declare x3!,y3!,z3!,VN_Zeiger&
    rückgabe& =oGL("glBegin",~GL_POLYGON)
    ------------------------------------------------------

    WhileLoop (anzahl&-1)

        count& = anzahl& - &loop
        count& = 0 - count&
        data2$ = SubStr$(datax$ ,count&," ")
        data3$ = SubStr$(data2$, 1,"/")
        V_Zeiger&  = @Val(data3$)
        data3$ = SubStr$(data2$, 2,"/")
        VT_Zeiger& = @Val(data3$)
        data3$ = SubStr$(data2$,-1,"/")
        VN_Zeiger& = @Val(data3$)
        data$ = OBJ_Vertex_V$[V_Zeiger&]
        data2$ = SubStr$(data$,-3," ")
        x1! = @Val(data2$)
        data2$ = SubStr$(data$,-2," ")
        y1! = @Val(data2$)
        data2$ = SubStr$(data$,-1," ")
        z1! = @Val(data2$)
        data$ = OBJ_Vertex_VT$[VT_Zeiger&]
        data2$ = SubStr$(data$,-2," ")
        x2! = @Val(data2$)
        data2$ = SubStr$(data$,-1," ")
        y2! = @Val(data2$)
        data$ = OBJ_Vertex_VN$[VN_Zeiger&]
        data2$ = SubStr$(data$,-3," ")
        x3! = @Val(data2$)
        data2$ = SubStr$(data$,-2," ")
        y3! = @Val(data2$)
        data2$ = SubStr$(data$,-1," ")
        z3! = @Val(data2$)
        oGL("glNormal3f",x3!,y3!,z3!)
        oGL("glTexCoord2f",x2!,y2!)
        oGL("glVertex3f",x1!,y1!,z1!)

    EndWhile

    ------------------------------------------------------
    rückgabe& = oGL("glEnd")

ENDPROC

PROC Triangle

    Parameters datax$,data$,data2$,data3$
    declare x1!,y1!,z1!,V_Zeiger&
    declare x2!,y2!,z2!,VT_Zeiger&
    declare x3!,y3!,z3!,VN_Zeiger&
    rückgabe& =oGL("glBegin",~GL_TRIANGLES)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-3," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-2," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-1," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    rückgabe& = oGL("glEnd")

ENDPROC

PROC Quadrat

    Parameters datax$,data$,data2$,data3$
    declare x1!,y1!,z1!,V_Zeiger&
    declare x2!,y2!,z2!,VT_Zeiger&
    declare x3!,y3!,z3!,VN_Zeiger&
    rückgabe& =oGL("glBegin",~GL_QUADS)
    data2$ = SubStr$(datax$ ,-4," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-3," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-2," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-1," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    rückgabe& = oGL("glEnd")

ENDPROC

PROC Linex

    Parameters datax$,data$,data2$,data3$
    declare x1!,y1!,z1!,V_Zeiger&
    declare x2!,y2!,z2!,VT_Zeiger&
    declare x3!,y3!,z3!,VN_Zeiger&
    rückgabe& =oGL("glBegin",~GL_LINES)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-2," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-1," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------------
    rückgabe& = oGL("glEnd")

ENDPROC

PROC Pointx

    Parameters datax$,data$,data2$,data3$
    declare x1!,y1!,z1!,V_Zeiger&
    declare x2!,y2!,z2!,VT_Zeiger&
    declare x3!,y3!,z3!,VN_Zeiger&
    rückgabe& =oGL("glBegin",~GL_POINTS)
    ------------------------------------------------------
    data2$ = SubStr$(datax$ ,-1," ")
    data3$ = SubStr$(data2$, 1,"/")
    V_Zeiger&  = @Val(data3$)
    data3$ = SubStr$(data2$, 2,"/")
    VT_Zeiger& = @Val(data3$)
    data3$ = SubStr$(data2$,-1,"/")
    VN_Zeiger& = @Val(data3$)
    data$ = OBJ_Vertex_V$[V_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x1! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y1! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z1! = @Val(data2$)
    data$ = OBJ_Vertex_VT$[VT_Zeiger&]
    data2$ = SubStr$(data$,-2," ")
    x2! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    y2! = @Val(data2$)
    data$ = OBJ_Vertex_VN$[VN_Zeiger&]
    data2$ = SubStr$(data$,-3," ")
    x3! = @Val(data2$)
    data2$ = SubStr$(data$,-2," ")
    y3! = @Val(data2$)
    data2$ = SubStr$(data$,-1," ")
    z3! = @Val(data2$)
    oGL("glNormal3f",x3!,y3!,z3!)
    oGL("glTexCoord2f",x2!,y2!)
    oGL("glVertex3f",x1!,y1!,z1!)
    ------------------------------------------------/span>-----
    rückgabe& = oGL("glEnd")

ENDPROC

 
09/02/08  
 





Vertex data for lines, Dreiecke , Vierecke and Polygone and the can so far I the see not a only XPGL File squash .


the umändern could the Programmiervater the XPGL take, the one several different body reading can.
Dürfte for it a leichtigkeit , would sometime still time necessary been this To Change.

mfg
 
09/02/08  
 



so How I the see bid XPGL already these Opportunities. XPGL-Experience have I no.
 
09/02/08  
 



means with XProfan10 goes not.
one can of course several different body reinbringen, with names, angezeitg becomes always only the 1.

mfg
 
09/02/08  
 



...what Perhaps on it lying the The data to a ogl.list "kompiliert" go.
 
09/03/08  
 



the Program Wings3d for Obj-Files with Texturenerstellung there now in german.

mfg
peter
 
09/04/08  
 



what bdeutet this Variablenausdruck: @&(0) ?
is in the Objekt-EinleseProgramm.
CompileMarkSeparation
laden_obj ("auto.obj")
objekt_1% = @&(0)e>

mfg
 
09/05/08  
 




Frank
Abbing
@&(n)
n : Integer (0 ... 15)

Result: LongInt

The n-th übergebene Parameter in a selbstdefinierten function (or procedure) as LongInt.

The 0. Parameter is to appeal of/ one procedure/method the with Return <Wert> zurückgegebene worth.
 
09/05/08  
 




Dieter
Zornow
The expression is wrong, I take at times, that laden_obj a Procedure and that the becomes here as function called. then must it Correctly
CompileMarkSeparation
objekt_1% = laden_obj("auto.obj")
oder
laden_obj "auto.obj"
object_1% = @&(0)pre>

hot, otherwise goes the appeal schief
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
09/05/08  
 



means functions do tappt im dunkeln any! comic....

but nevertheless thank you very much.

mfg
 
09/05/08  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

60.428 Views

Untitledvor 0 min.
Walter04/30/23
Sven Bader09/23/21
Alibre01/28/21
Ralf Netz04/07/20
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie