Commit graph

15 commits

Author SHA1 Message Date
JetSetIlly
5c2f22b80b removed CRT preview from debugger TV Screen
a CRT preview directly in the debugger should be a separate window.
there's no real value in having the debugging information applied
directly to a CRT rendering
2025-01-07 10:21:08 +00:00
JetSetIlly
800b2d7005 reworked screenshotting
single, flicker and composite replaced with single, double, triple

added a new movement mode (hotkey alt-F12). this tries to recreate the
old composite mode

screenshotting is now much simpler and uses gl.ReadPixels() to capture
the screen buffer as it is displayed

currently include any windows and icons etc that have also been drawn to
the screen
2024-12-29 18:38:31 +00:00
JetSetIlly
5c1f071ca6 'using bevel' option in addition to 'pixel perfect' option
if pixel perfect is disabled and using bevel is enabled, then the curve
and rounded corners amount are fixed values specific to the selected
bevel. currently only the 'solid state' bevel is allowed

set new default values for crt preferences

increased perlin noise value for CRT screen
2024-12-28 13:58:40 +00:00
JetSetIlly
35c661b280 adjustment of YIQ/YUV signal done entirely in Go
removed tv_color fragment shader. this simplifies the render path
considerably. there's a little extra load on the CPU when retreiving
colour values from the cache and a little more when generating (which
only happens once on startup and when TV controls are changed) but it's
very minimal

SECAM colours generated rather than using a precomputed RGB palette

preferences for TV brightness/contrast/saturation/hue moved to colourgen
pacakge
2024-12-20 22:02:08 +00:00
JetSetIlly
e4750c9d3f simplified sharpen shader
renamed function names involved with shader processing

removed textureSpec interface
2024-12-18 13:56:20 +00:00
JetSetIlly
4e0344286d screen reflections
corrected scaling/positioning of screen relative to bevel image. the
position of the bevel inside the window needs to be taken into account
in order for the offset values to be consistent
2024-12-15 18:32:34 +00:00
JetSetIlly
067771407b added "telefunken" bevel option
at the moment there is no way to select a different bevel and the CRT
options are not set appropriately for the bevel by default
2024-12-15 18:32:34 +00:00
JetSetIlly
18284032d1 added graphical bevels
screen can now be repositioning and sized so that it fits inside the
bevel. this needs improvement such that a bevel can specify how the
screen needs to be transformed for the bevel

set ClearColor before calling gl.Clear(). this completes the change
started in 8763b77f
2024-12-15 18:31:36 +00:00
JetSetIlly
d2b2d8318a screen roll moved to television
preview runs for 60 frames rather than 30 frames
2024-06-11 13:57:40 +01:00
JetSetIlly
5d8d65d0f1 simplified framebuffer pipeline
clarified how and when the vertex shader should flip the texture

occassional graphical artefacts no longer appear. the artefacts appeared
(or were more noticeable) when the TV image was scaled to certain sizes.
they were caused by incorrect use of the framebuffer. using the same
texture as the source and destination of the shading process does not
work as expected
2024-05-15 11:16:55 +01:00
JetSetIlly
c827d70c5b gui/crt package is now gui/display
colour preferences are now independent of CRT preferences
2024-05-05 11:35:51 +01:00
JetSetIlly
5c7e122d3e screenroll effect moved into crt effects shader
removed VSYNC synchronise on power option

these changes simplify the screen.go file and fixes the relationship
between the debugger TV screen and screen roll that was sometimes seen
(depending on when the emulation was switched to the debugger)
2024-01-28 18:34:52 +00:00
JetSetIlly
fd53a04918 crt effect improvements
improved interference noise. using perlin noise rather than gold noise

shine/vignettes is smoothed out by small amout of perlin noise if
interference is not active
2023-11-26 14:47:41 +00:00
JetSetIlly
821ff26a79 screenshotting improvements for OpenGL 3.1
OpenGL 2.1 renderer does not support screenshotting
2023-11-22 10:12:31 +00:00
JetSetIlly
5a4b01fd13 added rendering support for OpenGL2.1
all references to opengl are now made through the renderer interface.
which renderer is to be used is controlled by buildtags

now requires minimum go version of 1.21

CRT preferences and CRT preview in debugger TV window are disabled for
OpenGL2.1
2023-11-20 16:58:32 +00:00
Renamed from gui/sdlimgui/glsl_playscr.go (Browse further)