Arathorns Open GL thread
-
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 drawingtexturen 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.
-
-
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)