mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-18 08:31:04 +00:00
Merge pull request #468 from TomHarte/PALColour
Tweaks blending back to appease interlaced video
This commit is contained in:
commit
1bd6bbca8d
Outputs/CRT
@ -375,7 +375,7 @@ void CRT::output_colour_burst(unsigned int number_of_cycles, uint8_t phase, uint
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CRT::output_default_colour_burst(unsigned int number_of_cycles) {
|
void CRT::output_default_colour_burst(unsigned int number_of_cycles) {
|
||||||
output_colour_burst(number_of_cycles, static_cast<uint8_t>((phase_numerator_ * 256) / phase_denominator_ + (is_alernate_line_ ? 128 : 0)));
|
output_colour_burst(number_of_cycles, static_cast<uint8_t>((phase_numerator_ * 256) / phase_denominator_));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRT::set_immediate_default_phase(float phase) {
|
void CRT::set_immediate_default_phase(float phase) {
|
||||||
|
@ -37,7 +37,7 @@ OpenGLOutputBuilder::OpenGLOutputBuilder(std::size_t bytes_per_pixel) :
|
|||||||
texture_builder(bytes_per_pixel, source_data_texture_unit),
|
texture_builder(bytes_per_pixel, source_data_texture_unit),
|
||||||
array_builder(SourceVertexBufferDataSize, OutputVertexBufferDataSize) {
|
array_builder(SourceVertexBufferDataSize, OutputVertexBufferDataSize) {
|
||||||
glBlendFunc(GL_SRC_ALPHA, GL_CONSTANT_COLOR);
|
glBlendFunc(GL_SRC_ALPHA, GL_CONSTANT_COLOR);
|
||||||
glBlendColor(0.3f, 0.3f, 0.3f, 1.0f);
|
glBlendColor(0.4f, 0.4f, 0.4f, 1.0f);
|
||||||
|
|
||||||
// create the output vertex array
|
// create the output vertex array
|
||||||
glGenVertexArrays(1, &output_vertex_array_);
|
glGenVertexArrays(1, &output_vertex_array_);
|
||||||
|
@ -146,7 +146,7 @@ std::unique_ptr<IntermediateShader> IntermediateShader::make_composite_source_sh
|
|||||||
"vec3 rgbColour = clamp(rgb_sample(texID, coordinate, iCoordinate), vec3(0.0), vec3(1.0));"
|
"vec3 rgbColour = clamp(rgb_sample(texID, coordinate, iCoordinate), vec3(0.0), vec3(1.0));"
|
||||||
"vec3 lumaChromaColour = rgbToLumaChroma * rgbColour;"
|
"vec3 lumaChromaColour = rgbToLumaChroma * rgbColour;"
|
||||||
"vec2 quadrature = vec2(cos(phase), sin(phase)) * vec2(abs(amplitude), amplitude);"
|
"vec2 quadrature = vec2(cos(phase), sin(phase)) * vec2(abs(amplitude), amplitude);"
|
||||||
"return dot(lumaChromaColour, vec3(1.0 - amplitude, quadrature));"
|
"return dot(lumaChromaColour, vec3(1.0 - abs(amplitude), quadrature));"
|
||||||
"}";
|
"}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ std::unique_ptr<OutputShader> OutputShader::make_shader(const char *fragment_met
|
|||||||
|
|
||||||
"void main(void)"
|
"void main(void)"
|
||||||
"{"
|
"{"
|
||||||
"fragColour = vec4(pow(" << colour_expression << ", vec3(gamma)), 0.9);"//*cos(lateralVarying)
|
"fragColour = vec4(pow(" << colour_expression << ", vec3(gamma)), 0.8);"//*cos(lateralVarying)
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
return std::unique_ptr<OutputShader>(new OutputShader(vertex_shader.str(), fragment_shader.str(), {
|
return std::unique_ptr<OutputShader>(new OutputShader(vertex_shader.str(), fragment_shader.str(), {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user