Ohne renderToTexture funzt das ganze nicht da ich für die Partikel bereits eine bestimmt Blend Funktion benötiege. Das hatte dann immer den effekt das es sich mit hellen/weißen flächen so stark addiert hat das es weiß wurde und nicht dadurch nicht mehr zu sehe war... Es wurden immer teile vom Hintergrund so stark in den Partikel Effekt mit einbezoge das das ganze im Endeffeckt nicht mehr zu gebrauchen war...
Mit RenderToTexture funzt das ganze jetzt halbwegs, nur hab ich jetzt einen sehr kantigen Überganga zwischen Effekt und umgebung... Man sieht entweder einen schwarzen Rand oder einen extrem kantigen übergang...
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Poste mal nen Screenshot, damit man sieht was gemeint ist.Wenns kantig wirkt, dann kanns z.B. daran liegen das die Textur zu klein ist.Dann solltest du einfach mal die Größe deiner Textur nach oben schrauben, wobei du allerdings achten musst das RenderToTextur an die Größe deines Viewports gebunden ist.
der übergang zwischen Effekt und Umgebung ist kantik, von einen Pixel auf den anderen wechselt das ganze. Mit glAlphaTest entferne ich die schwarzen Pixel bis zu nem bestimmen Punkt, das was sonst ein relativ flüssiger übergang ins schwarz war ist jetzt entweder weg, oder hat noch zu viel schwarz mit drin(je nach einstellung der glAlphafunc) halt... screenshot heut Abend.
so siehts aus wenn ich GL_GREATER mit 0.1 nehme... und so bei einem viel höherem wert. Das wäre fast optimal, Aber wie man auch auf dem Screenshot sieht sind da immer wieder Teile die aus dem Partikel Effekt raus brechen(ist numal so) und diese sehen richtig extrem kantig aus. Und auch so sieht man halt die da dunkler werdenden Stellen sind (zum rand hin). Diese gehen ja normalerweise ins schwarze über wodurch ein verschwinden/abschwächungseffekt erzeugt wird. Das schwarze gibts aber nicht mehr und so ist es ein absoluter krasser übergang. Ich glaub ch komm hier ums Blending auch nicht drum rum... Kann ich irgendwie einen sanften Übergang erzeugen wie das schwarz weggenommen wird? Oder kann ich das ganze jetzt mittels Blending ein wenig Transparent machen? (wenn ja mit welche BlendFunc... ich will nur einfach Transparenz)
Bei Quake3 gibt es das Bild smoke.tga. Das wird für den Rauch der Raketen verwendet und ist ganz weiß. Nur im Alphakanal sind unterschiedliche Werte für den Rauch. Das ganze wird mit glblendfunc(gl_src_alpha, gl_one_minus_src_alpha) geblendet. Da das Bild weiß ist, bleibt die Farbe der Partikel von glcolor erhalten.
Das is mal ne geniale idee Werde ich morgen sofort mal ausprobieren wie das aussieht.
da fällt mir ein, kann ich für den AlphaTest ne art Bereich definieren? Also so das er in einem bestimmten bereich die Sichtbarkeit nochmal zwischen 100 und 0 % abstuft und so einen übergang erzeugt?? z.B. angeben das <0.1 gar nicht sichbar und 0.2 voll sichtbar ist und er zwischen 0.1 und 0.2 abstuft? geht das?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Kleine Begriffsshilfe : Der <span style='color:red'>Alphatest</span> macht keine Transparenzabstufungen, sondern unterscheidet nur zwischen sichtbar und nicht sichtbar. Mittels <span style='color:red'>Blending</span> hingegen kannst du Abstufungen realisieren. Du verwendest wohl eine Kombination aus beidem, und so einfach lässt sich ein eigener Blendbereich nicht festlegen.Eventuell hilft dir hier <a href='http://www.3dlabs.com/support/developer/GLmanpages/glblendequationext.htm' target='_blank'>glBlendEquationEXT</a> weiter, wobei ich nicht weiss ob deine Grafikkarte das unterstützt.Wenn ja, dann kannst du mit dieser Funktion eine eigene Blendinggleichung angeben.
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.