Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#version 330 precision highp float; uniform sampler2D texture0; uniform bool useTexture = false; in vec2 texCoord; void main(){ if(useTexture){ discard; } } |
Quellcode |
|
1 2 3 4 5 6 7 |
void main(){ if(useTexture){ if(texture(texture0, texCoord).a == 1.0){ discard; } } } |
Community-Fossil
Zitat
die alpha-farbkomponente gibt die Transparenz des Objekts an, nicht die Sichtbarkeit.
Quellcode |
|
1 |
if(texture(texture0, texCoord).a == 1.0){ |
Zitat von »DeKugelschieber«
== 1.0
Zitat von »DeKugelschieber«
gucken welchen Wert der Alpha Kanal hat, wenn der 1 ist -> nicht schreiben.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Spiele Programmierer« (31.05.2014, 14:55)
Community-Fossil
Zitat
Gleitkommazahlen sollten niemals auf Gleichheit geprüft
Zitat
Ich hoffe auch das dir bewusst ist, das "discard", Verzweigungen etc. möglicherweise der Verarbeitungsweise von GPUs nicht gefallen, es leicht passieren kann, dass die Leistung vergleichsweise stark leidet. Eventuell sind andere Ansätze bei dir möglich, wie zum Beispiel verschiedene Shadervarianten oder wenn Verfügbar auch Subroutines.
Zitat
Wieso verwendest du eigentlich nicht einfach den Alpha-Test?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SlinDev« (31.05.2014, 16:29)
Zitat von »iSmokiieZz«
Deine Zeile ist völlig in Ordnung
Community-Fossil
Quellcode |
|
1 2 3 4 5 6 7 |
void main(){ if(useTexture){ //if(texture(texture0, texCoord).a == 1.0){ // does not work... discard; //} } } |
Quellcode |
|
1 2 3 4 5 6 7 |
void main(){ if(useTexture){ vec4 color = texture(texture0, texCoord); discard; } } |
Zitat von »DeKugelschieber«
wie wird denn Transparenz gerendert, wenn es den Alpha Test nicht mehr gibt? Selbst machen?
Werbeanzeige