Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Dez 21, 2024 16:05

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Schwarzer Spalt zwischen Rechtecken
BeitragVerfasst: Mi Jun 06, 2018 23:56 
Offline
DGL Member

Registriert: Di Feb 13, 2018 19:02
Beiträge: 24
Programmiersprache: Java
Hallo,

in meinem Programm zeichne ich mehrere Rechtecke direkt nebeneinander, dabei erhält jedes Rechteck eine eigene Textur.

Verschiebe ich die Rechtecke durch einen Timer z.B. langsam nach links, so sieht man zwischen den einzelnen Rechtecken einen kleinen schwarzen Spalt.

Die Rechtecke liegen jedoch direkt Kante an Kante, also rechnerisch ohne Spalt. Auch wenn ich die einzelnen Rechtecke ein wenig überlappen lasse, so tritt der kleine schwarze Spalt trotzdem noch auf.

Könnt ihr mir sagen woran das liegen kann und was man dagegen machen kann?


Vielen Dank für eure Hilfe.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 07, 2018 18:56 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Kannst du mal ein wenig Code zeigen, in dem die Rechtecke gezeichnet werden ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr Jun 08, 2018 07:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Das passiert z.B. wenn die Geometry nicht zusammen in die Pipeline kommt und der Renderer die einzeln behandelt oder man die Punkte nacheinander berechnet und nicht die überlappenden Punkte nur einmal berechnet.
Du kannst die Rechtecke über einen Draw-Call rendern, dann kannst du erstes Problem umgehen, da der Treiber dann weiß, dass die zusammen gehören und da drauf achtet.
Für das 2. ist es die Ungenauigkeit von Floatingpoint, dass bei 2x berechnen des Punktes, über Zeit und interpolation die Nachkommastellen unterschiedlich sind und dann z.B. 1Pixel auseinander liegen, da default keine Subpixel Genauigkeit beim schreiben vom Tiefenpuffer gibt. Du kannst mit Anti-Aliasing Subpixel genau in den Tiefenpuffer schreiben und somit auch die Lücken vermeiden oder einfach die Werte einmal ausrechnen und dann wiederverwenden.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]