From 2e059eef072885bfca891bb57c3d9f799df1188e Mon Sep 17 00:00:00 2001 From: xiangsilian Date: Mon, 15 Sep 2025 22:31:52 +0800 Subject: [PATCH] asdf --- shaders/texture_loading/glsl/bg.frag.spv | Bin 640 -> 648 bytes shaders/texture_loading/glsl/bg.vert | 33 +++++++---------------- shaders/texture_loading/glsl/bg.vert.spv | Bin 1468 -> 1376 bytes 3 files changed, 9 insertions(+), 24 deletions(-) diff --git a/shaders/texture_loading/glsl/bg.frag.spv b/shaders/texture_loading/glsl/bg.frag.spv index 2c12da6b6e6d7e2f453d31477a84d1b9f9ec4666..1a968cf7df1ae6b5bbf68dde7e8570c90cb442da 100644 GIT binary patch delta 260 zcmZo*?O>e{!6-a2vRhVwfq@|@F*!TED8Do>B_y??q_ij%D8|ab!XP}Ekx^a|q(Tvh zLBJg-3gRn)c@VzvWJktmM{S@C8&H%BEYn~Q<8wn*>M*baAp-*sR1HWRghA>h88{hu zCog1F4&(#!c!5{}Xc|9|1_6+mHIxss8wA9Gd_f=$vXKdhLF$EoG$Rm$#6jvoeBsHW UOv)m549q|qAa?%+s<8lK04Qk{z5oCK delta 252 zcmXYry9&ZU6h!Yv*I<0E7Gfb9^Amz7SZNyws95<37J@=BU}-7XDEobWir|dN!r^je zXD|EEcl}x^^IkuDH4)iu_oriWNzaEUzFpHKMy91G#wykK+3*3+94USHx6F;5sg3SR zSv>nuL0G|^2L|X?^B%Kt?tIVFfj2Nqzya(xF%@9WKHb>R2^JF=x6}bQ(AjDM1D5!) Ti`fS3FrP{Rzsj;N_Kv_0+|?Dy diff --git a/shaders/texture_loading/glsl/bg.vert b/shaders/texture_loading/glsl/bg.vert index 335ebdc..9e096f3 100644 --- a/shaders/texture_loading/glsl/bg.vert +++ b/shaders/texture_loading/glsl/bg.vert @@ -1,29 +1,14 @@ #version 450 -// 在没有顶点缓冲区的情况下,通过顶点ID生成全屏 quad -// 顶点ID: 0=(-1,-1), 1=(1,-1), 2=(-1,1), 3=(1,1) -out gl_PerVertex { - vec4 gl_Position; -}; - -layout(location = 0) out vec2 outUV; +layout(location = 0) out vec2 uv; void main() { - vec2 pos; - vec2 uv; - if (gl_VertexIndex == 0) { - pos = vec2(-1.0, -1.0); - uv = vec2(0.0, 0.0); - } else if (gl_VertexIndex == 1) { - pos = vec2(1.0, -1.0); - uv = vec2(1.0, 0.0); - } else if (gl_VertexIndex == 2) { - pos = vec2(-1.0, 1.0); - uv = vec2(0.0, 1.0); - } else { // gl_VertexIndex == 3 - pos = vec2(1.0, 1.0); - uv = vec2(1.0, 1.0); - } - gl_Position = vec4(pos, 0.0, 1.0); - outUV = uv; + // 使用NDC坐标(-1到1),并为四个顶点分配位置 + vec2 positions[4] = vec2[]( + vec2(-1.0, -1.0), vec2(1.0, -1.0), + vec2(-1.0, 1.0), vec2(1.0, 1.0) + ); + + uv = positions[gl_VertexIndex].xy * 0.5 + 0.5; + gl_Position = vec4(positions[gl_VertexIndex], 0.0, 1.0); } \ No newline at end of file diff --git a/shaders/texture_loading/glsl/bg.vert.spv b/shaders/texture_loading/glsl/bg.vert.spv index fb7e2bcc5d924cc207a7e41eddc9a76d86774015..7271ea01a485552f87dfad4e043c87ab72311b38 100644 GIT binary patch literal 1376 zcmYk6Yikoh6ox1F+S;47^;YY))p}`-3MztV5tXeFXr$oRr6h|CtlN;?lk$cZ{i-IWupbnCdK>x)39*?e4gD)aw@Iu>17cV;Bpj z;fQb+&5YBV`uuWibBtBVRmqN|p})HB-y%27tciO`e0Ui5-Y0|6C@IRXS(;=vPm`e? zr-Ra-rtoH_cs3toli@U>CB}5VmT8%b$}u`AY-vyOLV8Pisbg}A-gfnT&XP~*xJ=JJ zhZWj!IDI?Z=H-$7riyt}`RG-?x0xNivqgEF57KiV zQ^PmOvU4AGGAB-~uBds#S(VKk=Ohm#vAEPljstZSYQ)b8ShYL0`XA#BJZcC$bg-sm zMN#2wiUE$kCatYIl3Wo>UleEKTb0e`BME2M+ZUu0Z(X0Wx_JW@$tD*zIDBHyON{yc zYft^)TabVufwL%Goc+LAk_84QV9VYH57;H?*cH}sc~@kUgBZMlLv5FJ(>FD|^ftQy zqt`Xvk)-DCrsh%U;PA28Rq$VzPAnw!aZ|d^KC|4ELjTMv%x+6M@0s1UZv0>y(%5x) zgAbwZJG!Y6KXqX5c#OEzcUQs*b?jEAd;dr}?}`0fJ7Ble!~y>!q@|nK?2q3WJ-wC} zoq4|Ud9F!k25=*?UZCv literal 1468 zcmYk5Yikox5Qe8olh$f)_U5&w)_ZHL+Qx#Y_(7r&XhiJSMUq7p;wB`UQor^0_$LJa zlot?upOYQgQ>HWXp7+dqcIKp9+MY3+vhy}?hc;QuRuW>us=+r~A6oTM)~)X!?7>*D zav;K4wAm0(>;IQeNlF4zmo;Q%{gvc@h&*j`)@()1qoZc)P1G3-qEYs>7e~D$jiYWd zj5}F!62qG<@RGFC8+VI@iWo(`itdT#=U#Li53~66UD}OL%_`EqD16W#g?LTz_yoLa zyAysp9!`!Z6*|F*Rjb_}C0Wu>!&$zEg*M;SA7>wr<(uKQ^vdi($jhNN-~3i=bXe@O z;B$U6WM(Vs4&1HKDGTwMI8|Xa89lBk*N{RC{yfk5X7+b-{+wdgs;Z#3u9}PTHQ9zZ zOY-FCQFB?Iy5Q7cZ$)Ny_I+1(2Va$eVa{1s%yQ0#Vld3_az(M@HskmvLVK6xX@8tNPOMTbR=UqUMKaOpX3lD>P+yCi?1edc>k#%#ao6mz_gW6bxb zDlW*g{)o@syzG(;9pabbpuy~jsn3jlYoD|5;Je;s#YMfV%E6c+de`My=&^TAwk4wu zvFkBY*Q+T;kF)ULyWUO3MZH_f!I(9AcjQ^JY<#d~sJa_~W4w$+tCC-pmsjT=x8(zE%z1)xNAQ ZW47Fp9KLHlQ_TF>