Seite 1 von 1

Übung 10 mit OpenGL

Verfasst: 24. Dez 2014 17:15
von cwb38
Hallo (und Frohes Fest!),

wenn man die 10te Übung unter Windows (Visual Studio) mit OpenGL startet, so ist das Grid blau statt rot und beim Wechsel auf "Blur Filter" kommt es zu einer Exception. Unter DX hingegen funktioniert alles...

Re: Übung 10 mit OpenGL

Verfasst: 24. Dez 2014 18:02
von RobDangerous
Ist repariert. Einmal Kore updaten und dann sollte es jetzt auch mit OpenGL funktionieren.

Re: Übung 10 mit OpenGL

Verfasst: 31. Dez 2014 11:28
von Boddlnagg
Es stimmt immer noch nicht ganz: Auf Windows mit OpenGL ist die Textur offensichtlich im BGRA-Format im Speicher, deshalb sieht das Wappen etwas seltsam aus (Rot- und Blau-Kanäle vertauscht). Mit DirectX sieht es aus wie in den Folien.

Re: Übung 10 mit OpenGL

Verfasst: 31. Dez 2014 16:17
von RobDangerous
Direct3D ist auch BGRA, aber ich glaube, ich habe den Unterschied gefunden (wenn man mit OpenGL ein Bild lädt, waren die Daten noch in RGBA). Probier mal.

Re: Übung 10 mit OpenGL

Verfasst: 1. Jan 2015 12:02
von Boddlnagg
Nein, der "Experimental OpenGL texture fix" hat leider nichts gebracht.
Win-OpenGL-Colors.png
Win-OpenGL-Colors.png (268.63 KiB) 719 mal betrachtet

Re: Übung 10 mit OpenGL

Verfasst: 2. Jan 2015 01:08
von RobDangerous
Aber der Experimental OpenGL texture fix fix bringt's bestimmt.

Re: Übung 10 mit OpenGL

Verfasst: 2. Jan 2015 10:06
von Boddlnagg
Jap, jetzt geht's! Danke!

Re: Übung 10 mit OpenGL

Verfasst: 13. Jan 2015 14:54
von dead-flunky
Ich hab ein ähnliches Problem. Hier wird rot anscheinend entsättigt? Die Kanäle hab ich einzeln angeguckt, beide Texturen liegen in BGRA vor.

Code: Alles auswählen

if (dataBottom[i + j] < 0.5)
	data[i + j] = 2 * dataBottom[i + j] * dataTop[i + j];
else
	data[i + j] = 1 - 2 * (1 - dataBottom[i + j])* (1 - dataTop[i + j]);
i ist das Pixel und j der Kanal.

Re: Übung 10 mit OpenGL

Verfasst: 13. Jan 2015 21:16
von Dennis Albrecht
die einzelnen Kanäle sind nicht als floating-point Zahl codiert sondern als unsigned Ganzzahlen. "< 0.5" (und die folgende Berechnung) wird daher nicht sinnvoll funktionieren.

u8 => unsigned 8-bit

Gruß Dennis

Re: Übung 10 mit OpenGL

Verfasst: 14. Jan 2015 01:56
von dead-flunky
Danke schön. Das hat geholfen. Immer diese verschiedenen Welten :)