AGB  ·  Datenschutz  ·  Impressum  







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

[OpenGL] Texture verpixelt

Ein Thema von vlees91 · begonnen am 11. Aug 2010 · letzter Beitrag vom 11. Aug 2010
Antwort Antwort
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#1

[OpenGL] Texture verpixelt

  Alt 11. Aug 2010, 15:03
Ich habe ein Programm mit der GDI gemacht, aber weil die performance nicht wirklich gut ist hatte ich vor diese auf OpenGL umzuschreiben.
Das Problem ist jetzt allerdings das mit GL_NEAREST und auch mit GL_LINEAR die Textur einfach grottig aussieht (Bei der GDI sieht's genau wie bei GIMP aus):
http://img186.imageshack.us/img186/2526/glfail.png

Hat jemand eine Idee wie man das loesen kann?

EDIT: Ich verwende die letzte dglOpenGL.pas von Dezember 2009 und dazu eine Textures.pas von Jan Horn von 1. Mai 2001. Die TGA ist einfach ein Bild mit einem Alphakanal.
vlees91

Geändert von vlees91 (11. Aug 2010 um 15:06 Uhr)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#2

AW: [OpenGL] Texture verpixelt

  Alt 11. Aug 2010, 15:14
Das liegt nicht daran, dass OpenGL das nicht könnte, sondern daran, dass du die falschen Blending-/Alpha-Parameter benutzt.
wie sieht denn z.B. deine glblendfunc aus? Sieht nämlich sehr nach 1-Bit Alpha aus (GL_ONE).

Bevor ich mir hier nen Wolf tippe, hier kannst du das ganze detailliert nachlesen, wie man in OpenGL mit und ohne Alphachannel blendet:

glBlendFunc:
http://wiki.delphigl.com/index.php/glBlendFunc

glAlphaFunc:
http://wiki.delphigl.com/index.php/glAlphaFunc

normalerweise nimmt man für eine Transparenz mit Alphachannel beim Blending mode:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

Geändert von blackfin (11. Aug 2010 um 15:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: [OpenGL] Texture verpixelt

  Alt 11. Aug 2010, 15:23
Uhm. Im Moment garnichts. Ich habe mir einfach ein Paar Beispiele angesehen und dann gesehen, dass der Code von http://wiki.delphigl.com/index.php/Tutorial_2D#Schatten funktioniert wie ich mir das vorgestellt habe.
Hab also deren Bild mit meinem ersetzt und dann passierte das.
Es sieht ziemlich danach aus das die TGA einfach falsch ist, aber alles schliessen und die exportierte TGA wieder in GIMP oeffnen sieht so aus wie es soll (Die Original Datei ist eine PNG; und wie gesagt: mit GDI/Canvas klappts prima).
vlees91
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#4

AW: [OpenGL] Texture verpixelt

  Alt 11. Aug 2010, 15:27
GDI und OpenGL haben miteinander überhaupt nichts zu tun

Ahaaa...in dem Schatten-Tutorial wird ja auch gebblendet, indem alles, was einen Alpha als kleiner/gleich 0.1 hat, weggeschnippelt wird.
Du brauchst aber in deinem Bild den Alphachannel des Originals.
Also ersetze doch mal

glAlphaFunc(GL_GREATER, 0.1);

durch
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) ;

Geändert von blackfin (11. Aug 2010 um 15:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: [OpenGL] Texture verpixelt

  Alt 11. Aug 2010, 15:35
Ja, danke. Klappt!

(Der Vergleich zur GDI kam weil GDI ja nicht wirklich gut ist und es sogar dort geklappt hat (nur eben mit ~30 FPS was zu wenig ist))
vlees91
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:09 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