Skip to content

Commit 212a426

Browse files
committed
Merge branch 'dev'
2 parents 499cf1d + 142308b commit 212a426

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1399
-1045
lines changed

changelogs/1.8.1.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Alpha Piscium v1.8.1
2+
3+
## New
4+
- Added GI SST steps options
5+
- Added Color McSpaceFace colorspace for rendering
6+
7+
## Improvement
8+
- **Improved Water Caustics and make it enabled by default**
9+
- **Improved PCSS**
10+
- Improved denoiser to reduce fireflies
11+
- Increased environment probe range setting maximum
12+
- Adjusted water wave
13+
- Improved shadesmith tilling algorithm to reduce VRAM usage
14+
15+
## Fix
16+
- Fixed potential cloud banding caused by bad randoms
17+
- Fixed cloud multi-scattering radius setting
18+
- Fixed solid shadow and caustics mixing
19+
- Fixed randomly appeared black line in GI accumulation
20+
- Fixed missing denoiser stabilization
21+
- Fixed twilight color banding
22+
23+
## Misc
24+
- Updated sponsor list
25+
- Removed unused CSR32F tile
26+
27+

scripts/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ tokens.properties
22
shadesmitth/
33
config.properties
44
*.aot
5-
*.aotconf
5+
shadesmith-aot.ps1

scripts/colorspaces.py

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,39 @@
33

44
sorted(colour.RGB_COLOURSPACES)
55

6+
def getColorSpace(csname):
7+
if csname == 'Color McSpaceFace':
8+
d65 = [0.31272, 0.32903]
9+
r = [0.671893, 0.330215]
10+
g = [0.203233, 0.814212]
11+
b = [0.120590, 0.038494]
12+
return colour.RGB_Colourspace(
13+
name='Custom',
14+
primaries=np.array([r, g, b]),
15+
whitepoint=np.array(d65),
16+
whitepoint_name='D65',
17+
matrix_RGB_to_XYZ=None,
18+
matrix_XYZ_to_RGB=None,
19+
cctf_encoding=None,
20+
cctf_decoding=None
21+
)
22+
23+
try:
24+
return colour.RGB_COLOURSPACES[csname]
25+
except KeyError:
26+
raise ValueError(f"Color space '{csname}' not found in colour-science library.")
27+
628
def cmat(a, b):
729
if a == b:
830
return np.identity(3)
931
elif (a == "CIE XYZ"):
10-
mat = colour.RGB_COLOURSPACES[b].matrix_XYZ_to_RGB
32+
mat = getColorSpace(b).matrix_XYZ_to_RGB
1133
elif (b == "CIE XYZ"):
12-
mat = colour.RGB_COLOURSPACES[a].matrix_RGB_to_XYZ
34+
mat = getColorSpace(a).matrix_RGB_to_XYZ
1335
else:
1436
mat = colour.matrix_RGB_to_RGB(
15-
colour.RGB_COLOURSPACES[a],
16-
colour.RGB_COLOURSPACES[b],
37+
getColorSpace(a),
38+
getColorSpace(b),
1739
'Bradford'
1840
)
1941

@@ -27,7 +49,8 @@ def cmat(a, b):
2749
"DCI-P3",
2850
"Adobe RGB (1998)",
2951
"ACES2065-1",
30-
"ACEScg"
52+
"ACEScg",
53+
"Color McSpaceFace"
3154
]
3255

3356
color_space_code_name = {
@@ -38,7 +61,8 @@ def cmat(a, b):
3861
"DCI-P3": "DCI_P3",
3962
"Adobe RGB (1998)": "ADOBE_RGB_1998",
4063
"ACES2065-1": "ACES_AP0",
41-
"ACEScg": "ACES_AP1"
64+
"ACEScg": "ACES_AP1",
65+
"Color McSpaceFace": "COLOR_MCSPACEFACE"
4266
}
4367

4468
package_name = "colors2_colorspaces"

scripts/options.lib.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ fun powerOfTwoRange(range: IntRange): List<Int> {
504504
return range.map { 1 shl it }
505505
}
506506

507-
fun powerOfTwoRangeAndHalf(range: IntRange): List<Int> {
507+
fun powerOfTwoAndHalfRange(range: IntRange): List<Int> {
508508
return range.flatMapIndexed { index, it ->
509509
if (it <= 1 || index == 0) {
510510
listOf(1 shl it)

scripts/options.main.kts

Lines changed: 53 additions & 80 deletions
Large diffs are not rendered by default.

scripts/shaders.properties

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@ customTexture.usam_cumulusCurl=textures/cumulus_curl.bin TEXTURE_3D RGBA8_SNORM
4545
customTexture.usam_cumulusBase=textures/cumulus_base.bin TEXTURE_2D R8 1024 1024 RED UNSIGNED_BYTE
4646

4747
# --------------------------------------------------- Custom Images ---------------------------------------------------
48-
image.uimg_csr32f=usam_csr32f RED R32F FLOAT false true 2.0 3.0
48+
image.uimg_csr32f=usam_csr32f RED R32F FLOAT false true 2.0 2.0
4949

50-
image.uimg_frgba16f=usam_frgba16f RGBA RGBA16F FLOAT false false 1312 768
50+
image.uimg_frgba16f=usam_frgba16f RGBA RGBA16F FLOAT false false 1024 832
51+
image.uimg_fr32f=usam_fr32f RED R32F FLOAT false false 256 262
52+
image.uimg_frgba16=usam_frgba16 RGBA RGBA16 UNSIGNED_SHORT false false 256 256
5153

5254
image.uimg_rgba32ui=usam_rgba32ui RGBA_INTEGER RGBA32UI UNSIGNED_INT false true 3.0 3.0
5355
image.uimg_rgba16f=usam_rgba16f RGBA RGBA16F HALF_FLOAT false true 4.0 4.0
@@ -56,13 +58,6 @@ image.uimg_rgba8=usam_rgba8 RGBA RGBA8 UNSIGNED_BYTE false true 3.0 3.0
5658
image.uimg_rg32ui=usam_rg32ui RG_INTEGER RG32UI UNSIGNED_INT false true 2.0 2.0
5759
image.uimg_r32f=usam_r32f RED R32F FLOAT false true 2.0 2.0
5860

59-
#if SETTING_RTWSM_IMAP_SIZE == 256
60-
#define IMAP_Y_SIZE 262
61-
#elif SETTING_RTWSM_IMAP_SIZE == 512
62-
#define IMAP_Y_SIZE 518
63-
#elif SETTING_RTWSM_IMAP_SIZE == 1024
64-
#define IMAP_Y_SIZE 1030
65-
#endif
6661
#if SETTING_SLICE_SAMPLES == 128
6762
#define EPIPOLAR_DATA_Y_SIZE 385
6863
#elif SETTING_SLICE_SAMPLES == 256
@@ -72,7 +67,6 @@ image.uimg_r32f=usam_r32f RED R32F FLOAT false true 2.0 2.0
7267
#elif SETTING_SLICE_SAMPLES == 1024
7368
#define EPIPOLAR_DATA_Y_SIZE 3073
7469
#endif
75-
image.uimg_rtwsm_imap=usam_rtwsm_imap RED R32F FLOAT false false SETTING_RTWSM_IMAP_SIZE IMAP_Y_SIZE
7670

7771
#if SETTING_SKYVIEW_RES == 128
7872
#define SETTING_SKYVIEW_X_SIZE 64
@@ -125,7 +119,11 @@ program.deferred18.enabled=SETTING_WATER_CAUSTICS
125119

126120
program.deferred19.enabled=SETTING_CLOUDS_CU
127121
program.deferred20.enabled=SETTING_CLOUDS_CU
128-
program.deferred54.enabled=SETTING_GI_SPATIAL_REUSE
122+
123+
#if SETTING_GI_INITIAL_SST_STEPS < 64
124+
program.deferred46.enabled=false
125+
program.deferred47.enabled=false
126+
#endif
129127

130128
program.deferred98.enabled=SETTING_DEBUG_SST
131129
program.deferred99.enabled=SETTING_DEBUG_SST_STEPS
@@ -202,7 +200,7 @@ program.composite74.enabled=BLOOM_PASS_2
202200
# ------------------------------------------------------ Blending ------------------------------------------------------
203201
blend.shadow.colortex0=off
204202
blend.shadow.colortex1=off
205-
blend.shadow.colortex2=SRC_ALPHA SRC_COLOR ONE ZERO
203+
blend.shadow.colortex2=SRC_ALPHA SRC_COLOR ONE ONE
206204
blend.shadow.colortex3=off
207205

208206
blend.gbuffers_armor_glint=SRC_ALPHA SRC_COLOR ONE ZERO
@@ -219,7 +217,7 @@ blend.gbuffers_terrain=off
219217

220218
blend.gbuffers_hand_water.colortex8=off
221219
blend.gbuffers_hand_water.colortex9=off
222-
blend.gbuffers_hand_water.colortex11=SRC_ALPHA SRC_COLOR ZERO ZERO
220+
blend.gbuffers_hand_water.colortex11=SRC_ALPHA SRC_COLOR ONE ONE
223221
blend.dh_water.colortex8=off
224222
blend.dh_water.colortex9=off
225223
blend.dh_water.colortex11=SRC_ALPHA SRC_COLOR ONE ONE
3.08 KB
Binary file not shown.

scripts/sponsors.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
ZY-Panda
21
LovelyRua
32
爱发电用户_84c7a
43
skayla
5-
MoAoXnX
64
Xzavier0707
75
OEOTYAN
86
Tahnass
9-
Acyanxi
107
楚隐霄
118
てっぼうまき
12-
nobody
139
YWYunyi
14-
爱发电用户_V7Wk
15-
崭新的垃圾桶
10+
Baier

shaders/base/Configs.glsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const int colortex12Format = RGBA16F; // Translucent Data
2323
2424
const int shadowcolor0Format = R16F; // Depth offset
2525
const int shadowcolor1Format = RGBA8_SNORM; // Normal
26-
const int shadowcolor2Format = RGBA8; // Translucent color
26+
const int shadowcolor2Format = RGB10_A2; // Translucent color
2727
const int shadowcolor3Format = RG16; // Unwarped UV
2828
const int shadowcolor4Format = R32F; // Pixel area
2929
const int shadowcolor5Format = RGBA8; // Water mask

shaders/base/Options.glsl

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#define SETTING_TRANSLUCENT_ABSORPTION_SATURATION 1.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0]
3131
#define SETTING_SHADOW_MAP_RESOLUTION 2048//[1024 2048 3072 4096]
3232
const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
33-
#define SETTING_RTWSM_IMAP_SIZE 256//[256 512 1024]
3433
#define SETTING_RTWSM_F
3534
#ifdef SETTING_RTWSM_F
3635
#endif
@@ -47,13 +46,15 @@ const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
4746
#define SETTING_RTWSM_B_PP 16//[1 2 4 8 16 32 64 128 256]
4847
#define SETTING_RTWSM_B_SN 2.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0]
4948
#define SETTING_RTWSM_B_SE 0.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0]
50-
#define SETTING_PCSS_BLOCKER_SEARCH_COUNT 2//[1 2 4 8 16]
51-
#define SETTING_PCSS_BLOCKER_SEARCH_LOD 4//[0 1 2 3 4 5 6 7 8]
49+
#define SETTING_PCSS_BLOCKER_SEARCH_COUNT 2//[1 2 3 4 6 8 12 16]
50+
#define SETTING_PCSS_SAMPLE_COUNT 8//[1 2 3 4 6 8 12 16 24 32 48 64]
5251
#define SETTING_PCSS_BPF 0.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0]
5352
#define SETTING_PCSS_VPF 1.0//[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0]
53+
#define SETTING_GI_INITIAL_SST_STEPS 128//[16 24 32 48 64 96 128 192 256]
54+
#define SETTING_GI_VALIDATE_SST_STEPS 64//[4 6 8 12 16 24 32 48 64 96 128 192 256]
5455
#define SETTING_GI_SST_THICKNESS 0.1//[0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5]
55-
#define SETTING_GI_PROBE_FADE_START 4//[4 8 16 32 64 128 256]
56-
#define SETTING_GI_PROBE_FADE_END 32//[4 8 16 32 64 128 256]
56+
#define SETTING_GI_PROBE_FADE_START 4//[4 8 16 32 64 128 256 512 1024]
57+
#define SETTING_GI_PROBE_FADE_END 32//[4 8 16 32 64 128 256 512 1024]
5758
#define SETTING_GI_MC_SKYLIGHT_ATTENUATION
5859
#ifdef SETTING_GI_MC_SKYLIGHT_ATTENUATION
5960
#endif
@@ -64,13 +65,13 @@ const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
6465
//#define SETTING_GI_SPATIAL_REUSE_COUNT_DYNAMIC
6566
#ifdef SETTING_GI_SPATIAL_REUSE_COUNT_DYNAMIC
6667
#endif
67-
#define SETTING_GI_SPATIAL_REUSE_RADIUS 64//[2 3 4 6 8 12 16 24 32 48 64 96 128 192 256]
68+
#define SETTING_GI_SPATIAL_REUSE_RADIUS 64//[16 24 32 48 64 96 128 192 256]
6869
#define SETTING_GI_SPATIAL_REUSE_FEEDBACK 16//[0 1 2 3 4 6 8 12 16 24 32 48 64]
6970
#define SETTING_DENOISER_SPATIAL
7071
#ifdef SETTING_DENOISER_SPATIAL
7172
#endif
7273
#define SETTING_DENOISER_SPATIAL_SAMPLES 8//[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
73-
#define SETTING_DENOISER_SPATIAL_SAMPLES_POST 4//[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
74+
#define SETTING_DENOISER_SPATIAL_SAMPLES_POST 8//[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
7475
#define SETTING_DENOISER_ACCUM
7576
#ifdef SETTING_DENOISER_ACCUM
7677
#endif
@@ -85,7 +86,7 @@ const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
8586
#endif
8687
#define SETTING_DENOISER_HISTORY_FIX_NORMAL_WEIGHT 5//[0 1 2 3 4 5 6 7 8 9 10]
8788
#define SETTING_DENOISER_HISTORY_FIX_DEPTH_WEIGHT 5//[0 1 2 3 4 5 6 7 8 9 10]
88-
#define SETTING_DENOISER_STABILIZATION_MAX_ACCUM 256//[4 6 8 12 16 24 32 48 64 96 128 192 256]
89+
#define SETTING_DENOISER_STABILIZATION_MAX_ACCUM 64//[4 6 8 12 16 24 32 48 64 96 128 192 256]
8990
#define SETTING_ATM_ALT_SCALE 1000//[1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 100 100 200 300 400 500 600 700 800 900 1000 1000]
9091
#define SETTING_ATM_D_SCALE 1000//[1 2 3 4 5 6 7 8 9 10 10 20 30 40 50 60 70 80 90 100 100 200 300 400 500 600 700 800 900 1000 1000]
9192
#define SETTING_ATM_GROUND_ALBEDO_R 45//[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255]
@@ -121,14 +122,14 @@ const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
121122
#define SETTING_WATER_REFRACT_APPROX
122123
#ifdef SETTING_WATER_REFRACT_APPROX
123124
#endif
124-
//#define SETTING_WATER_CAUSTICS
125+
#define SETTING_WATER_CAUSTICS
125126
#ifdef SETTING_WATER_CAUSTICS
126127
#endif
127-
#define SETTING_WATER_NORMAL_SCALE 1.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0]
128+
#define SETTING_WATER_NORMAL_SCALE 1.5//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0]
128129
#define SETTING_WATER_PARALLAX
129130
#ifdef SETTING_WATER_PARALLAX
130131
#endif
131-
#define SETTING_WATER_PARALLAX_STRENGTH 1.0//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0]
132+
#define SETTING_WATER_PARALLAX_STRENGTH 1.5//[0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0]
132133
#define SETTING_WATER_PARALLAX_LINEAR_STEPS 8//[4 6 8 12 16 24 32]
133134
#define SETTING_WATER_PARALLAX_SECANT_STEPS 2//[1 2 3 4 5 6 7 8]
134135
#define SETTING_WATER_SCATTERING_REFRACTION_APPROX
@@ -146,7 +147,7 @@ const float shadowDistance = 512.0;//[64.0 128.0 192.0 256.0 384.0 512.0]
146147
#define SETTING_WATER_LIGHT_SHAFT_SOFTNESS 7//[0 1 2 3 4 5 6 7 8 9 10]
147148
#define SETTING_WATER_SHADOW_SAMPLE 64//[16 24 32 48 64 96 128 192 256]
148149
#define SETTING_WATER_SHADOW_SAMPLE_POOL_SIZE 8//[2 4 6 8 10 12 14 16]
149-
#define SETTING_CLOUDS_MS_RADIUS 0.7//[0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0]
150+
#define SETTING_CLOUDS_MS_RADIUS 0.35//[0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0]
150151
#define SETTING_CLOUDS_AMB_BACKSCATTER_FACTOR 0.5//[0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0]
151152
#define SETTING_CLOUDS_CU
152153
#ifdef SETTING_CLOUDS_CU
@@ -277,11 +278,11 @@ const float sunPathRotation = -20.0;//[-90.0 -89.0 -88.0 -87.0 -86.0 -85.0 -84.0
277278
#define SETTING_TAA_CURR_FILTER 2//[0 1 2]
278279
#define SETTING_TAA_HISTORY_FILTER 4//[1 2 3 4]
279280
#define SETTING_TAA_CAS_SHARPNESS 0.5//[0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0]
280-
#define SETTING_MATERIAL_COLOR_SPACE 1//[0 1 2 3 4 5 6 7]
281+
#define SETTING_MATERIAL_COLOR_SPACE 1//[0 1 2 3 4 5 6 7 8]
281282
#define SETTING_MATERIAL_TRANSFER_FUNC 3//[0 1 2 3 4 5 6 7]
282-
#define SETTING_WORKING_COLOR_SPACE 7//[0 1 2 3 4 5 6 7]
283-
#define SETTING_DRT_WORKING_COLOR_SPACE 1//[0 1 2 3 4 5 6 7]
284-
#define SETTING_OUTPUT_COLOR_SPACE 1//[0 1 2 3 4 5 6 7]
283+
#define SETTING_WORKING_COLOR_SPACE 8//[0 1 2 3 4 5 6 7 8]
284+
#define SETTING_DRT_WORKING_COLOR_SPACE 1//[0 1 2 3 4 5 6 7 8]
285+
#define SETTING_OUTPUT_COLOR_SPACE 1//[0 1 2 3 4 5 6 7 8]
285286
#define SETTING_OUTPUT_TRANSFER_FUNC 3//[0 1 2 3 4 5 6 7]
286287
//#define SETTING_SCREENSHOT_MODE
287288
#ifdef SETTING_SCREENSHOT_MODE

0 commit comments

Comments
 (0)