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

31.10.2016, 10:34

Würfel Sichtbarkeit der Seiten SFML

Hallo,

Ich habe mit SFML einen Würfel abgebildet. Das ganze habe ich so gemacht ich habe mir einen Mittelpunkt gesucht und da dann 3D Vektoren in die Verschiedenen Ecken geleitet. Anschließend habe ich die 3D Vektoren auf 2D Punkte projiziert. Anschließend konnte ich das ganze in SFML als ein Würfel darstellen, allerdings nur als ein Drahtwürfel denn die Seiten haben noch keine Textur. Sinn ist es mit einer Drehmatrix den Würfel rotieren zu lassen. Das ganze musste ich so machen, weil SFML keine 3D Umgebung besitzt und somit auch keine Sichtbarkeit für 3D Objekte. Wenn ich die Textur jetzt Zeichnen möchte kann ich nicht alle gleichzeitig Zeichnen, da sie sich sonst überlappen würden. Nun die Frage wie kann ich das Zeichnen lassen? Ich habe mir mal die Punkte ausgeben lassen und finde keine Gemeinsamkeit wann sie sich überlappe bzw. sich die Sichtbarkeit ändert.

Habt ihr da Ideen?



Mit freundlichen Grüßen

Theroth

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

31.10.2016, 10:46

Das ganze musste ich so machen, weil SFML keine 3D Umgebung besitzt und somit auch keine Sichtbarkeit für 3D Objekte.
Das stimmt so nicht. SFML setzt auf OpenGL auf und somit ist 3D absolut vorhanden. Es gibt sogar ein Sample-Projekt im SFML-Bundle, wo ein Würfel mit Texturen rotiert wird.
Die Lösung für das Problem von Sichtbarkeiten und Überdeckung wird auf 2 Arten gelöst in OpenGL: Erstens Backface-Culling, womit vom Betrachter weg zeigende Flächen komplett ignoriert und gar nicht gezeichnet werden und zweitens Z-Buffering, womit Flächen nahe dem Betrachter auch dann im Vordergrund bleiben, wenn danach eine dahinterliegende Fläche gezeichnet wird. Diese Sachen werden in dem OpenGL-Example vom SFML ebenfalls verwendet.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

31.10.2016, 14:28

Nochmal bitte

Danke für die Information das mit SFML und OpenGL wusst ich zwar aber das mit der 3D Umgebung war mir neu. Hast du eventuell nähere Infos/ein Links oder kannst du mir das nochmal etwas näher erläutern wie man das Umsetzt. Habe bis jetzt noch nicht so viel mit SFML und OpenGL zu tun gehabt.


Mit freundlichen Grüßen

Theroth

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

31.10.2016, 14:37

Hast du eventuell nähere Infos/ein Links oder kannst du mir das nochmal etwas näher erläutern wie man das Umsetzt.

Es gibt sogar ein Sample-Projekt im SFML-Bundle, wo ein Würfel mit Texturen rotiert wird.

Werbeanzeige