Du bist nicht angemeldet.

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

1

05.11.2010, 20:03

[C++/SFML] Transparenter Hintergrund

Hallo Spieleprgrammierer.de,

weiß vielleicht jemand wie man mit SFML einen transparenten Hintergrund bekommt also das man den Desktop noch sieht.
Ich hab das ganze schon mit sf::RenderWindow::Clear(sf::Color(0, 0, 0, 255)) versucht funktioniert aber nicht.

Vielen Dank im Voraus.
MfG Ninjasturm

----------------------------
System: Windows 7 x64
IDE: Visual Studio 2010 Ultimate
Engine: Ogre3D


Favorisierte Programmiersprache: C++
Sonstige Programmiersprachen: AutoIT, PHP, Javascript
Sonstige Auszeichnungsprachen: HTML, CSS
---------------------------

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

2

05.11.2010, 21:20

hhmmm also sf::RenderWindow::Clear(sf::Color(...)) macht eigentlich nichts anderes, als den kompletten bildbereich mit einer bestimmten farbe zu übermalen. Der alphakanal geht von 0 bis 255, wobei 255 soviel bedeutet wie "0 transparenz", also genau das gegenteil, von dem was du wolltest. ^^

Allerdings wird das selbe mit 0 wohl auch nicht funktionieren, denn du hast ja nicht generell den desktop als hintergrund den du übermalst, sondern eben das, was im vorigen frame gerendert wurde. Aber auch vor dem ersten rendern wird dein framebuffer nicht mit dem desktop hintergrund initialisiert werden.

Ich hoffe das erklärt vielleicht ein bisschen wie das clearen zu verstehen ist, allerdings kann ich dir leider nicht sagen wie und ob das überhaupt so einfach möglich ist :/

3

06.11.2010, 00:05

Hallo Ninjasturm,

mit der SFML wird das wohl schwierig werden. Wirst da wohl oder übel auf eine andere Methode zurückgreifen müssen.

Schau mal hier , vielleicht gibt das eine Anregung.

Gruß
SaRu_

Werbeanzeige