wie kann ich meinen schwarzen rahmen da wieder rumbasteln ?
weil wenn noch keine textur drauf ist, dann ist der kasten einfach nur weiß, genau wie der hintergrund, und man muss ja nicht alle seiten texturieren müssen und licht möchte ich nicht einbauen
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Na ja. Entweder du definierst dir ein paar leere Texturen, die du anstelle der Anderen benutzt. Oder du lässt den Rand in den Texturen komplett weg und renderst den indem du einen Quader renderst der nur aus Linien besteht. Also zu erst den texturierten und dann den aus Linien. Beachte aber, dass dein Tiefentest (glDepthFunc) auf GL_LEQUAL steht. Damit werden dann auch Pixel gezeichnet die genau dort liegen wo bereits eine Fläche liegt. Also die die gleiche Tiefe haben. Sonst sind die Linien nicht richtig sichtbar.
Du könntest aber auch einen Quader rendern der die leeren Texturn benutzt aber von dem nur die Ränder sichtbar sind. Also entweder blenden oder per Multitexturing. Das ermöglicht es dir den Rand entweder anzuzeigen oder auszublenden. Nicht jeder möchte gerne Linien auf dem Würfel haben. Also Möglichkeiten gibt es viele. Ist nur die Frage wie man das anstellt und macht.
also meinen code schnipsel hab ich aus dem comic style beispiel, da hats auch funktioniert, mit textur + rand so in etwa möchte ich das auch machen, nicht zu kompliziert
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich persönlich würden den Rand nicht mit eine Textur machen. Was ist wenn jemand eine Sehr große Textur hat. Die dann keinen Rand mehr hat. Und extra in die Textur reinmalen ist auch doof. Abgesehen davon kann der Rand auch in seiner stärke abweichen. Je nachdem wie groß die Textur ist. Ein Rand mit OpenGL Linien ist immer so stark wie du willst (immer 2 px) egal wie gezoomt ist.
Also zu erst malst du deinen Quader mit den Texturen und anschließend Renderst du ihn noch mal aber ohne Texturen und nur in Schwwarz. Und dann auch so, dass nur dessen Kanten sichtbar sind.
Code:
glDisable(GL_TEXTURE_2D);
glColor3f(0,0,0);
glLineWidth(2);
glPolygonMode(GL_FRONT, GL_LINE);
glBegin(GL_QUADS);
glVertex3f(-3,-3,0);
glVertex3f(3,-3,0);
glVertex3f(3,3,0);
glVertex3f(-3,3,0);
glEnd;
glPolygonMode(GL_FRONT, GL_FILL);
Dann solltest du einen Schwarzen rand haben. Und dadurch, dass es nur extra Code ist kannst du es zu und abschaltbar gestalten.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Versuche mal folgendes.
Code:
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
Für mich klingt es so als ob du die andere Seite der Fläche einstellst hast. Und überprüfe bitte mal wo linewidth auf seinen Wert gesetzt wird. Und ob dort das richtige drin steht.
Registriert: Mi Dez 15, 2004 20:36 Beiträge: 454 Wohnort: Wien, Österreich
Wenn schon 3 mal dann bitte 2 Beiträge löschen. Und du köntes es doch anhängen, ZIP ist das magic Wort. (und dabei meine ich nur die 500 zeilen da oben)
_________________ "Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump
komisch, wenn ich die texturen aus der datei lade sind sie nicht so pixelig, wenn ich sie aber als image durch meine streck prozedur lade schon, warum ?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.