 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DerDritteBeobachter
Anmeldungsdatum: 20.04.2021 Beiträge: 3
|
Verfasst am: 20.04.2021, 19:06 Titel: Zeichnungsreihenfolge |
|
|
Hallo @All. Das ist mein erster Beitrag.
Ich habe eine softwarebasierte 3D-Engine geschrieben und habe dabei bei der Zeichnungsreihenfolge ein Problem festgestellt.
Zum Verständnis eine kurze Erläuterung des Programmes:
- Variablen setzen und Bildschirm mit 4 Bildschirmseiten
- lade in BS2 die Karte (BMP) ->hole Bildpunktkoordinaten mit POINT
- lade in BS3 den Himmel (BMP) ->hole Bildpunktkoordinaten mit POINT
- Bearbeite BS1
->zeichne Himmel
->zeichne Boden
->zeichne Gegenstände
- Berechnungen
-Screencopy
- zurück zum Schleifenanfang
Soweit so gut. Allerding überdeckt der Himmel dabei immer die Gegenstände?
Codetechnisch sieht die betreffende Stelle so aus:
Code: | screenset 3,0 'Daten aus Karte Speicher 3 (Himmel oder Decke) holen
if gamemode="plane" or gamemode="free" then recolsky=point(poix+100+spox,poiy+100+spoy)
if gamemode="room" then recolsky=point(poix+px,poiy+py)
screenset 2,0 'Daten aus Karte Speicher 2 (Boden) lesen
recol=point(poix+px,poiy+py)
screenset 1,0 'Zurück zur Arbeitsfläche
'line (dbx,skry)-(dbx-(bsweite/(pwdhyp-1)),skry-dyfkr),recolsky,bf 'Himmel zeichnen
line (dbx,dby)-(dbx-(bsweite/(pwdhyp-1)),dby+dyfkr),recol,bf 'Boden zeichnen
'Sonderteile zeichnen
if recol=RGB(190,190,190) then line (dbx,dby)-(dbx-(bsweite/(pwdhyp-1)),dby+dyfkr-bldsize),recol,bf 'Hellgrau - Säule |
Ich habe schon viele Sache umgestellt und ausprobiert. Jedoch ohne Erfolg. Vielleicht bin ich mittlerweile Betriebsblind.
Mir scheint, dass beim Compilieren die Reihenfolgen irgendwie verwechselt werden...
Ich bin für jede Hilfe dankbar. |
|
Nach oben |
|
 |
DerDritteBeobachter
Anmeldungsdatum: 20.04.2021 Beiträge: 3
|
Verfasst am: 21.04.2021, 07:36 Titel: |
|
|
Der Fehler ist gefunden. Die Zeichnungsreihenfolge von FB ist korrekt.
Zur Info:
Ich baue das Bild in der Engine Zeilenweise auf. Damit stimmt die Reihenfolge: Himmel, Boden, Objekte. Allerdings wurden die Strukturen, welche höher als die Decke (der Himmel) waren, immer mit der nächsten Zeile überschrieben.
Dämlicher Logikfehler
Jetzt habe ich die Routinen geändert.  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 22.04.2021, 13:44 Titel: |
|
|
DerDritteBeobachter hat Folgendes geschrieben: | Der Fehler ist gefunden. Die Zeichnungsreihenfolge von FB ist korrekt. |
Alles andere hätte mich auch, ehrlich gesagt, gewundert.
Ja, zeilenweises Schreiben ist da ein Problem - da war zum Erkennen der Codeausschnitt etwas zu knapp. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
DerDritteBeobachter
Anmeldungsdatum: 20.04.2021 Beiträge: 3
|
Verfasst am: 26.04.2021, 09:35 Titel: |
|
|
Ich wollte jetzt ein paar Screenshots online stellen, aber offenbar unterstützt das Forum das nicht. Dann richte ich eben demnächst vielleicht eine Sourceforgeseite ein... |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|