Developer Pekka Väänänen has posted a fascinating report on how he got Quake running on an oscilloscope (). Obviously, the graphic details gets stripped down to basic lines, but even then, you need to cull any useless or unseen geometry to make things run smoothly. He says, "To cull the duplicates a std::unordered_set of the C++ standard library is used. The indices of the triangle edges are saved in pairs, packed in a single uint64_t, the lower index being first. The set is cleared between each object, so the same line could still be drawn twice or more if the same vertices are stored in different meshes. Before saving a line for end-of-the-frame-submit, its indices in the mesh are checked against the set, and discarded if already saved this frame. At the end of each frame all saved lines are checked against the depth buffer of the rendered scene. If a line lies completely behind the depth buffer, it can be safely discarded because it shouldn't be visible."
Welcome to the DCEmu Homebrew and Gaming Network. This Network of sites is owned and ran by fans of the retro consoles and the latest next-gen consoles, we post news on all the consoles we cover about hardware aspects, gaming, modification, Hacking and Homebrew. Homebrew and Emulation are software thats made using free and legal tools to play on games consoles. This Network is the only worldwide network of sites where coders can upload and post news of their own releases and get the credit and comments they deserve for all their hardwork. We have a Network that currently supports PSvita, Nintendo 3DS, WiiU, PS4, Xbox720, Nintendo Wii, Xbox360,Pandora, Dingoo, Wiz, PS3, PS2, Xbox, Gamecube, Nintendo DS, PSP, GBA, Dreamcast, Sega Saturn, Android, Apple, Blackberry, GP32, GP2X, Nintendo 64, Snes, Gameboy, Nes, Virtual Boy, Apple iPhone, Ipad, Ipod Touch, Ipod, Windows Phone and also Mobile Phone Emulation. When new consoles appear we will expand to cover those consoles.
Please help DCEmu become stronger by posting on the forums every day and make our community larger.