internal resolution
This commit is contained in:
@@ -977,9 +977,14 @@ namespace Rendering {
|
||||
SDL_GPUViewport vp = {.x = vx, .y = vy, .w = vw, .h = vh, .min_depth = 0.0F, .max_depth = 1.0F};
|
||||
SDL_SetGPUViewport(pass, &vp);
|
||||
|
||||
// El shader CrtPi tradicionalment usa NEAREST per a fer el seu
|
||||
// propi filtrat analític. Si l'usuari tria LINEAR explícitament,
|
||||
// respectem la preferència (la mostra arribarà pre-suavitzada).
|
||||
SDL_GPUTextureSamplerBinding binding = {};
|
||||
binding.texture = effective_scene;
|
||||
binding.sampler = sampler_; // NEAREST: el shader CrtPi fa el seu propi filtrat analític
|
||||
binding.sampler = (texture_filter_linear_ && linear_sampler_ != nullptr)
|
||||
? linear_sampler_
|
||||
: sampler_;
|
||||
SDL_BindGPUFragmentSamplers(pass, 0, &binding, 1);
|
||||
|
||||
// Injectar texture_width/height abans del push
|
||||
@@ -1054,11 +1059,15 @@ namespace Rendering {
|
||||
SDL_GPUViewport vp = {.x = vx, .y = vy, .w = vw, .h = vh, .min_depth = 0.0F, .max_depth = 1.0F};
|
||||
SDL_SetGPUViewport(pass, &vp);
|
||||
|
||||
// Amb SS: llegir de scaled_texture_ amb LINEAR; sense SS: effective_scene amb NEAREST.
|
||||
// Font: amb SS scaled_texture_; sense SS, effective_scene (que ja
|
||||
// és internal_texture_ si internal_res_>1, o scene_texture_ si no).
|
||||
// Sampler: honora el filtre global que l'usuari tria al menú
|
||||
// (texture_filter_linear_). Abans estava hardcoded a NEAREST
|
||||
// quan SS era off — el menú no tenia efecte visible en aquest path.
|
||||
SDL_GPUTexture* input_texture = (oversample_ > 1 && scaled_texture_ != nullptr)
|
||||
? scaled_texture_
|
||||
: effective_scene;
|
||||
SDL_GPUSampler* active_sampler = (oversample_ > 1 && linear_sampler_ != nullptr)
|
||||
SDL_GPUSampler* active_sampler = (texture_filter_linear_ && linear_sampler_ != nullptr)
|
||||
? linear_sampler_
|
||||
: sampler_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user