Quake on an oscilloscope


Graphic video game Quake 1 on the screen Hitachi V-422 em>

To work on this project Pekka Vyaanyanena inspired video demonstrating the drawing on the screen of the oscilloscope and fungus commonly known Youscope . If this is possible, then why not display the three-dimensional graphics?

Drawing on the oscilloscope takes place in XY, wherein the voltage determining the coordinates of points on the screen. They are quite varied as a function of time to draw the line. The rate of change is necessary to leave about the same, otherwise the line will be obtained with different brightness. According to excellent guide from Jed Margolin , special accuracy in determining the length of the line is not necessary. To draw is not related to the previous segment, the beam need to move quickly, leaving no visible line.

To begin Processing Pekka created simple simulation mode XY oscilloscope. Youscope perfectly rendered after adding features work phosphor.

Used to output audio computer - quite typical solution, which was taken for the same Youscope.

Quake - this game is 1996, which is executed very quickly in today's "hardware." And the generation of signals is also better to make fast. First, the choice fell on ASIO SDK, but after a couple of evenings attempts Vyaanyanen decided to use the PortAudio , which is great for the problem came up. However, the library without the "dancing with a tambourine" is not compiled.

All of the available sound cards used low-pass filter, so the bandwidth is limited. This means that it turns render less lines than Youscope, the creator who have found a sound card with the desired characteristics. Did not help, and increase the frequency to the maximum available 96 kHz.

The generation process is divided into two parts: a game engine Darkplaces and audio synthesizer that "communicate" with each other through WinAPI named pipe.

Darkplaces modification of the original Quake engine provides details of the geometry, in particular, were transferred edges of triangles. Undertook not all, of the total number of filtered only the visible and non-duplicates of each other.





The audio stream is to draw all the lines that are requested from the game engine. Then, at your own pace process of working on the display of these lines, giving a 32-bit data stream is 96 kHz.

On average, per frame is transmitted 1800 lines. If new data is not present, it will be drawn on the previous frame. For each line in the demonstration meets 5-20 samples. The picture quality is increased with a slowing drawing.





Generation audio-consuming processing power, but most spent on the rasterization buffer depth game engine. By choosing the parameters of the signal value of the ultimate performance and delay time allow comfortable playing with the keyboard and mouse, not just play the demo.

According Vyaanyanen performance still remains unsatisfactory. The maximum is obtained at the same time to draw less than 1000 lines. More needs spanning more high frequency sound than it can provide audio output current.

Rendering acceleration reduces image quality, and if leave more time for each of the lines, the response will suffer.

Also, there is low-frequency noise, particularly noticeable in fast motion when the whole screen is updated. Perhaps this is an increase from the level of the bass equalizer audio card, but the author of the project is not sure of his conjecture.

You can read these on the report page . The article uses the image from the site lofibucket.com .

Source: geektimes.ru/post/243699/

Tags

See also

New and interesting