Repository navigation
Releases
Real CRT Phosphor v1.4
v1.4 — upscale presets for 3D games: lighter, same picture
- New upscale chains
real-crt-phosphor-up2x / up3x / up4x.slangpand presets inpresets/4K-upscaleandpresets/Ally-upscale(base, ps1, psp, ps2 and slot versions, at 2x / 3x / 4x). - For emulators running at a raised internal resolution (PS1, PSP, N64, PS2...). The first pass averages N x N and shrinks the picture back to its original size, so the rest of the shader runs as light as at 1x.
- Fewer frame drops at 3x / 4x, and much shorter hitches (audio crackle) when a game switches resolution, e.g. when a battle starts.
- The result is pixel-identical to the 1x picture. 2D systems keep using the normal presets.
- Suggested for 3D games: 2x internal resolution + up2x. The preset must match the internal resolution (3x -> up3x).
- Web preview: drop a 3x/4x screenshot and Save .slangp offers the matching upscale chain. Includes v1.3 curvature (with optional curved mask) and v1.2 afterglow.
Update: overwrite the real-crt-phosphor folder in shaders_slang. Existing presets keep working.
Try it in the browser: https://crt2oldgamer-stack.github.io/real-crt-phosphor/
v1.4 — 3D 게임 업스케일 전용 프리셋: 가볍고 화면은 그대로
- 새 업스케일 체인
real-crt-phosphor-up2x / up3x / up4x.slangp와presets/4K-upscale,presets/Ally-upscale프리셋 (base·ps1·psp·ps2와 슬롯판, 2·3·4배) - 에뮬레이터 내부 해상도를 올려 쓰는 경우(PS1·PSP·N64·PS2 등)용. 첫 단계에서 N×N 평균을 낸 뒤 원래 해상도로 줄여 넘겨서, 나머지가 1배만큼 가벼워집니다.
- 3·4배에서 프레임 드랍이 줄고, 전투 진입처럼 게임이 해상도를 바꿀 때 생기던 순간 멈춤(소리 끊김)이 크게 줄어듭니다.
- 결과는 1배 화면과 픽셀 단위로 같습니다. 2D 기종은 기존 프리셋 그대로.
- 3D 게임 추천: 내부 해상도 2배 + up2x. 프리셋 배율은 내부 해상도와 같아야 합니다 (3배 → up3x).
- 웹 미리보기: 3·4배 스크린샷을 넣으면 .slangp 저장에서 맞는 업스케일 체인을 골라 줍니다. v1.3 곡률(마스크 휘기 옵션 포함), v1.2 잔상 포함.
업데이트: shaders_slang 안의 real-crt-phosphor 폴더를 덮어쓰면 됩니다. 기존 프리셋은 그대로 동작합니다.
Real CRT Phosphor v1.2
v1.2 — optional phosphor afterglow (motion trail)
- New [ PHOSPHOR AFTERGLOW ] settings, off by default:
- Afterglow strength (0 = off)
- Afterglow time: ms until the trail looks 10 % as bright (default 20)
- Red lasts longer: red phosphor glows longer for a reddish trail (default 1.2)
- Suggested: strength 0.4 / 20 ms / red 1.2 for a faint, realistic smear; 0.8 / 200 ms / 2 for an exaggerated trail
- A still picture is not changed at all. Only places something moved away from keep a fading glow, always dimmer than the original.
- Computed at game resolution: almost no extra cost. Includes the v1.1.1 speed-up for phone/tablet GPUs.
- Times assume 60 fps. Real consumer CRTs fade much faster; this is a taste setting for the trail some of us remember.
Example: a strong setting (time 110 ms, red at minimum) on a dark stage - drag example_afterglow.png here if you want it in the notes.
Update: overwrite the real-crt-phosphor folder in shaders_slang. Existing presets keep working.
Web preview: press ▶ Motion to see the trail on a running sprite or a scrolling screenshot: https://crt2oldgamer-stack.github.io/real-crt-phosphor/
v1.2 — 형광체 잔광(움직임 잔상) 옵션 추가
- 새 설정 [ PHOSPHOR AFTERGLOW ] (기본값 꺼짐)
- 잔상 세기 (0 = 꺼짐)
- 잔상 시간: 잔상이 눈에 10% 밝기로 보일 때까지의 시간(ms, 기본 20)
- 빨강 지속: 빨강이 더 오래 남아 꼬리가 붉어짐 (기본 1.2배)
- 추천: 세기 0.4 / 20ms / 빨강 1.2 (은은하고 현실적), 0.8 / 200ms / 2 (과장된 꼬리)
- 멈춰 있는 화면은 전혀 바뀌지 않고, 지나간 자리에만 원래보다 어두운 빛이 꺼져 가며 남습니다.
- 게임 원래 해상도에서 계산해 부담이 거의 없습니다. v1.1.1 휴대기기 속도 개선 포함.
- 시간은 60fps 기준이며, 실제 가정용 CRT보다 과장된 "기억 속 느낌"용 취향 설정입니다.
업데이트: shaders_slang 안의 real-crt-phosphor 폴더를 덮어쓰면 됩니다. 기존 프리셋은 그대로 동작합니다.
Real CRT Phosphor v1.1.1
v1.1.1 — faster on phone and tablet GPUs, same picture
- Gamma decoding moved from the screen-size pass to the game-resolution pass:
32 pow() per screen pixel -> 0 (the Signal pass now keeps linear light in a float buffer). - Highlight melt blobs use one exp plus a correction term instead of two erfc.
- About 1/4 of the special-function work left in the screen-size passes.
- Difference from v1.1: at most 2/255 per pixel (not visible).
Update: overwrite the real-crt-phosphor folder in shaders_slang. Your presets keep working.
Try it in the browser: https://crt2oldgamer-stack.github.io/real-crt-phosphor/
v1.1.1 — 휴대기기 GPU 속도 개선, 화면은 그대로
- 감마 변환을 화면 해상도 단계에서 게임 원래 해상도 단계로 옮김: 화면 픽셀마다 pow 32번 → 0번
- 밝은 곳 빛 덩어리 계산 간소화 (erfc 2번 → exp 1번 + 보정)
- 화면 단계의 특수 함수 계산량 약 1/4로 감소
- v1.1과의 차이: 픽셀당 최대 2/255 (눈으로 구별 불가)
업데이트: shaders_slang 안의 real-crt-phosphor 폴더를 덮어쓰면 됩니다. 기존 프리셋은 그대로 동작합니다.
브라우저에서 바로 써 보기: https://crt2oldgamer-stack.github.io/real-crt-phosphor/
Real CRT Phosphor v1.1
Changelog
v1.1 (2026-10-27)
- Slot Mask added (
Mask type: 0 Grille / 1 Slot).- Slots follow the scanlines (no beating between the two rhythms), straight slot sides,
gap depth control so the slot pattern does not read as dithering. - New parameters: Slot follows scanlines, Slot height in scanlines, Slot vertical pitch adjust,
Slot straight sides, Slot gap depth (plus gap fraction / edge softness / highlight fill).
- Slots follow the scanlines (no beating between the two rhythms), straight slot sides,
- Faster: post-blur weights computed once per vertex instead of per pixel.
- Presets: Aperture Grille pitch 4.5 for 4K and ROG Ally,
-slotpresets (pitch 3),-ps2-2d(pitch 1.5). - Cleaner parameter menu: section headers and indented items.
- Terms of use and AI-generated work notice added (LICENSE.txt / LICENSE_KR.txt).
v1.0 (2026-10-27)
- First public release (formerly the private "gunkun-rgb" shader).
- Light comes only from R, G, B phosphor stripes; stripe width follows brightness;
highlights melt into glow; total light preserved. - Presets for 32" 4K monitor and ROG Ally (SFC, PS1, PS2, PSP).
