mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat(waterfall): палитры Inferno/Turbo + gamma, разрешение до 4096, HiDPI
- SPECTRUM_PIXELS 1024→4096 + настройка display_pixels (лимит точек анализатора, SetDisplayResLimit); web-зеркало остаётся 1024 — max-децимация в SnapshotPixels - палитры водопада Classic/Inferno/Turbo + регулятор gamma (в LUT), настройки wf_palette/wf_gamma, страница Waterfall → группа Rendering - GL-водопад переведён на общий LUT/AGC-уровни базового класса (убраны дубли ColorForDB/UpdateLevels) - явные glViewport в GL-вьюхах умножаются на PixelScale (HiDPI), текстура водопада — в физической ширине Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,8 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, Graphics, Controls, Math, Types,
|
||||
OpenGLContextEx, GL,
|
||||
AppTheme, SpectrumView, VfoOverlay, BandPlanOverlay, WaterfallViewOpengl;
|
||||
AppTheme, SpectrumView, VfoOverlay, BandPlanOverlay,
|
||||
WaterfallView, WaterfallViewOpengl;
|
||||
|
||||
type
|
||||
TGLTextureCache = record
|
||||
@@ -663,7 +664,7 @@ var
|
||||
R, G, B: GLFloat;
|
||||
begin
|
||||
if Length(FSpY) <> W then SetLength(FSpY, W);
|
||||
SrcCount := ClampI(FSpectrumBufCount, 2, 1024);
|
||||
SrcCount := ClampI(FSpectrumBufCount, 2, WF_MAX_PIXELS);
|
||||
for I := 0 to W - 1 do
|
||||
begin
|
||||
if FTXMode and (FTXSpanHz > 0) and (FSpanHz > 0) then
|
||||
@@ -944,7 +945,9 @@ begin
|
||||
H := FGLControl.Height;
|
||||
if (W <= 0) or (H <= 0) then Exit;
|
||||
|
||||
glViewport(0, 0, W, H);
|
||||
// HiDPI: viewport в физических пикселях FBO, координаты — логические
|
||||
glViewport(0, 0, Round(W * FGLControl.PixelScale),
|
||||
Round(H * FGLControl.PixelScale));
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glLoadIdentity;
|
||||
glOrtho(0, W, H, 0, -1, 1);
|
||||
|
||||
Reference in New Issue
Block a user