From 90b16a3d5c8d8a7bb7170909ae03075581666967 Mon Sep 17 00:00:00 2001 From: zomseffen <steffen@tom.bi> Date: Fri, 14 Mar 2025 15:50:01 +0100 Subject: [PATCH] fixes edge see through --- shaders/compiled/frag_rt_quad.spv | Bin 48596 -> 48612 bytes shaders/rt_quad.frag | 20 ++++++-------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/shaders/compiled/frag_rt_quad.spv b/shaders/compiled/frag_rt_quad.spv index 4b2eb6120e53d5c44e487212b939a74748a04a6c..ae0bec75b7387cf3f481ffaf1844e89242299c6c 100644 GIT binary patch delta 9285 zcmZ9S34B!58O3k52_UF6VhDi*MC*du(wf#(z(#AMwpOr$twrMyCLu~PAqlI?1HlDc z@rfIX#vKt9!=fk(h$t>7DxwBdT3cJGt=1|ot?l{0d0%+*^7G9-=X}fE@0~aJ=C`>Y zew*7XFL!XEb2)Aw*URmi->bT$Ty&70!}Sc&bEKXMJ)O%N_Y{}RNH{m4p?*Tm^qO($ zmhq_;=UjnHxGVgN`xcknDC@-Z)S78~je+%6f2pjCLhFo}b*sO#Z*lI9gx^%!H?N!f z*za9ZK4`a`o0Bcc#-M_H_emBnbf5a8N=iq4mZj#q&tv?H7~d1)UuW@dF4tdMQa(CQ z-Hq0ri1F?*-ZP6AxB=p|6O)b2sqr<<>DFKf%Kf4JiYpn|bW211$aHH%TSK}@os%`+ z9h8+J-yNLA3*DjqtbV0Ahx>Q*D=uMD8XKC<NVc}6T9hc0BjJwpU+Guu9hDWC?|u;D zL$i3o9V1?wo|tZ_X-QA6pU{+QrM>yVl-DI|8=C4fE&NGVT)sOt#($RKJ;Dhqbi@6| z($Z6YC7BM_G^Mm^v}D2#|2h`_n;0LN#S`u<e`{%R!|$@xe0O$?kB#wjvv{6Minj$V zD0Jh6M>jRprCS<Lm|RzvYB_z}`Kj7At>pqY-XGP!=qNmL<XxXiH)?bU%vh!83QuWB zP3_YB`TdJZh{%^zn`}(AB!jtEgzECw_Aeb!C+p;K>0o##3P+b%lV32P+-r%cZ81JY zJl(8WX`8Mrh0YVtOkQg$)l}0qA(+F=gw2e_&W`cRV|;F*J2$IIH^dwk#P}^SzA(lY z#dy1)Q&v7|NlaZD<B!Dn@)+;P;stJ%pDZgHx-Lu2cN=1SV~lU|SE?<q#?-Ab{zi;% zi}CGQyufw(eadSqI6(K+BB<6<0GA1~jNt5lILimlAq#i@=JHaHrBm(lf+N>5aQxy? z5ZXA3%?8Gn7ufP$t+);}x4)i~m7V3tAF(Iv)A-;(&DP}FFDsBHcLn;%fko#Kj!M>O z6?CS{Q${#d%+zDmqQ&EAc2}Igbzo5gHK6YG%ru&T2^y{HEhCX=`%7cch_zv5ryV34 ze+)BxP=*G)v*WZuL%MlWG+1-1-0?%?(nsdE#d~ZYJZzwNnL_9+<9S@jnN2k814Dd7 zXooYqW<M;%2ZnYyvu*Yxw0i^6D|C<$+_yMTA)LuKPJ@_mcwgDa30Dg<HvRQ!lYf{T z%3QZ#Jn)G=G!{QPkSaVeGhhrH6{b`&Pz)jt6GBW7{9SP-r&<sG@J@g65koxgJN*}^ zlm|t4h4{e{UMzlSjB{t{zaXBq&7BqH+*!sOWarK@uF`W{P9{(Rmy>ZyE+^wOXn2I9 zb4!_>lH18R`M8~oQ*t{QuTcH&tcZYti^?2Gz(r-825?asr{tnCezpdgi^@19*M)K7 zo1$FxyGaq@IB{+g3m7iWO=287H;Hi)a+4URoEhOv3AcyY@#pq1POQ`Q(Iw!(?O_g- z3u2tx!|eETdl+Yqxjl?yZ;$bZ_Hw`Gr~;3B#r!F`SBw+Sy<(jF+$+YhbFW1Cst8A4 z7vaq4h6q=DncEl<2-p<i6@JdqMO9okSlB$2TsOvP0@saknz${(v2X7<>FD}gZ?I%e zq7mAS>@@grrDUHTBFrg-ja>(?)ES2D`@%_;#9+gRor_L9C)LryoKo1>m2hkvQa=<P z!l{LkEs9{q9|?0>VPm_(E7cp4{#dwPB?*bcjvvPWHga&x{#4jH#*T(t!zzXGAK|>b zV0$B2;BmqnjU;8O!>PQRk`5C-OeG097O>;T8G@}!SC9%fLLX@D!j|`Var9<2u#fbg z3m?yFzfwU6Rl<l{bY@zj6U0gMY9!H#;^>y>7s6<k=OkgYXr5n+lV@8bPqny*!4jP; zjA)5Y5k@1?$Z+0I6{n$8f}P%T0HRw@PZPGG=kSBu(4Q`x8Tvd9LeC*s;3#1mdQL?+ zL(hDkA>3aj2^AQenpDndi_LQURv2xGMs=9{≦uD)z{Kj4*%SXd2Ee)M+<b!ZUil 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 delta 9256 zcmZ9S349gR8O3k*2-1oXLr6?OszoWbR%uNI+SqE;)=IRY)q){}M~ITVkObM(VR1oR zac~y}cT^AsL{LP;T~VSe3a+iKb!lDdZfkq~llj7ZlOOZ$Ip<sMe(#&7?|hrR_1o-T zIoSgXoXc`OT`%|6f?m}n<)Z!d4AOJ3p22z!*R%7!<}Zs&rsq31v8i!l-SoO~>9+By zHs@TP%XjC8XZI~G31yv>o?16;w=uF_6E2f=QEZ)&ux<%o?^~R`D?e;0?VD5R-V1w| zR1A1u&aL%r_03TQx$eUZUf@0oYf4IMKF&~c-KPouS%QC&;9q6%LYEb;FR7@_R(Jin z^Afx;!Fy)#JXa>(FsZ(|H8sAjHQgQ!L3wy+zv4;;Hr>|LI5OSd)X|h~QRigMbptXo z<T~bLcMA&Kf#K|arCEc*Mg59Pn3U$GmXqq+J5p^*)RiOO4GuT=D-M2?5t-`_N${U! z@O*cectd(px~;A)J*9DCORAmr=0;OKp}wK1rLn7pLo?!X-Om%evWxeKC#=8?3!6(z zk2_v69j<FhY1L@S#2x-^BK(8|KQV*nyHR0hX>rpZGt^vnN`n76!N+9q95+_HBWgi` zYY?t&X_}C3Yd&hqgbAs(6UUvNYUt2f&T|c6O<B<pJhJ57m`XQmbO`LSO3xNPvne&T zTMHMI6_pT?E2*KrIn`Dl&AlR2SGc~cbVy3pDdW=7@SY*OdxCRabAq>qpO;kx?Fn^? zc)C@y(lK3G3fwv3U6a?IO10E=OpNBRYr=v=?3@HYFTv*}_<{m=T1FEWCLFF#@aqzM zQGzc{@TK7=`&CrklTeo@_=*I-KZEDF)nR>kQPqYFHP>xS@J$K+M1pS)Z!52;+LBOT zO7N`-zCDBIxt(F3iiR2v(C=vxRBI`K%Y|7+@cuDp`M^13vGZ5$a-sv*V%g`|a>Hd6 zr9oco!BK1;U_5dnTdo@?t^>{OrRP{>XF2jm?6EBCm=BE9ObwGCM~l6<u%UnNF~p-M zed&$o8*L8in5D<+#U~j@ySwAU&i+MB)PTC%v#Zr?s;Jef-ZB!2wwE-<j#wL4w%Y!( z@y9sB2XxVh?_7DpfWd{q4vkii9Rr8;m&<-~p>qu2kuhib(6Cp;_~6(MXFARP!x--y z+u=;F*$;|wuh=dgMDvXU72?2UYn%o#!|=Yc*9%t*GZtm~94Ag=2g#w_6-NEX$A4%n zeso~GO2&tAqQ3D3hq-8A5OHXX9SDNID$Zn7>mdNXGhBP{;D8HG|00!gfX9c55A=Ak z_<;$|C8d8+Jd2r2%I92C#+zj4k}|F`aNI^FPyx4*aY}9@<1}cP$I-c#%udO5WSo3l zN5(0+j*Jgg{ce;eVBlsl2NG~I8K(i<OvWj>nT(&RK_2UIbnXYU6VLt7%~ii^^@JnE zCwqLjI9G=SVCU*EPC~8@<CI(%#+i~i9><^S!tD4u?h6xe(0$R((HAB-*9AH&34g8& z<IFMFg>meQ6MX4zp6v?4nju92cZVOs-C>-R+#SYA$=%`e)gDLR;Bh8#qsNKg<Z;1r z$2FpV-F@2Z@q#exkfKAmQhX1t6yr2;tH-Hg`^wrw8nc7_C3E<U&<134!G~+$*qT2O z?jPIOXz)s%1lSG`u2)G6HsaZ==)`k44H4#G!p25~W8+}@v9Ru)ATqKm5zKg~Fb5QY z>`-{6dPCBm3OA}GA#vF8W9MTd2Zz<qgso$2Vz@Qz2x0t3xF9Fm(Fhj!3t>(}lCrzu zR9>j0M+y&8NkUEn?D%nPV5`zCqrwf>2ig*F+@KNS=&j;?r2kTQ1Pgqgf)IWsjQE0% zNlR2EPNEmRL`R9ETcTeJqgkHc2&4IVjut1+HZRXH;sFLrR4t5XiH;RUBhkos-j5Tf zp;UsM-gD-mTTg!{Y(vj^2e+aBy>Qpi=WzA~4#5IP3fs_g5W*RH=Cek)OeF~w7#);U z&H;<fa-1ZLcDF`#nEX!`Mq?_zlz*)-f8S^tPA<>^_Xi1&==n-_7T6N~N!WV9p$oTO zoGNU+-~fhWV`q#OW+%`%4r93GJWbd-$iaLX^Ixf@MPQxqXq8k(Qi5?J5w`$#t7L*O zm9S2@O(*I}>8a3n74vC|^||sP|LNkyp<9E3Ng~!ut^&9vZ4pi;O-n<kQOzph;8vAX zKw=hioA6aCu}v0+gWFY((KS@*_7K<ncStx|j#N%U5)ptS0b^C-V>{wZVOH`k#aJ(< zilf^?o+gZD3wgRQ8Vi}6Q-sl~oWAXHhs_Y7qS0y@Nm)2E#nD+bXRG9oMT35po?G;= zX290CS;FKwSH9M`+2ZI_%yh%?=kA+}K)~`ifTQtT@ws{kn4=O-z);!F7sh`^?9aSj zAdZgzc`D)7pbLfZpC9|Plje(~M-7^XQI9Rci-c?CM8l|@g!s@KD!W*C7<#;@E)gaM z-5PnRFqPKFqe<Ll;^-E4xv*k`$UsZZk$`APt`H{4Dt!yJ%0qE<{1>Q%TTibPPWJRF zY3TSbR0%i#YlO$L|NXhTRw4!hu2u=R23;>q1^&?AAdZgzbt>WbbK%}7j6dI@=m7V} zP2%YIFH(6E!)(1<BFrdYT&xma>3T%NezWjoC7{>zgvL=JN$@3xSp2@$qGZ9cI9a4- z%hz=HHhcoB{8o`NJ+z(!<u*OZy?=YG+ktY2IC1EE#`nXW!dYr4TN*o+FI9<7T`a)6 zg%9tt1@0~Z1T!uZF7GnBdsM=$k@pJINRlpB3CG6J-Y3ktfNh0JxW%m$9u?c}R|)SL zSxwF=5r&pl(ikcwIZ1FPA;I{Okkjn}VGa?iV2v<7m&Uu|L18rfEM~1RF^nEL)(L+Q z=tRO`i5?PW9xc(s!e}_pj+3t!rUGm<Zna7@=C)QP^ZtlRax&bH3fqWo5Qbyp+f?wF z$bouDv{5D88uPfY4fiHtxFvm3IG)4k%PHK>kf(&X$f%5*#6F?N8jC%yBXCcPP>C(P zXM~dr?^$W+w(y=4CJx;e-t)q?@UT<aW|ipH=of{p(Ju(U$o@BDrvw|OEyD1)mF{I> z8;O^M;n-Ms+k_9(Lxo#a!YyuxFw=u=yGpoi=~sj&b2!jST0^BICkf6rTsZo3%N$z; zyM(ErCSFvp38V36+Uv2#=$Q6KtR1BFr|)(Ju3F`r5=lS+4j;tV<xb%@S8g8Gb8;2G z%8NzsA-wFJpWys1@7u3Q@I@<2mS3M8oGE#n9&Q8n!c^gzI-byNe@qjeq6Zs8F-avF zT_<LS@Ti!pa5ME$r*f8Z!q3tN+S|faQf8_=TYMTvGKV-0Bvawe(FaER1`!COS!J_? z{RYn##|NE#NrUDH(<p2fH&@t?J6C*Wj%FQ$_4GVpf-%xl1{uwgTp&C;<|^DgefT}S zP#o=D*{rAY#nscOqu8yZ7YWa&<<`@Sg%Pc?ON9LvUn-6dy7lxjVH$<a;w~5V;}(cB zrRdhtD};#+Fw#?&527VmC_K{RR|@+{uM#IIx+T3@m^f_YWC@~K&TEBjoiI(;<!k=^ zq}R)Vq%w3Ty+N2jY$RnJqgm1$g>6bmdXu=HbFnx%(XF9Ngo#_6ulXk_|CtJrqmRvW zv+!7zOY~Spw@5=beycD&+*8|(if<EUWAj#uFLv|2U6@^CzIO=Yd%!+%AP!dfonh6g zqF||%JM~zKyM*bxrMO$zs>2t%`Q9VU(ly^@!cldqjX3O9+j8Nt(zofc_<NZc3?{4) zW{fQ1eZp3`oE>)ay<eEsWWFnft#ab9+dJ$kVa9?6;`f~{Otd3hc+%?QhprJ!sa;Fr zwu!n2^?`1?X00$9{o%Y@7j~{LN<AcHot`;TRk(-sfyUdrMXnb|w~=^6c)aXZ8<V<0 z8oG7nQDN)M`f$ht#R1bz8?aa#9uubB{%-}Fq@i2wj|-z&%oD;B5;0FoL$_W$C5-0v zVsH1f1Ps=VXTnb&C_3d?DbMJ!hCe544JQJ-*`AMWbcJT&J5mG3*OJY`8};DB>}(Fl ztZ5&xMa(Xjq4L_5;O~WRuPNmlb@bnG&66KJKk_`$KlV78K27k?JkHMi!sEOze&uoE zvy?Qh@0bW=?-rsLy*!T-Q0Q?2d&b=6r8De&uqb#*)pY8y*?U<S&E9Lb3ZwB}Yp2XM zaV~Cb95M_Vnr)Qr!f5L>)V$`tB8;{}53jmARr04--SWuzssu#7R)VdGuZ6SM76q?M zc}<Ts@eN@#YvP;2X#S5;Z;7W>g}+eWmWFP5{vwQKdHyPl=I41Q--Si%dIx`#F5Dga zcVRS(eODNbSUUs$Ax_)Ki=CljJ)tvHyt95Fe1=MF?+e4Rsc`?)$D}S>5G^+Z`*HMN z5q43~hr%RyPbIn~_(Yih<p3MY5pEU#Teu~*u{7ak`&^h@#Ia02=QhFEM*&|-uwPwR zvv3?)uPgK-9sla$z82>Vjf$y&MEK)}Kl=qA=9=~XjWC-3`^dNA=v6`N^q<(NP8*H} zvAX^%4gL0bwS6Z{AUdlp+ALHce{BELgT`V5+hWU+Mg#np^;~J_0WD_3ArQbXEBV3% z_&=-^NJGaz+K{n78*-1>-+#OBAq^dWHZ0s4w5Krn^}|XK^;X#Rl8Au-b~M~xioPdY zD<2w4<s`(%=Jor+EI|8#WG``I(8<RUgJ%A{g<F+xxC^@Ges2kEY&!^w#5oAi?R9b= zVFIyPqCUbThqH$E6(*0x6pQ17K3k*9&gd&lE^H(CPolI0k@pmvKT5bA9+XyTiEPAh KxPy<-HSvEKS20ik diff --git a/shaders/rt_quad.frag b/shaders/rt_quad.frag index 65f1bdd..17c3861 100644 --- a/shaders/rt_quad.frag +++ b/shaders/rt_quad.frag @@ -372,11 +372,6 @@ Tracing trace_ray(uint volume_start, vec3 starting_pos, vec3 start_direction, fl } } } - /*if (iteration_num == max_iterations) { - end_color_transparent = uvec4(0, 0, 255, 255); - result.end_color = uvec4(0, 0, 255, 255); - result.color_mul = vec3(0.0, 0.0, 1.0); - }*/ result.end_factor = min(min(x_factor, y_factor), z_factor); result.end_cycle = iteration_num; @@ -428,9 +423,6 @@ vec3 get_lighting_color(uint volume_start, vec3 starting_pos, vec4 orig_color_sa Tracing result = trace_ray(volume_start, starting_pos, light_direction, max_factor, false); // add result, if there is a hit the null vector will be added color_sum += float(!result.has_hit) * result.color_mul * max(dot(normal, normalize(light_direction)), 0.0) * (orig_color_sample.xyz * light_color) / (length(light_direction) * length(light_direction)); - /*if (scene_info.infos[light_index] == 1) { - color_sum = float(!result.has_hit) * result.color_mul; - }*/ light_num += 1; if (light_num >= max_num_lights) { @@ -473,13 +465,13 @@ vec3 clamp_to_volume(uint volume_start, vec3 position) { float volume_pos_z = uintBitsToFloat(scene_info.infos[volume_start + 2]); float volume_scale = uintBitsToFloat(scene_info.infos[volume_start + array_descr_offset + color_array_offset - 1]); - float high_x_border = volume_pos_x + float(scene_info.infos[volume_start + 3]) * volume_scale - 0.5 * volume_scale; - float high_y_border = volume_pos_y + float(scene_info.infos[volume_start + 4]) * volume_scale - 0.5 * volume_scale; - float high_z_border = volume_pos_z + float(scene_info.infos[volume_start + 5]) * volume_scale - 0.5 * volume_scale; + float high_x_border = volume_pos_x + float(scene_info.infos[volume_start + 3]) * volume_scale - 0.501 * volume_scale; + float high_y_border = volume_pos_y + float(scene_info.infos[volume_start + 4]) * volume_scale - 0.501 * volume_scale; + float high_z_border = volume_pos_z + float(scene_info.infos[volume_start + 5]) * volume_scale - 0.501 * volume_scale; - float low_x_border = float(volume_pos_x) - 0.5 * volume_scale; - float low_y_border = float(volume_pos_y) - 0.5 * volume_scale; - float low_z_border = float(volume_pos_z) - 0.5 * volume_scale; + float low_x_border = float(volume_pos_x) - 0.501 * volume_scale; + float low_y_border = float(volume_pos_y) - 0.501 * volume_scale; + float low_z_border = float(volume_pos_z) - 0.501 * volume_scale; return vec3(min(max(position.x, low_x_border), high_x_border), min(max(position.y, low_y_border), high_y_border), min(max(position.z, low_z_border), high_z_border)); }