From 9260d97b034952dd2b3702d1bd315be524f9d6b3 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 24 Apr 2016 17:56:36 -0400 Subject: [PATCH] Oh, of course, it's that the output vertex array doesn't get initialised unless there's an RGB shader program. Silly oversight. Fixed. And switched back to TV output for correct colours. --- Machines/Atari2600/Atari2600.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Machines/Atari2600/Atari2600.cpp b/Machines/Atari2600/Atari2600.cpp index 2650539b3..803370799 100644 --- a/Machines/Atari2600/Atari2600.cpp +++ b/Machines/Atari2600/Atari2600.cpp @@ -34,13 +34,12 @@ void Machine::setup_output(float aspect_ratio) _crt->set_composite_sampling_function( "float composite_sample(usampler2D texID, vec2 coordinate, vec2 iCoordinate, float phase, float amplitude)\n" "{\n" - "return 0.9;" -// "vec2 c = vec2(1.0);"//vec2(texture(texID, coordinate).rg) / vec2(255.0);" -// "float y = 0.1 + c.x * 0.91071428571429;\n" -// "float aOffset = 6.283185308 * (c.y - 3.0 / 16.0) * 1.14285714285714;\n" -// "return y + step(0.03125, c.y) * 0.1 * cos((coordinate.x * 2.0 * 3.141592654) - aOffset);\n" + "vec2 c = vec2(texture(texID, coordinate).rg) / vec2(255.0);" + "float y = 0.1 + c.x * 0.91071428571429;\n" + "float aOffset = 6.283185308 * (c.y - 3.0 / 16.0) * 1.14285714285714;\n" + "return y + step(0.03125, c.y) * 0.1 * cos(phase - aOffset);\n" "}"); - _crt->set_output_device(Outputs::CRT::Monitor); + _crt->set_output_device(Outputs::CRT::Television); } Machine::~Machine()