1
0
mirror of https://github.com/TomHarte/CLK.git synced 2026-04-21 17:16:44 +00:00
Commit Graph

91 Commits

Author SHA1 Message Date
Thomas Harte 0d8fa93a05 Propagate an OpenGL API version, use it to wrap shader programs. 2025-12-16 22:23:48 -05:00
Thomas Harte 4ea82581ec Factor out zoom logic, start trying to knock OpenGL into shape. 2025-10-07 13:29:21 -04:00
Thomas Harte 53a3d9042e Switch to multiline strings, shorter comments. 2025-10-06 22:58:50 -04:00
Thomas Harte 27246247a2 OpenGL: fix centring. 2025-10-06 20:58:42 -04:00
Thomas Harte de78fb7a1c Eliminate all references to M_PI. 2025-04-24 21:57:29 -04:00
Ryan Carsten Schmidt 5ef6b190af Fix typos 2023-12-16 03:53:07 -06:00
Thomas Harte 50343dec43 Eliminate all whitespace-only lines. 2023-05-12 14:16:39 -04:00
Icecream95 0499dbd4cf Align Scan to be a multiple of four bytes
Some GPUs (e.g. r600) require the stride of vertex attributes to be a
multiple of four bytes, add two bytes of padding to the Scan struct to
meet this alignment requirement and reduce driver CPU overhead.
2022-08-29 16:32:25 +12:00
Thomas Harte 5ee9630624 Use compositeAmplitude in favour of its reciprocal. 2020-11-28 19:53:34 -05:00
Thomas Harte 1b3836eb1c Adds an overt branch for mono/colour composite selection. 2020-11-28 19:47:04 -05:00
Thomas Harte 33dec3c220 Given that lineCompositeAmplitude is not normalised, ups threshold. 2020-11-28 17:19:28 -05:00
Thomas Harte 0b4b271e3d Pulls out redundant check. 2020-11-27 21:04:20 -05:00
Thomas Harte 807cb99f6d Composite angles are signed. 2020-08-23 21:39:04 -04:00
Thomas Harte 8b6879a782 Brief detour: introduces myself to C++11 multiline string literals.
A full cleaning coming soon, I imagine.
2020-08-23 21:18:38 -04:00
Thomas Harte 2470055d90 Hides the modals. 2020-07-27 23:33:39 -04:00
Thomas Harte 2230ac6c38 Merge pull request #800 from TomHarte/QtProject
UNREADY. Adds a provisional Qt target.
2020-07-06 22:33:39 -04:00
Thomas Harte 267006782f Starts to add Qt target; resolves many build warnings. 2020-05-30 00:37:06 -04:00
Melissa Goad 603b747ac5 Fix Windows MSYS2 build (mostly) 2020-05-27 18:09:56 -05:00
Thomas Harte e9318efeb6 Switches to std::make_shared/make_unique in a bunch of applicable places.
No doubt many more similar improvements are available, these are just the ones that were easy to find.
2019-12-21 23:34:25 -05:00
Thomas Harte f6f9024631 Corrects Macintosh aspect ratio (and framing). 2019-06-13 18:41:38 -04:00
Thomas Harte 5b8375f0a0 Disallows smaller buffer use for 'sharp' displays and tightens sampling window. 2019-06-03 15:57:31 -04:00
Thomas Harte 79707a3c66 Improves filtering slightly, and ensures coefficients are always set when needed. 2019-02-26 22:35:55 -05:00
Thomas Harte 694783efe9 Brings S-Video inside the group that filters luminance.
Thereby revealing some sort of error in offset selection.
2019-02-26 22:27:40 -05:00
Thomas Harte 68c5474e36 Reintroduces basic filtering for RGB mode (and introduces it for monochrome composite). 2019-02-26 22:21:49 -05:00
Thomas Harte 2f491b5be1 Reintroduces fragment snapping for composite colour sampling.
Thereby uncovers some sort of slightly-off recording of scan lines. On the Apple II, individual scans reach the ScanTarget at a density of exactly 0.25 colour cycles per pixel. So that timing information propagates exactly. But the whole lines that are composed via ::announce end up trying to fit 0.250154 colour cycles per pixel. Which creates a phase error as the display progresses from left to right.

This will need to be resolved in order to be able to fix the Apple II's intended colour phase. But, also, it's probably what was wrong with the Oric. And, quite possibly, why the single-step shader didn't work.
2019-02-24 13:39:14 -05:00
Thomas Harte 6d76b7cd94 Attempts to ensure proper colour output during alternating PAL lines. 2019-02-17 21:50:15 -05:00
Thomas Harte ec8f1157c8 Corrects S-Video output. 2019-02-12 19:31:12 -05:00
Thomas Harte 037cbd534e Corrects phase error in chrominance separation. 2019-02-12 19:24:28 -05:00
Thomas Harte 2fa4c59523 Correction: use the QAM texture for colours. 2019-02-12 18:42:28 -05:00
Thomas Harte cda0a2de79 Establishes QAM colour buffer lookups within the composite colour path.
Subject to errors in channel scaling and absolute position.
2019-02-10 23:02:31 -05:00
Thomas Harte 008f50832c Fixed: the two shaders that use a common input array should use common bindings. 2019-02-10 22:39:24 -05:00
Thomas Harte c94acb1ca2 With a little more debug logging, discovered an issue with incrementing by four. 2019-02-09 22:45:20 -05:00
Thomas Harte d341f98b09 Corrects horizontal scale. 2019-02-09 18:52:43 -05:00
Thomas Harte e35a3ab566 Ensures proper uniforms and varyings for the qam_separation_shader. 2019-02-09 18:35:14 -05:00
Thomas Harte 1cd6d58f17 Restores S-Video through line, as monochrome. 2019-02-09 17:13:43 -05:00
Thomas Harte eecd4417e7 Bites the bullet and accepts that an additional texture will be useful for QAM separation. 2019-02-09 16:54:31 -05:00
Thomas Harte 798cc58f76 Simplifies the composite colour shader no longer to handle colour. 2019-02-05 19:22:35 -05:00
Thomas Harte e5f75b5df2 Resolves repetition between svideo_sample and composite_sample. 2019-02-03 22:09:16 -05:00
Thomas Harte caf72afcb4 Switches to a seven-point scheme, to determine whether falsely-shared luminance is at fault.
It doesn't seem to be, alas.
2019-01-31 21:19:30 -05:00
Thomas Harte 5002290428 Makes consistent use of textureLod rather than texture. 2019-01-26 22:05:15 -05:00
Thomas Harte b6a4a7e0a5 This is no longer TODO. 2019-01-25 22:47:15 -05:00
Thomas Harte 85ad490089 Offers a less error-prone route to attribute binding. 2019-01-25 21:56:55 -05:00
Thomas Harte 74e1a9a621 Declines improper use of offset within loops and adds missing header. 2019-01-25 20:14:53 -05:00
Thomas Harte ae0bc7e7aa Calculates sampling offsets up front. 2019-01-23 20:53:10 -05:00
Thomas Harte a8acadbe13 Gives the shader builders freer rein over what to use as inputs, and turns angles into a varying.
All dropping out during the never-ending diagnosis at play here.
2019-01-22 22:20:12 -05:00
Thomas Harte a6683cb9b8 Avoids scaling luminance prior to extracting chrominance. 2019-01-17 20:52:33 -05:00
Thomas Harte d593796dae Reintroduces less-filtered black and white video where there's no colour burst. 2019-01-16 22:22:29 -05:00
Thomas Harte 6c49953115 Returns gamma correction, and corrects Amstrad CPC brightness. 2019-01-14 22:56:08 -05:00
Thomas Harte bb03d2f2ad Removes redundant enumeration. 2019-01-13 23:07:50 -05:00
Thomas Harte 7aec5be61a Cleans up and simplifies shader creation. 2019-01-13 22:49:01 -05:00