Den Code habe ich jetzt nicht nachvollzogen, aber deine Beschreibung klingt für mich, als hättest du mehr oder weniger
Ray Tracing neu erfunden. Vielleicht solltest du komplett auf Ray Tracing setzen, dann kannst du auf die „Zwischen-Bitmaps“ und auf den Z-Buffer verzichten. Dadurch sollte das ganze nicht nur speichereffizienter sondern auch einfacher werden. Doom I und II haben übrigens auch Ray Tracing verwendet.