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

Aktuelle Zeit: Sa Jul 05, 2025 19:43

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Aug 28, 2008 20:20 
Offline
DGL Member

Registriert: Di Nov 27, 2007 22:06
Beiträge: 6
Hallo an alle,
mein Problem betrifft eigentlich nicht den Quelltext direkt, sondern eher die Texturen.
Als erstes wollte ich eine Sonne in meiner Skydome realisieren. Mir viel ein sie zu blenden,
was aber nichts gebracht hat da die Hintergrundfarbe der Skydome immer die Farbe der
Sonnentextur mit beeinflusst hatte. Also entschloss ich mich für das Alphamasking.
Nachdem aber meine Textur trotz Alphasking immer noch so wirkte wie vorher und
diese sich auch nur durch Blending beeinflussen ließ entschloss ich mich die gleichen
Texturen wie im Alphamasking Tutorial auf DelphiGL zu benutzen(.jpg).
Tja ... und es funktionierte ... aber auch nur wenn ich die glBMP zum Texturen laden
mit eingebunden habe. Vorher habe ich meine Texturen über SDL geladen so wie
im Tutorial 4 der Einsteiger Tutorials beschrieben.

Nun funktioniert jedenfalls das Alphamasking mit den Texturen aus dem Tutorial,
aber meine eigenen dafür nicht. :cry:

Dazu sei zu sagen das meine eigene Sonne nur schwarz weiß ist um sie über glColor
später einzufärben (je nach Sonnen Unter- oder Aufgang) und im TGA Format vorliegt.
Dachte also sie hat schon einen Alphakanal. Die Textur wurde mit Gimp erstellt(ist vlt.
wichtig). Über die SDL Methode wird die TGA Textur geladen, sie wird jedoch nicht
beeinflusst von dem Alphamasking ... lade ich sie mit glBMP erscheint nur ein weißes Quad,
so als ob er keine Textur geladen hat.

Hab aber auch schon versucht sie im jpg Format zu laden. Das machen beide Methoden,
nur scheint das Alphamasking wieder keine Auswirkungen auf die Textur zu haben.

Lange Rede, kurzer Sinn.
Meine Texturen funktionieren nicht, die aus den Tutorial schon.
Woran kann das liegen und wie kann ich den Fehler beheben ?

Danke schon mal im Voraus für eure Antworten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2008 13:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Aha, gelöst... Und wie? Sowas bringt nix. Wenn jemand nach dem Problem in der Forensuche schaut, wird er sich ärgern, dass hier keine Lösung steht. Wäre also super, wenn du die noch dazu schreiben würdest.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 29, 2008 14:47 
Offline
DGL Member

Registriert: Di Nov 27, 2007 22:06
Beiträge: 6
Ja na klar ... :lol:
Das Problem ist ja auch nur entstanden durch eine Fehlinterpretation der Darstellung.

Hab also mir erst das Tutorial zu Alphamasking durchgelesen. Dort wird ja die Baumtextur
genommen und eine schwarz-weiße die dem Baum entspricht. Da ich vorher noch nicht viel
mit Alphawerten herum experimentiert habe dachte ich der Alphawert eines Bildes wird
generell immer aus Schwarzweiß generiert. Also habe ich mit Gimp meine Sonne gezeichnet
in Schwarzweiß. Also einen Schwarzen Hintergrund ! <--- Fehler
Diese wollte ich dann nach der gleichen Methode wie im Tutorial bearbeiten. Nur das ich meine
nicht mit glBMP laden wollte sondern mit SDL. Also stellte ich in der Textur Prozedur die Parameter
für das Bild auf ...

Code:
  1.  
  2. // Fehler bei GL_RGBA
  3. glTexImage2D(GL_TEXTURE_2D, 0, 4, tex^.w, tex^.h,0, GL_RGBA, GL_UNSIGNED_BYTE, tex^.pixels);


Der Unterschied zu normalen Bildern die nur mit RGB gezeichnet werden besteht beim dritten
Parameter in der 4, die für die 4 Werte des Bildes steht (RGB und A) . Weiter hinten in dem
Codeschnipsel habe ich GL_RGBA angegeben, was ein Fehler ist bei TGA Bildern. Da diese in
einer anderen Reihenfolge gespeichert sind(gl_BgRa). Das wusste ich zu dem Zeitpunkt noch
nicht da ich auch das erste mal TGA Dateien benutzte.
Nach einer Weile entdeckte ich auch den Fehler mit dem schwarzen Hintergrund. :roll:
Hab ihn also gelöscht und hatte somit einen transparenten Hintergrund. Nun hatte
ich wenigstens die richtige TGA Datei.

Dazu sei zu erwähnen, dass mein Hintergrund ind der Skydome blau ist und vor dem
Aufruf zum zeichnen der Sonne steht ein glColor3f(1,0,0);
um den Unterschied zu erkennen und ob sich die Farben "vermischen".

Als ich dann meinen Code neu kompilieren wollte sah alles perfekt aus, nur das
meine Sonne trotz glColor immer noch Blau war. Eigentlich war sie ja gerade
deswegen Blau.

Hab mich dann ein wenig über TGA Dateien informiert und herausgefunden das
sie in der Reihenfolge BGRA abgespeichert sind. Somit habe ich sie ja mit glColor
Blau gefärbt. Hätte ich eine andere Hintergrundfarbe gehabt wäre es mir eventuell
aufgefallen, aber so hielt ich es für eine "Vermischung" mit dem Hintergrund.

Habe dann natürlich oben GL_BGRA als Parameter
übergeben und schon war alles in Ordnung.

Manchmal sind es solch kleine Fehler. :P


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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.

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