Arathorns Open GL thread



  • Aua. ich sollte nächstes mal genauer lesen. thx, für die antwort.

    aja, hab hier in nem anderen thread was von dem neuen Open GL 3.0 gelesen. lohnt es sich übnerhaupt noch das alte zu lernen, oder soll ich lieber auf das neue warten?



  • Arathorns Sohn schrieb:

    Aua. ich sollte nächstes mal genauer lesen. thx, für die antwort.

    aja, hab hier in nem anderen thread was von dem neuen Open GL 3.0 gelesen. lohnt es sich übnerhaupt noch das alte zu lernen, oder soll ich lieber auf das neue warten?

    Die Grundlagen kannst du auch ruhig am Alten lernen, so schnell stirbt das nicht aus. Und außerdem weis ich ja nicht ob deine Graka auch potentiell OGL3-fähig ist^^



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



  • 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?


Anmelden zum Antworten