From 08864d7a15e3be1ec598042bbdbdcee64b4d67d4 Mon Sep 17 00:00:00 2001 From: blobt Date: Thu, 9 Jul 2020 09:22:37 +0800 Subject: [PATCH] spotlight --- .vs/shader3/v14/.suo | Bin 31232 -> 31744 bytes main.cpp | 6 +++--- res/shader/test.fs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.vs/shader3/v14/.suo b/.vs/shader3/v14/.suo index ff1feca752a58e2056f3bb922be1842d853b1b7a..06bafc72e54d6d0becd3cddfa21239a47dde112d 100644 GIT binary patch delta 1327 zcmb7E%TE(w5Z`Zifh}yIWs6ln*oLR3yb=`;1(vi?6toKxObiENj3+fUtXwo?L&CwN z2iY-RG*Jl`Z_4@y)X)Q-6c1kHqKWaQkZcSgN}XxDrsWaimrQm#uix*RZ>FZh%q{ky z`zYrgAIEu7=TUYtnGBhky(w0)g{dWrzu`&T8|wNp{*n3M4*yQ9L^rH;c7rw|fhm}* z1emCJB{bKfV1Y~xghZuX%>N?Ganz}{KW_`+_Yg`c3M8ZeY>6@?L*Vjt>n=&ctA*R5QpggXNh6*Jda6-&UX50;#d3bRdX-^s!r&8As{QX^rKS(#7MpoXPRrEwwxS3*?&S!!xzK8Olm8VRhZVjDQWGLSDcIXh=a`of zhq|JgEy?9dk+;RlUySj$I z1vRj==OJvTUuM>cRf#(7rhrobN=yy_%@R6Nm}sc+y$rxn$E83~SSV>}F`0(0p~$Y` zo8t;{G^l^sm=|z*wPA?14Zz&stfk>C_e;$_H3r*Tn#8Qw5DY0{+lVEZ)ey^GyrZzH zq3bfOAi=p%wxjDzY(Y!5_r_Rme4H^|roRYU6gL!%OFF~?kwTos37()RY+tCtR@qJi zK1(Q?w$qc53TrHOFf8rpZrJ7V=2}HYhkJ;$io7#duGx=o-De7IvU_MZue#2}Nx?tr jdN?^Xg}PvWp8g^DNzENObrY2dG&l0_GVHT`;SKf&U}wOa delta 1294 zcmb7EOGs2<6#oA^cbq$V?>OVA<@lJ!Ov6SU6(7muo0494ptnRMX)m%YuVN-LMG%4u zy{DiTloqsT5%{}`0?Ap_#&YA{RnQ_CxC;|O+hLF z6`hI)okV2xk2t_1I&*9&@o?4{nt^9Jaw&wRoiHLw3b)-I(<%@abEz4oM3v@Y@;lTT zd~W%BT3wRN68ipzu+_O2J0NakUIouA}}&lg(`>?C8Ao^_>4;wn3x(eN%@HyL-`gBvMUL+VGsu* zWr?VkJ`TY;JJ>U4|0i$hJT+4@27<+6ulY7!F0o%Z7Gb(n(EaUl9s;~$-bu6r&9B0| zP{|Cxje=0#Dtl3zlVnk@n#m4CctmED%T&*3Q^+1f(h}^LmZ4IZw^Yhk5al!BG@T*n z-jK{6oDXF)t>IOnt*!~~m9@%zYOVxj${`f$EwJ9<0(+qsnhWae9~WkOYC5ySOF!=q z41a$?!Q*y=TVs=BXZ< zD1P|C^Wg1dygr)p^a;`#mQu7vb=$_eC2k5ceE9ga?GO@tpw;5wER_&cMYdWm;fovy zvCw`$)f+k_zWnjGW?I8Io#~jhDBXzC7`H=9L9wr&Tqa$loAi)dq#B=ZkX#@`qz|PV zzV?`=F2X#Rl6_h(~M`~fQRFOW;1HR6(QM~Q!*n+`@} z074dQrYRs7pdu?l$&6z@my<7SoOo#bJ3*wgn?1WeMx8v~1{KX!;N@&w*;iw7oQms+ aJlBJF4_oeEF**29Hb|bE#7h;zZs8A>ESRYP diff --git a/main.cpp b/main.cpp index 8972606..b06e04c 100644 --- a/main.cpp +++ b/main.cpp @@ -99,9 +99,9 @@ INT WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _ float ambientMaterial[] = { 0.2f,0.2f,0.2f,1.0f }; float diffuseLightColor[] = { 1.0f,1.0f,1.0f,1.0f }; float diffuseMaterial[] = { 0.6f,0.6f,0.6f,1.0f }; - float lightPos[] = {0.0f,1.5f,-3.0f,1.0f}; - float spotLightDirection[] = {0.0f, -1.0f, 0.0f, 1.0f}; - float spotLightCutoff = 15.0f; + float lightPos[] = {0.0f,1.5f,-3.0f,0.0f}; + float spotLightDirection[] = {0.0f, -1.0f, 0.0f, 64.0f};//把最后一位改成...... + float spotLightCutoff = 30.0f; float specularLightColor[] = { 1.0f,1.0f,1.0f,1.0f }; float specularMaterial[] = { 1.0f,1.0f,1.0f,1.0f }; float eyePos[] = { 0.0f,0.0f,0.0f }; diff --git a/res/shader/test.fs b/res/shader/test.fs index 6524506..ea1bba1 100644 --- a/res/shader/test.fs +++ b/res/shader/test.fs @@ -55,10 +55,10 @@ void main() float diffuseIntensity = 0.0; if(currentCosThta > cosThta){ - diffuseIntensity = 0.8; + diffuseIntensity = pow(currentCosThta, U_LightDirection.w); } - vec4 diffuseColor = U_DiffuseLightColor * U_DiffuseMaterial * diffuseIntensity * attenuation; + vec4 diffuseColor = U_DiffuseLightColor * U_DiffuseMaterial * diffuseIntensity * attenuation *4.0; gl_FragColor = ambientColor + diffuseColor; } \ No newline at end of file