Hier ist der Link zum kompletten Code (Portal - Renderer):
https://bisqwit.iki.fi/jutut/kuvat/prog ... rtrend.bas
Versuche so was nachzubauen/verstehen.
Bin gerade dabei heraus zu bekommen wie 2D -> 2.5D funktioniert...
[HILFE]QuickBasic Code übersetzen 'InBetween'
Re: [HILFE]QuickBasic Code übersetzen 'InBetween'
Der Kommentar ist Kokolores
Wahrscheinlich im Laufe der Entwicklung allmählich dort hingerutscht oder die Funktion wurde geändert und der alte Kommentar stehen gelassen.
FNib() gibt einen Boolean zurück. Der hat nur zwei (und nicht drei) Zustände.
Die einzige Codestelle, wo FNib() überhaupt genutzt wird, ist hier:
Und die überprüft, ob sich zwei Boxen überschneiden.
Jede der Boxen hat zwei Koordinaten:
Boxen werden in QB üblicherweise als diagonale LINE gezeichnet, aber mit einem "B"(=outline) oder "BF"(=ausgefüllt) als letzten Parameter.
Wenn du so eine Oldsschool-Pseudo3D-Engine haben willst (so wie bei Doom 1), schau dir mal "Raycasting" an.
Wahrscheinlich im Laufe der Entwicklung allmählich dort hingerutscht oder die Funktion wurde geändert und der alte Kommentar stehen gelassen.
FNib() gibt einen Boolean zurück. Der hat nur zwei (und nicht drei) Zustände.
Die einzige Codestelle, wo FNib() überhaupt genutzt wird, ist hier:
Code: Alles auswählen
DEF FNintersectBox%(x0,y0, x1,y1, x2,y2, x3,y3) = FNib(FNmin(x0,x1),FNmax(x0,x1),FNmin(x2,x3),FNmax(x2,x3)) _
AND FNib(FNmin(y0,y1),FNmax(y0,y1),FNmin(y2,y3),FNmax(y2,y3))
Jede der Boxen hat zwei Koordinaten:
Boxen werden in QB üblicherweise als diagonale LINE gezeichnet, aber mit einem "B"(=outline) oder "BF"(=ausgefüllt) als letzten Parameter.
Wenn du so eine Oldsschool-Pseudo3D-Engine haben willst (so wie bei Doom 1), schau dir mal "Raycasting" an.