AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [OpenGL] Transparenz
Thema durchsuchen
Ansicht
Themen-Optionen

[OpenGL] Transparenz

Ein Thema von Flips · begonnen am 30. Aug 2007 · letzter Beitrag vom 5. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#11

Re: [OpenGL] Transparenz

  Alt 4. Sep 2007, 09:54
Ein Texturloader sollte mbMn mehr können, als Texturen zu laden und zwar mehr als ein Format. Bei Lossys glBitmap kann man Alphakanäle zufügen, die Farbkanäle tauschen, die Textur invertieren, über Funktionen Filter anwenden, Texturen Prozedural erzeugen, ... (Hab ich was vergessen?). Überdies kann man hier objektorientiert arbeiten, was a) die Arbeit mit der Textur und b) die Verwaltung dieser extrem erleichtert.

p.s. das steht Uses OpenGL. Das ist hoffentlich nicht der Borland-Header, oder?
p.p.s.: die glBitmap ist im DGLSDK, kann man hier runterladen. Da ist auch ein aktueller OpenGL Header bei und viele Templates. Ausserdem enthalten ist die SDL.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#12

Re: [OpenGL] Transparenz

  Alt 4. Sep 2007, 13:24
Zitat von Sidorion:
Ein Texturloader sollte mbMn mehr können
Als eine Textur zu laden ? Dann währe das aber kein "Loader".


Zitat:
... als Texturen zu laden und zwar mehr als ein Format.
Äh, ja wozu den mehrere Formate ? Bitmaps, JPEG's, TGA's und alles nur für RGB(A) Werte
die man auch gepackt im PNG-Format bekommt. (Ausgenommen mal *.dds-Dateien)

Zitat:
Bei Lossys glBitmap kann man Alphakanäle zufügen, die Farbkanäle tauschen, die Textur invertieren, über Funktionen Filter anwenden, Texturen Prozedural erzeugen, ... (Hab ich was vergessen?). Überdies kann man hier objektorientiert arbeiten, was a) die Arbeit mit der Textur und b) die Verwaltung dieser extrem erleichtert.
Du hast bestimmt übersehen das in Quelltext als Komentar bei mir "Lite" steht.

Zitat:
p.s. das steht Uses OpenGL. Das ist hoffentlich nicht der Borland-Header, oder?
Ja, natürlich ist das die von Borland. Mit ein paar Änderungen. Die von delphigl ist mir
für meine nonVCL-App's zu fett und so viel falsch oder Fehlerhaft ist da nun auch nicht.

Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Gandalfus

Registriert seit: 19. Apr 2003
407 Beiträge
 
Delphi 2006 Professional
 
#13

Re: [OpenGL] Transparenz

  Alt 4. Sep 2007, 15:07
ich mache es so:
Delphi-Quellcode:
glDepthMask(false);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
fTexture.Bind;
   
//rendern;

fTexture.Unbind();
glDisable(GL_TEXTURE_2D);
glDepthMask(true);
glDisable(GL_BLEND);
Besucht doch mal meine Homepage
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#14

Re: [OpenGL] Transparenz

  Alt 4. Sep 2007, 22:45
turboPASCAL: Um mal etwas zu spalten. Die richtige originale Textures kann keine PNGs. Höchstens die von dir angepasste Version.

Aber wie du selbst ja schon gesagt hast ist dein Code für möglichst kleine Anwendungen ausgelegt. Das war in meinem Loader niemals das Ziel. Sondern kompfortables einfaches objekt orientiertes Arbeiten. Bzw war es für mich auch erklärtes Ziel nur im Notfall wirklich etwas an den Texturdaten zu verändern. Und ich habe immer versucht keine altlastigen Techniken (gluBuild2DMipmaps) zu benutzen. Bzw nur wenns nicht anders geht.

Mit Formate waren keine Dateiformate gemeint sondern die Texturformate die in den Dateien abgelegt werden können. Also so zum Beispiel. AlphaLuminance, RGB5A1, RGBA4, BGRA, S3TC etc. Die unterschiedlichen Formate werden so von den Dateien und von OpenGL unterstützt. Das muss dann natürlich auch irgendwo verwaltet werden.

Borland Header. Ja der ist Fehlerhaft und hoffnungslos veraltet. Aber es zwingt dich ja niemand und wenn der reicht. Aber in deinem Loader fehlen eigentlich nur 6-10 Konstanten und ein paar Funktionen und dann bräuchtest du den Header dort gar nicht mehr.

Sidorin. Ich denke die Aufzählung passt schon. Wobei die Objekte natürlich sehr offen sind und man eigentlich alles damit machen kann was man will.

Im Endeffekt ist es aber jedem selbst überlassen was man zu Laden benutzt. Mir persönlich gefällt Objektorientiert halt besser.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#15

Re: [OpenGL] Transparenz

  Alt 5. Sep 2007, 17:19
Übrigends, ich mache es jetzt bei der neuen Engine so
Delphi-Quellcode:
//Texture wird vorher gebunden
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
//Render...
glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
Und ich nutze bei der neuen Version auch die Textures.pas (1.03), wobei ich meinem Vorredner recht geben muss. Also laut dieser Page kann die kein PNG, was auch aus dem Code hervorgeht
Delphi-Quellcode:
function LoadTexture(Filename: String; var Texture : GLuint; LoadFromRes : Boolean) : Boolean;
begin
  if copy(Uppercase(filename), length(filename)-3, 4) = '.BMPthen
    LoadBMPTexture(Filename, Texture, LoadFromRes);
  if copy(Uppercase(filename), length(filename)-3, 4) = '.JPGthen
    LoadJPGTexture(Filename, Texture, LoadFromRes);
  if copy(Uppercase(filename), length(filename)-3, 4) = '.TGAthen
    LoadTGATexture(Filename, Texture, LoadFromRes);
end;
Aber gibt ja viele Mods davon...
Philipp F.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz