Arathorns Open GL thread



  • Arathorns Sohn schrieb:

    Ist ne X1950XT, also nicht wirklich so alt. aja, ist das nehe tut empfehlenswert?

    Also wenn sich quer durch Foren liest, wird es sehr oft empfohlen. Ich persönlich finde den Farbstil der Website grauenhaft. Und die Tuts selbst naja es gibt sehr viel. Aber der Stil ist nicht mein Fall. Da musst du einfach selber schauen, ob du was damit anfangen kannst.

    http://www.gamedev.net/ Die Seite ist auch ziemlich gut.



  • Die Nehe Tutorials sind ziemlich umfangreich, aber leider verwendet der Autor einen etwas kruden C/C++ Mix (sieht aus wie C, manchmal steht dann aber auch new mittendrin...)

    Grüße,

    Martin



  • die seite gamedev kenn ich, hab zumindest schon davon gehört. aja, wegen dem farbstil, es gibt hier ne deutsche übersetzung in ordentlichen farben.^^
    http://www.joachimrohde.com/cms/xoops/modules/articles/article.php?id=10



  • Den Farbstil kann man auch ändern...



  • Die nehe Tuts sind ziemlich OK was OGL angeht. C++ sollte man schon können, dann stört es auch nicht wenn der "C++ Stil" grauenhaft ist -- man sieht was man mit OGL machen muss, "die Form" bleibt einem selbst überlassen.



  • jo, thx. aber ich hab ne weitere frage. ich hab ein 3d objekt gemacht, das sechseckicg ist, also brauche ich auch für jede fläche zwei faces, für die ich je andere texturen benutzen möchte, aber an dem punkt, wo die beiden texturen des font aufeinander treffen, gibt es einige weiße pixel( fast eine durchgehende reihe), aber die texturen sind bis auf den letzten pixel grau, und nicht weiß. Was kann ich machen?



  • wo die beiden texturen des font aufeinander treffen, gibt es weiße pixel

    was'n fuer'n font?

    Was kann ich machen?

    'nen screenshot posten?



  • http://s6.directupload.net/images/070920/temp/c2uRZbcH.png

    da. nix gegen die texturen(provisorisch) oder meinen musikgeschmack^^



  • jetzt verrate uns doch noch ein paar details:
    wie sehen deine texturkoordinaten aus, wie sieht die textur aus (groesse) und wie kopierst du selbige in den grafikspeicher.



  • Bis auf die größe findest du alles in post 1. groß sind beide 512*512( coord der zweiten textur kommen jetzt.)

    so, die ganzen coords( auch die von textur eins.)

    glBindTexture(GL_TEXTURE_2D, texture[0]);           //wählt die textur aus
    	glBegin(GL_QUADS);                              // Drawing uses Quads
    
    	        glTexCoord2f(0.7f, 1.0f); glVertex3f( 0.4f, 3.0f, 0.0f);           //Top right front
                glTexCoord2f(0.3f, 1.0f); glVertex3f(-0.4f, 3.0f, 0.0f);           //Top left front
                glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.5f, 0.0f, 0.0f);           //Middle left front
                glTexCoord2f(1.0f, 0.0f); glVertex3f( 1.5f, 0.0f, 0.0f);           //Middle right front
         glEnd();
         glBindTexture(GL_TEXTURE_2D, texture[1]);
         glBegin(GL_QUADS);
                glTexCoord2f(1.0f, 1.0f); glVertex3f( 1.5f, 0.0f, 0.0f);           //Middle right front
                glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.5f, 0.0f, 0.0f);           //Middle left front
                glTexCoord2f(0.25f, 0.0f); glVertex3f(-1.0f,-0.5f, 0.0f);           //Bottom left front
                glTexCoord2f(0.75f, 0.0f); glVertex3f( 1.0f,-0.5f, 0.0f);           //Bottom right front
    
                glVertex3f(-1.0f,-0.5f,-0.5f);           //back left Bottom
                glVertex3f(-1.0f,-0.5f, 0.0f);           //front  left bottom
                glVertex3f( 1.0f,-0.5f, 0.0f);           //front right bottom
                glVertex3f( 1.0f,-0.5f,-0.5f);           //back  right bottom
    
                glVertex3f(-1.5f, 0.0f,-0.5f);           //back top middle-side-left
                glVertex3f(-1.5f, 0.0f, 0.0f);           //front top middle-side-left
                glVertex3f(-1.0f,-0.5f, 0.0f);           //front bottom middle-side-left
                glVertex3f(-1.0f,-0.5f,-0.5f);           //back bottom middle-side-left
    
                glVertex3f( 1.5f, 0.0f,-0.5f);           //back top middle-side-right
                glVertex3f( 1.5f, 0.0f, 0.0f);           //front top middle-side-right
                glVertex3f( 1.0f,-0.5f, 0.0f);           //front bottom middle-side-right
                glVertex3f( 1.0f,-0.5f,-0.5f);           //back bottom middle-side-right
    
                glVertex3f(-0.4f, 3.0f,-0.5f);           //back top side left
                glVertex3f(-0.4f, 3.0f, 0.0f);           //front top side left
                glVertex3f(-1.5f, 0.0f, 0.0f);           //front bottom side left
                glVertex3f(-1.5f, 0.0f,-0.5f);           //back bottom side left
    
                glVertex3f( 0.4f, 3.0f,-0.5f);           //back top side right
                glVertex3f( 0.4f, 3.0f, 0.0f);           //front top side right
                glVertex3f( 1.5f, 0.0f, 0.0f);           //front bottom side right
                glVertex3f( 1.5f, 0.0f,-0.5f);           //back bottom side right
    
                glVertex3f(-0.4f, 3.0f,-0.5f);           //back left top
                glVertex3f(-0.4f, 3.0f, 0.0f);           //front  left top
                glVertex3f( 0.4f, 3.0f, 0.0f);           //front right top
                glVertex3f( 0.4f, 3.0f,-0.5f);           //back  right top
    
                glVertex3f( 0.4f, 3.0f,-0.5f);           //Top right back
                glVertex3f(-0.4f, 3.0f,-0.5f);           //Top left back
                glVertex3f(-1.5f, 0.0f,-0.5f);           //Middle left back
                glVertex3f( 1.5f, 0.0f,-0.5f);           //Middle right back
    
                glVertex3f( 1.5f, 0.0f,-0.5f);           //Middle right back
                glVertex3f(-1.5f, 0.0f,-0.5f);           //Middle left back
                glVertex3f(-1.0f,-0.5f,-0.5f);           //Bottom left back
                glVertex3f( 1.0f,-0.5f,-0.5f);           //Bottom right back
        glEnd();
    
                                           // End drawing
    

    texturen kommen auch jetzt.
    textur1:http://img341.imageshack.us/img341/6403/front1jj3.th.png
    textur2:http://img341.imageshack.us/img341/8656/front2qr3.th.png



  • mach mal texture-repeat aus.



  • thx, aber jetzt ist diese pixel linie schwarz, als wäre an der stelle nix( ur hintergrund)



  • och, i-jemand weiß bestimm was. aber ich hab auch drei neue fragen:
    1.Wie schreibe ich mir einen packer und unpacker für gamedaten.( also z.B. um alle texturen zur datei textures.game zu komprimieren. Sprache bitte C++).
    2.Wie kann ich die texturen aus dieser datei laden?
    3.Welcher dateityp empfiehlt sich für texturen? TGA, JPG, oder PNG, und wie lade ich diesen um ihn in eine textur umzuwandeln?
    THX, schonmal für die hilfe.



  • UnRarLib
    DevIL
    Beides haettest Du mit Google leicht selber finden koennen!



  • THX, aber zu der unrarlib, wären ein paar erklärungen wünschenswert. Kann ich da das format zum packen angeben? und wie kann ich einzelne sachen aus damit gepackten archiven laden? erst in den ram entpacken, oder?

    edit: ok, unrarlib ist nur für rars, aber ich möchte files machen, die man nicht einfach mit winrar entpacken und verändern kann...

    edit2: und welcher dateityp empfiehlt sich für texturen?



  • Verschlüssel doch einfach deine Daten. IIRC kann das die urarlib auch. Ist auf jeden Fall weniger Arbeit, als selbst ein Packformat zu erstellen. (Naja, das ist nicht so aufwendig, aber zahlt sich nicht aus, und Anfänger dürften auf die Nase fallen.)

    Als Dateiformat empfehle ich DDS, weil es nicht nur normale 2D-Bilder, sondern DXT-komprimierte Texturen, Mipmaps, Cubemaps, Volumtexturen und HDR-Texturen speichern kann. Es sollte ausreichend DDS-Loader im Netz geben. Was DevIL angeht, habe ich keine Ahnung, ob es mit DXT, DDS-Cubemaps, DDS-Mipmaps usw. klarkommt oder nur ein 2D-Bild will. In letzterem Fall wärs schade, weil DevIL dann die Mipmaps generiert, was ja eigtl. unnötig ist, da DDS die bereits gespeichert hat.



  • thx. bei dem dds format gibt es nur ein problem. Ich kann es nicht auswählen, wenn ich eine mit photoshop CS3 erstellte textur speichern will...

    und eine frage ist immernoch ungeklärt: wie kann ich die bilder aus dem archiv auslesen, wenn das verschlüsselt ist? Einfach dem programm den schlüssel angeben, und das archiv entpacken? Aber wie schaffe ich es, das ein archiv nur in den ram entpackt wird?



  • noch ne frage: zusammen mit den beiden aus dem letzten post:
    Was muss ich bei der Borland IDE alles in den Projekteinstellungen ändern, um Open GL Anwendungen kompilieren zu können? Als Ausgangseinstellung, nehme ich die Einstellung für normale Windowsprogramme. Ich hab auch die zusätzlichen Include links( für die gl header) angegeben, aber beim Linken bekomme ich folgenden fehler:
    Code:

    [Linker Fehler] Error: Ungelöste externe 'auxDIBImageLoadA' referenziert von D:\PROGRAMMIEREN\OPENGL LERNENGINE\DEBUG_BUILD\UNIT1.OBJ

    . Ich hab die libs von wx-DevCpp dazugelinked, weil ich nicht weiß, wo ich die beim Borland hintun muss. ( das selbe hab ich auch mit den headern gemacht.)

    Edit: ok, hab grade gesehen, dass es nicht funzen kann, da wx-DevCpp ein anderes format für die librarys verwendet. Hab die pfade zu dev-cpp also aus dem projekt von Turbo C++ gelöscht. funzt aber immer noch nicht.

    ( der post ist 1:1 aus nem anderen forum, daher der hier nicht vorhandene editzeitpunkt)


Anmelden zum Antworten