#ifndef USER_CGP_CONSTANTS_H #define USER_CGP_CONSTANTS_H // IMPORTANT: // These constants MUST be set appropriately for the settings in crt-royale.cgp // (or whatever related .cgp file you're using). If they aren't, you're likely // to get artifacts, the wrong phosphor mask size, etc. I wish these could be // set directly in the .cgp file to make things easier, but...they can't. // PASS SCALES AND RELATED CONSTANTS: // Copy the absolute scale_x for BLOOM_APPROX. There are two major versions of // this shader: One does a viewport-scale bloom, and the other skips it. The // latter benefits from a higher bloom_approx_scale_x, so save both separately: static const float bloom_approx_size_x = 320.0; static const float bloom_approx_size_x_for_fake = 400.0; // Copy the viewport-relative scales of the phosphor mask resize passes // (MASK_RESIZE and the pass immediately preceding it): static const float2 mask_resize_viewport_scale = float2(0.0625, 0.0625); // Copy the geom_max_aspect_ratio used to calculate the MASK_RESIZE scales, etc.: static const float geom_max_aspect_ratio = 4.0/3.0; // PHOSPHOR MASK TEXTURE CONSTANTS: // Set the following constants to reflect the properties of the phosphor mask // texture named in crt-royale.cgp. The shader optionally resizes a mask tile // based on user settings, then repeats a single tile until filling the screen. // The shader must know the input texture size (default 64x64), and to manually // resize, it must also know the horizontal triads per tile (default 8). static const float2 mask_texture_small_size = 64.0.xx; static const float2 mask_texture_large_size = 512.0.xx; static const float mask_triads_per_tile = 8.0; // We need the average brightness of the phosphor mask to compensate for the // dimming it causes. The following four values are roughly correct for the // masks included with the shader. Update the value for any LUT texture you // change. [Un]comment "#define PHOSPHOR_MASK_GRILLE14" depending on whether // the loaded aperture grille uses 14-pixel or 15-pixel stripes (default 15). //#define PHOSPHOR_MASK_GRILLE14 static const float mask_grille14_avg_color = 50.6666666/255.0; // TileableLinearApertureGrille14Wide7d33Spacing*.png // TileableLinearApertureGrille14Wide10And6Spacing*.png static const float mask_grille15_avg_color = 53.0/255.0; // TileableLinearApertureGrille15Wide6d33Spacing*.png // TileableLinearApertureGrille15Wide8And5d5Spacing*.png static const float mask_slot_avg_color = 46.0/255.0; // TileableLinearSlotMask15Wide9And4d5Horizontal8VerticalSpacing*.png // TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing*.png static const float mask_shadow_avg_color = 41.0/255.0; // TileableLinearShadowMask*.png // TileableLinearShadowMaskEDP*.png #ifdef PHOSPHOR_MASK_GRILLE14 static const float mask_grille_avg_color = mask_grille14_avg_color; #else static const float mask_grille_avg_color = mask_grille15_avg_color; #endif #endif // USER_CGP_CONSTANTS_H