Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 16:12

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 65 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: So Feb 26, 2006 10:29 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

naja, ich sag mal nachdem man es verstanden hat ist es einigermaßen ersichtlich.

Ok, mal zwei andere Fragen :

1. Ich Initialisiere OGL derzeit in etwa so wie das im Quickstart Tutorial beschrieben ist.
Nun wollte ich mal eine Texture benutzen.
Hab dazu als erstes mal in der Procedure SetupGL folgrndes gemacht :
Code:
  1.  
  2.   glClearColor(0, 0, 0, 0);   //Hintergrundfarbe
  3.   glEnable(GL_DEPTH_TEST);    //Tiefentest aktivieren
  4.   glEnable(GL_CULL_FACE);     //Backface Culling aktivieren
  5.  
  6.   glEnable(GL_TEXTURE_2D);                     // Enable Texture Mapping
  7.  


Sobald ich aber den glEnable(GL_TEXTURE_2D) da mit reinnehme dann sind die Farben irgendwie dunkler.
Hmm...also bei dem was ich gezeichnet habe ist dann ein Weiss so ein bischen dunkler, ins Grau hinein.
Warum ist das so ?

2. Ich hab nun eine Weltkarte. Hab mir gedacht .... wär ja toll, wenn die da drunter liegen könnte.
Die Karte ( bmp ) ist 758x379. Hmm, nun ist ja eine Einheit der Matrix nicht gleich 1 Pixel, soweit müsste ich das ja jetzt nun verstanden haben oder lieg ich da wieder mal falsch ?
Also die Frage ist wie ich das machen könnte das die Karte genau den Wetkoordinaten entspricht ?
Also der Mittelpunkt der Karte müsste 0,0 sein, max x=180 , min x=-180 und bei y das ganze mit 90, also oben +90, unten -90.

Ich glaube das hier :

Code:
  1.  
  2.   glBindTexture(GL_TEXTURE_2D, MyTextureTex);  // Bind the Texture to the object
  3.   glBegin(GL_QUADS);
  4.     glTexCoord2f(0, 1); glVertex3F(-180,90,0);
  5.     glTexCoord2f(0, 0); glVertex3F(-180,-90,0);
  6.     glTexCoord2f(1, 0); glvertex3F(180,-90,0);
  7.     glTexCoord2f(1, 1); glVertex3F(180, 90,0);
  8.   glEnd();
  9.  

dürfte nicht richtig sein oder ?

Matthias

Ach so, der Skizzenrenderer geht immer noch nicht. Jetzt kommt gleich beim starten eine Fehlermeldung und dann hast Du da irgendwie die Komponenten auf der Form verschoben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 26, 2006 16:10 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
Bitte: Die gleichen Regeln wie im DF ;) Mehre Fragen, mehre Threads. Das macht es einfache eine mal zwischendurch zu lesen. Gerade bei langen Threads liest sonst nicht jeder alles durch.
1. Das klingt von der Beschreibung danach als würde deine Textur dunkler sein und keine TexturCoordinaten gesetzt sein, bzw. für alle die gleiche. Setze für jedes Vertex eine Koordinate mittels glTexCoord2f() und es sollte die Textur gesetzt sein. Nimmst Du überall 0,0 oder gar nichts (was vermutlich dann das Selbe ist) und deine linke untere Ecke ist dunkel, so verfärbt sich das Objekt einfach nur. Wobei ich nun irritiert bin, weil in deiner zweiten Frage setzt du Diese ja.

2. Nun in Pixeln sollte man (zumindest wenn man keine orthogonale Projektion hat) auch lieber nicht denken. Eine Textur geht vom Bereich 0 bis 1. Wieviele Welteinheiten das Quad hat auf dem die Textur geklebt wird, soll nicht deine Sorge sein, sondern die von OpenGL. Sofern das Ausmaß also korrekt ist, sieht der Code von Dir doch gar nicht so schlecht aus. Was man noch im Hinterkopf behalten sollte ist, dass Texturen in der Regel stets auf einer zweier Potenz basieren sollte, da es sonst (Abhängig von Karte und Treiber) zu Problemen führen kann.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 26, 2006 16:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nun, objekte die du Texturieren willst musst du mit aktiviertem Textureing zeichnen, bei den restlichen Objekten musst du Texturing auch wieder aus machen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 26, 2006 16:23 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

also müsste das ja so hinhauen wich ich mir das dachte, danke.

Zu den dunkleren Farben, das meine ich so:

Sobald ich diesen Befehl : glEnable(GL_TEXTURE_2D); in die SetupGL; Procedure reinnehme, NICHTS ANDERES ERST MAL,
schon dann werden die Farben so komisch dunkel. Also da hab ich noch keine andere Zeile geschrieben die irgendwas mit Texturen zu tun hat, keine Primitive mit der Texture beklebt, nichts.

Das war die Frage. Hab ich vielleicht blöd erklärt.

Ich mach dann mal nen neuen Thread, kommt ja sicher bald ein neues Problemchen :-)

@Flash
Zitat:
Nun, objekte die du Texturieren willst musst du mit aktiviertem Textureing zeichnen, bei den restlichen Objekten musst du Texturing auch wieder aus machen.


Hmm, fals das daran liegt, kann zwar nicht sein denke ich, aber wenn ja, wie mach ich das ?

Steht sicher in der Wiki fällt mir grad ein....gleich mal schauen.

Dank Euch
Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Feb 26, 2006 16:43 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
STF-DIR hat geschrieben:
Hmm, fals das daran liegt, kann zwar nicht sein denke ich, aber wenn ja, wie mach ich das ?

Es liegt daran

Und schau wirklich besser erstmal im Wiki nach. Genau für diesen Zweck wurde es ja erstellt und von uns gepflegt.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 65 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]