From 82b68490f4d1d9a40ea860706ead8559b9e8d5f0 Mon Sep 17 00:00:00 2001 From: fOuttaMyPaint Date: Fri, 3 Jul 2026 17:21:43 -0400 Subject: [PATCH] fix: give the four newer example renders real material identities MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The gray-on-gray studio look made gn-sdf-remesh, depsgraph-export, wave-displace, and driver-wave read flat next to swatch-grid and turntable. Each now carries one saturated accent from the site's own palette on a shared dark-graphite studio with key/fill/warm-rim lighting: - gn-sdf-remesh: crimson ceramic — the voxel-remesh facets (the point of the example) finally read; the torus now rests on the floor - depsgraph-export: matte graphite input cube beside its evaluated twin in CI-green gloss — green is what ships - wave-displace: deep sapphire gloss with a grazing key on the crests - driver-wave: selection-orange columns, rim lowered to backlight the columns instead of hot-spotting the wall Renders come from each example's own --output path (plus the scratch depsgraph composition); correctness checks re-verified on 5.1.1 and 4.4.3. Heroes, previews, gallery pages, and README alt texts updated. Co-Authored-By: Claude Fable 5 --- README.md | 8 ++--- .../gallery/assets/depsgraph-export-hero.webp | Bin 7458 -> 11936 bytes docs/gallery/assets/driver-wave-hero.webp | Bin 10044 -> 17676 bytes docs/gallery/assets/gn-sdf-remesh-hero.webp | Bin 6340 -> 26840 bytes docs/gallery/assets/wave-displace-hero.webp | Bin 10042 -> 19154 bytes docs/gallery/driver-wave/index.html | 26 ++++++++++---- docs/gallery/gn-sdf-remesh/index.html | 32 ++++++++++++------ docs/gallery/wave-displace/index.html | 21 +++++++----- examples/depsgraph-export/preview.webp | Bin 5096 -> 10630 bytes examples/driver-wave/driver_wave.py | 26 ++++++++++---- examples/driver-wave/preview.webp | Bin 9146 -> 15994 bytes examples/gn-sdf-remesh/gn_sdf_remesh.py | 32 ++++++++++++------ examples/gn-sdf-remesh/preview.webp | Bin 7842 -> 21766 bytes examples/wave-displace/preview.webp | Bin 9018 -> 17170 bytes examples/wave-displace/wave_displace.py | 21 +++++++----- 15 files changed, 108 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index b9b434b..c3d1ce9 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ A slotted-actions Z-rotation turntable keyed through the cross-version channelba -Geometry Nodes SDF remesh: a smooth torus (before) beside its voxel-remeshed result (after) +Geometry Nodes SDF remesh: a crimson ceramic torus with visible voxel-remesh facets, resting on a dark studio floor @@ -95,7 +95,7 @@ and that a `Set Material` node carries the material through the remesh. -Depsgraph-evaluated export: a faceted base cube (before) beside its smooth subdivision-surface evaluated form (after), rendered with EEVEE +Depsgraph-evaluated export: a matte graphite base cube beside its glossy green subdivision-surface evaluated form on a dark studio floor @@ -109,7 +109,7 @@ modifier-applied geometry (exported vertex count == evaluated > base). -Wave displace: a dense grid displaced into smooth standing-wave dunes, rendered with EEVEE +Wave displace: a glossy sapphire-blue surface displaced into smooth standing-wave dunes against a black backdrop @@ -123,7 +123,7 @@ the Z span matches the amplitude, and a probe vertex matches the closed-form wav -Driver wave: sixteen columns whose heights form a sine skyline, each driven by a driver_namespace function, rendered with EEVEE +Driver wave: sixteen orange columns whose heights form a sine skyline on a dark studio floor, each driven by a driver_namespace function diff --git a/docs/gallery/assets/depsgraph-export-hero.webp b/docs/gallery/assets/depsgraph-export-hero.webp index 72533610142eb9faa0569315a5ce07427421dcd3..bdf11a00320a9ebd883e7533c383c7eb0462d5ac 100644 GIT binary patch literal 11936 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 literal 7458 zcmV+-9o^zmNk&E*9RL7VMM6+kP&gnC9RL6jhXI`dDgXu00zN$+jYT3SBO;*n2!P-R ziD_>C=e-U8`Zn@ImS0u!5P9T8F+LcL%3L{;t&1;S3*Io&4$WZOzdiTIi3hbVt^@BkNre z^{a|bntULEZ3H*7R*112QfrmDak!+@>#U&z@qKvwPv&QW2@A&p?K@#8kJTc-=eIKy znpFYI-QB2C$>khDjvr!cUc`eN=qU#)hHaR+v1_8&{5Putwkw$;> zI7e(1OttVY@*r2pp0<@(ut!T_e;?IT?Cvej3k-?Xoux(8gdXN8H26aBNX}p$=Vk1c zQUOe*N-%a z>$bf$({E%8Gq|=YZ|iZE$l?i7)Q2}4fn6N?zqrD-gTbVC%nAw{>>*Ric5R{Qz=K#N z4r9f5`Pq+PXC<(0Apuu@0^eNrL!v!gSjEt|xrSpx+(#44F@tS}U)5Kh6i&t0$#(KD z7F57inDZaNEVKY>i&7o;e{p_J9N|2H#vHN3uy?<5U8!n7&&v1nMTZiHbPk_$H&U}Z zFJpZW|BSY5s8j$yxWcpu-RQ>{-s!9EG6i#R$~-(}U}8x@vC|VNU>+a-9jdlsTWxz%cX@@9Ri4;j)sJ;ZVO+7ZwkXbGONP z)XJv{E%EE`y$swU`sb7&elCmR&6ovnF#~05qMpwyF5w6a5+51IwC@f-bXw&K@!{uN z`!3VTO#w>WM}DCDvA01`Vsh+_w`%X-I!5D)Pvr}1uI`HpHk!WN z#Ahzy1Q_uWv)vO>4-2hx0W<0&_IyVi2}3WCsOxCc?_%Ej%xRtp0cQ>x2QM!FAkz%I zl857DhT9Mxxs1IU8KMaOV509FXb7~m78_2QzDWMwHObO}GQJL%WBH2_0nn} z&Ux2|q@+IZN2SzetpzUMb@Mw_?kyBsfKG>}cf*eRa+NGaLYq9nzjFv5^u6k&_Hihb zgKBUZ29~t2$%(RLjBpu~?Vm77L=bXNKNr@y)v+M~OQ7IU-ofXB^x|9}ttx%Xz79rl z<{BBGG3Py#6whUmspASgs7f8%sx_ZZ16ybw@9rbdGw2gB=t!BON^!u!a%#btDAJF> zuT#t4J&Ry@sdxRNHERVS326m{51o>Dv38@k)+n_o&t-gy77vgK0(>0uXCR7Z8Ht6a z$yOs%%{B`czfRmB^%N-_5PA5Qm+el}x-_c+Q{K@d=Z}9uE~vCjRUbJuB^1=i@mAJ< z&(%KM;rB7p8a|zagrGmz`8fK-Aq~Dhu?RzNkE}ut$D_#ZzbE@-1@lAeEn}-4Xlfe) zZ-c$cc4$dk+HjI^N@~B4AbX@Z{9#*0ukJ9dqYJB80lsU;)*%R5;`VALcJ?1~6`unH zEqR+B^F?v?R%tb$Y?Pw!6|Gc!)iax#GN=L}Ysc0h2yOB8P+&w#YVAfX`ZNyb{RyYppv4d`fsvFk#O;M z(kf+5a+a&2teq@X-ItE`t2asc1(&REUnj}O)*%RO@%4y88+>^SV(Ys8;$90`7}w}s zjIR01J>O@baqt`^(`e(WJuUeU&?uo-)u`|QtzD3^#{o^#(j3#LlL+G%Y3~jVD+-$r z?X1gO5j8c%bxY)ATC}FP8b5J`UuObXT*DkA7}Hz%I^LseJ7p9L$GLXk zS2H#R_YgE~onDg492@7<>x|msxsltk49fEL->LkO&*RXR;%HXm>!UEE)Ih-61Rkwf$|`xQ-OE4|IuRCHxK;#!z)A*12gBp0wy z5J$lX^?IIRwZTexc>q4BR;L53Ojinnn=2>$wYQFY*>hV;V#j z(`AAhlHvGw^SSN++lM2Cpjg;|EAqPw0fhtSf{M69>yFBDt|`bSVLS^PoIjHoA-h%)UUj15#=iJs8+#P{oA9b&UN zDRBC@h8+c6gWqN@YYmR!qh*P3mC+VUXdxvA#|J-LhnG{67!C(9D9NwLDV$83)xAet0TbJv=L+)X;pKC?H5+~etW}y*H%=nlI-yN+oO)@b@o=ckq zLMs)bP9V8l&}_v=%lckgst^c$B3=4aTX4n`$@$9Z?iJf0sJCy6{e=!vg5mJ8;u0HQ zyo&j4;b7fsx~e}^7vA1oj^M2Z6FZb^j zugcXcZN)c`E+ArM1W_Y(YYAC^qQR&iix{NEW8VDc6Jsb+OYX{5?-O1w^$kwo)g}wQ zXjg>ep{kQn>Z=?rxA$+L)AST(2-(g^T}fD`$zpO?b5uRW`8hr0Q2n(}P$5KHK;G@- zmBgD$XQt!t+g>}Kr#ehP=zL6rNm5xqjU>53IP2V;yoc#v@uZjv%VDx4ea_QnFR1=v#oSOW5Y zY+ts+h_04ldhDykF>U0Pe5roezj(5+C?HSmi}umC%9rhn_Qm^R{jsK!uqf?`JO&Fv z-W1-dybR{)w-Z^2!HsbxOZST_0)hnsH=>4|LR6SM#B2z@Y0xx+`P=hxLN?h&`Ck@n zylv1w3SYJ~DEwT-a{aM>_?-?cceZ`8a;+_|(%l34Ye%#WGRcrk!$mGlItJYY_BQAz zvA010)XUi0&N>F&1Msj2ABz}3{3(G*Uvr>!+b;uecAzCnU{VJ~)SIdR0RE)?FiL&T zt@Uzi4Bxh`L0vYadGDg1?pw>kZKNPnR&5$dCaXQW6RVrQBo&>}2hAi~>7tKnvWCNJ#fDKVygR%o>mDogzr4OOv zyA4Z5i1<~Y$+Ve9zyJk-fME(yb7Qc%v~LUV8jM38$pBL^kzn@#;}O$B9#qQjaJB@I9{?~%MJL#_X zsK~mU$k$^fxnddw_(io{k4Cy31kuhgsUV0|8$>nBiAy^A-E~KMbUvK)o0*J2KzARfE5KlFL!i36WGS7C)+h zdk+`nI5V}NP}m7i<I7p~iDNJfiFl7*6z?SKm?g*w0DXmGuqntXY8#F^ zCxLgTXP*Wz-U^3Or1)TuQO!$t?A*}0x@RrUz3(cGJg!AlMLzIW+Xk5X9i;Q7GllG< z0sw9nvw6|vGzIg7DET!4Gf(hcpqk0F&~@ki5Dv`fDk%h0GtPKmNYq0@dIO4{9C@3v zdXhEI-*h-IfI|WlX^c9@qhp*^b7~!9)KdiJc3lK#jn1)d@FP!0?Iq+|eq8Kw{Ul z3+mbI;uBc?{yg0CI9_}t#$#&X2O=j#J?OU;<=dTBm?q|UeD_#x)TV#NRb&LLb~W0) z=tzZ=dW7V#?VD@W#ev14U+zn*3&RBjq2|a)zHmM-&xUE9zA{6 znv&LIf#sU|EosYxOE;=aWVo5BL&${YoPtM$W?c!EucXVv4RbBdH(~M%Qam(iZ@DSP zg>>lQ?jG#Zz*rLD9SzU9z4<0{KY~X0MCsF0wjcYkPZ9<{w8%I5xx)4wSm2Fb4aed_H`0;i*Xh!ud3e#)&tIn+~U7ra>$eqHU}t+ zBe(df^So+O+E;11?j?`=aKGN|6Ec-TMKkOk%pbtYcALuBQ-n0K3vN9#+~}p1KWq(- zfT0Wu3}HesC;LR)3vbWWtNMtkz%`e@9hnh6ZpbR}{^7Jl?09Y;uk$r^2rBIQ5xtG? zhjA_AFCnSpV2E@HB|y9KPgOow`81s>LRMHFp;!QY;N3bO4g4nl1gJm?6_>BTQ-Kfj zeUHK=B6$LSlxpxCXxN@?vA0+t%aGEX!6J~VMB1BjhIDZnRtV^3%=-R6<8A$OblL}L zO@1j!>xxQWoPLZ_U#8YP^VR!UxK&BM1{jj7C>C_*l1J{^yz5HTe}m0x2#f==Sx044 zB^gd-*9J=hyY{x5Si8UoLn-U8nv(B-sZx}ocKp-V=7r4Q1NJF5x^ZE!!_5IhNgtG^ zy(PhvW;|4{*Bqo&SE``J1LlvHK&`PB@w|rz@00w^2;(%xBofDLNUO4!^~pO4{9#44 zWJ)}@O~qr+^TM)G<&>ZD>MAVB1k$v213Z$+Qar8kh!o+2n!({ht?#0QwiuMF` z@Y-G72E`}Hex)wu+boCEl17a4e4D1&__3@h8`%`UR&8&lLeQGce%)Tmt|_8mR3G;( z)iUQV_R-AaLz61&i>=%^x>cx#SM@;jtII4{;7QGLp7X}le6z6a`gri1j~GjrPB%3V zOPd0nObSnLJ&6P}IVSBZuuH`;`@RQJ3Z}pbgL^R}z%2(^D}9_5S%%E!&TDha0vb8l zAb16%oP;5Uczw(|h*ZY1s@w+&EsbKrLvR?cMA3l{{3Y!^IkF7!#zO zrP~I&h4)V=G0)AQGHY!`isugyx*gOg{js_BUN$0Ngv+BlK^-&pG;?^$M5m`>$yDOh z#OAwqvrCoFme^Nokpo;6;^}S`yZ%9pDCKLfMXuo9ZD~|_m#4{Fk&{}|joWojL`>R- z;h)m?sk`PG_*?KB=h!lrjo3w2pJF+$0;t5LYo633h70z=1_c^`rYbiuNV*#CfDgmH z;3=&N)ItT7of&e5yo`3U0%z>rF+;TujaU`xuqXVj!$iSZ&a5%Zw#xco?&8^{xH7q# zu0*ff{UIQ{_aGvWhX$HqoJ@IF;vKE63bcgRmGE9Rq75%R_2j~Z5ino0V;~MXJ^eOz z9K#}UsNGG&kxd<`GD6%+G=&{Q2p>Kgi^oZ52Q53BH6;~4BPcxCg)JEg+!Tz)h@P6I zLdACbyxalb6AGB5v6CZ%ehA(X&|fnvy>Ej(F%$!LV)&f;zDurJFI&rC`gl!C_2%&nCOJuq>aV-g}DM&iBx0 zR#-C~>7BdXflW}G7L@7~{3wxhCj}eYp*~_|gcdSZ$>!B334^FMYYT|lclX6ca~l-^ zqCR&1Yp)bM{B!Vuu=1TGO1s)z$EWx7Q-p7>I9t9cVkbo`2!cLsQ*Nn6U&9)oK>hor zC;Mp!cGeGiOQLf*g3gFm`-BO+PHrRpcX@7$!T@x$e9A`$FQ1L=#y!&X>`K3t zd0Xo8x7uWJ=+zI4ndv;R4P;O5g9|H9sr8+UmY4{@omQ9%z6|b0`<8Xy{GH8PCj`2u z+WB&gdV3NuI!w0=ZF=}>X6&;gg^JuKwq1 zSgYI)IVKeuyovtP!MHD9xAYZQ?)QWoJ4+6MwGb7CFpvgKo*@lyN`F1y{sx*J4fvZ z)nJMP5fgpgjlDWhg+jwyL z8}+6708>Ke4@84YKu#or=d~}I50JmmA8=3uM0AI<^1x3vrz}AOs9l>J=gWY)8Oe%> zc1leXMB;s0<1rt1z)n>Hh*MG)4d)_*TO-#4bPM@9xN`Ua(21FerW*lM-c|j3YKTC< zs1<}XDT zG-oLVWlQShe=UDM3UO5NioJvc1mymMVRgceQ1MUJg4RhIm_zZJZG#hYkgMYgZYm%@KcSf>85YAV#S>EtOP(+N z(-v#Ys`y!zg#D_s9F0`F#`a36Yw1b|?uh#R>BYxoAAb@QUYsw9mjcrn(36$OSZne# z2)UZ}u+b^@%XCO>Es(;~y`#No&Z-vs_rNga^qit8q^pxVHLB_MWEsf2_~DdzpodX0 ze##v^>Gj%kV476R&1O0T^6ZV0)yk>JQtjcv zgo~|Y-vwL3$#fM4i3_mj&o*vOn^1UArTCJK&Q`037$%`L!!dmZpyo)Ty5TgpmgRIA z%GgmYNA&`MJ>X=hwZ0|8f#N+)YOvE!w8>3COj`&6{FY z*q3;;0qjSfz`o053rv}i$sB_@8n!@q>BLRW8S&9!()6phK#v=J%6ircgM z=3kcdFtqxbI>a3NJl5hn`rm!0%51;*@#{U3CyaaYUk2d?N-&W6Ga7DBQ5YH?%pm3_ z0?kz1KLFzrw0P!8rgPrZ^J}2}FiWpseB2)3r$K-mEv!db%>|c!r(%7Zt*}V-zX*V0 zCY_rX+|wS6WJ(&Liz8^-!W# zaw$a}fpq2B{=-&Aw`)rFt0UIhc>mXt$ov7S!&CnS#iYA>^kX=9tRJ2PDR}(i@4Wi{q zp3DP2b1b4N7E#`sh-JU|>C{~fQqgqX{161cX8?O_m#vP*2hmFf$BWI91R85}5CHuN z$U=H!wv&-ycQnu*n|X8O+LpOh??%cVJoyK*D<$H52CXymDaK2E<+OHh=hD}!edwVP z1udgflwk8*hT*j66iqVty1kSWC%hm_^kexj2vh3eGV!PhzPp-lYEO8xqd)A0nx)u0 zW7C`JIDvWY{Oe&+jl{CKTxS!2)Ae&ivu<9U*iHaNWs7kxF|jc6eny!IoohV62*pZ9 guL(H2P-B7y%?O8=evR3vM>Hq?v0=%b00000067|61^@s6 diff --git a/docs/gallery/assets/driver-wave-hero.webp b/docs/gallery/assets/driver-wave-hero.webp index da69c4269dad9c98492c9d7231c45ae63424fcaf..74e638d0b6f61b2eea8e172ba0a910061c4cd54d 100644 GIT binary patch literal 17676 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 X(F|e{h6&*veHXS8P+jR@*QoFSuxmDo literal 6340 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 Gk^lhSp%#q* diff --git a/docs/gallery/assets/wave-displace-hero.webp b/docs/gallery/assets/wave-displace-hero.webp index 192c620ed1049a94e90992be1921d6e30d974ff6..ffa6409afe485de89d75dfd0c8befa4223b4ffdd 100644 GIT binary patch literal 19154 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 JT`&OPe*m0a`-}hp diff --git a/docs/gallery/driver-wave/index.html b/docs/gallery/driver-wave/index.html index 3bffc92..dfb2590 100644 --- a/docs/gallery/driver-wave/index.html +++ b/docs/gallery/driver-wave/index.html @@ -288,8 +288,8 @@

Source

mat = bpy.data.materials.new("ColMat") mat.use_nodes = True bsdf = mat.node_tree.nodes["Principled BSDF"] - bsdf.inputs["Base Color"].default_value = (0.62, 0.68, 0.78, 1.0) - bsdf.inputs["Roughness"].default_value = 0.45 + bsdf.inputs["Base Color"].default_value = (1.0, 0.26, 0.012, 1.0) # selection orange + bsdf.inputs["Roughness"].default_value = 0.32 objs[0].data.materials.append(mat) # shared mesh -> all columns # columns stand on the floor: lift each by its DRIVEN half-height @@ -308,26 +308,38 @@

Source

fmat = bpy.data.materials.new("FloorMat") fmat.use_nodes = True fb = fmat.node_tree.nodes["Principled BSDF"] - fb.inputs["Base Color"].default_value = (0.55, 0.57, 0.62, 1.0) - fb.inputs["Roughness"].default_value = 0.9 + fb.inputs["Base Color"].default_value = (0.055, 0.06, 0.07, 1.0) # dark graphite studio + fb.inputs["Roughness"].default_value = 0.5 floor_me.materials.append(fmat) scene.collection.objects.link(floor) + wall = bpy.data.objects.new("Wall", floor_me.copy()) + wall.location = (0.0, 9.0, 0.0) + wall.rotation_euler = (math.radians(90), 0.0, 0.0) + scene.collection.objects.link(wall) world = bpy.data.worlds.new("World") world.use_nodes = True - world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.045, 0.05, 0.06, 1.0) + world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.008, 0.009, 0.012, 1.0) scene.world = world - key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1000.0; key.size = 6.0 + key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1600.0; key.size = 5.0 + key.color = (1.0, 0.97, 0.92) key_ob = bpy.data.objects.new("Key", key) key_ob.location = (-4.5, -5.5, 6.5) key_ob.rotation_euler = (math.radians(46), 0.0, math.radians(-33)) scene.collection.objects.link(key_ob) - fill = bpy.data.lights.new("Fill", 'AREA'); fill.energy = 350.0; fill.size = 8.0 + fill = bpy.data.lights.new("Fill", 'AREA'); fill.energy = 260.0; fill.size = 8.0 + fill.color = (0.8, 0.87, 1.0) fill_ob = bpy.data.objects.new("Fill", fill) fill_ob.location = (5.5, -4.0, 3.5) fill_ob.rotation_euler = (math.radians(62), 0.0, math.radians(48)) scene.collection.objects.link(fill_ob) + rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 480.0; rim.size = 5.0 + rim.color = (0.75, 0.85, 1.0) + rim_ob = bpy.data.objects.new("Rim", rim) + rim_ob.location = (0.0, 6.5, 3.0) + rim_ob.rotation_euler = (math.radians(-78), 0.0, math.radians(180)) + scene.collection.objects.link(rim_ob) cam_data = bpy.data.cameras.new("Cam"); cam_data.lens = 45.0 cam = bpy.data.objects.new("Cam", cam_data) diff --git a/docs/gallery/gn-sdf-remesh/index.html b/docs/gallery/gn-sdf-remesh/index.html index 7c2ae9e..29bd3b5 100644 --- a/docs/gallery/gn-sdf-remesh/index.html +++ b/docs/gallery/gn-sdf-remesh/index.html @@ -246,14 +246,14 @@

Source

def build(): bpy.ops.wm.read_factory_settings(use_empty=True) - bpy.ops.mesh.primitive_torus_add(location=(0, 0, 1.0), major_radius=1.2, minor_radius=0.5) + bpy.ops.mesh.primitive_torus_add(location=(0, 0, 0.55), major_radius=1.2, minor_radius=0.5) obj = bpy.context.active_object for p in obj.data.polygons: p.use_smooth = True - mat = bpy.data.materials.new("Clay"); mat.use_nodes = True + mat = bpy.data.materials.new("Ceramic"); mat.use_nodes = True b = mat.node_tree.nodes.get('Principled BSDF') - b.inputs['Base Color'].default_value = (0.45, 0.55, 0.85, 1) - b.inputs['Roughness'].default_value = 0.45 + b.inputs['Base Color'].default_value = (0.42, 0.028, 0.045, 1) # crimson ceramic + b.inputs['Roughness'].default_value = 0.22 obj.data.materials.append(mat) return obj @@ -262,23 +262,33 @@

Source

sc = bpy.context.scene fme = bpy.data.meshes.new("Floor"); bm = bmesh.new() bmesh.ops.create_grid(bm, x_segments=1, y_segments=1, size=30.0); bm.to_mesh(fme); bm.free() + fmat = bpy.data.materials.new("Studio"); fmat.use_nodes = True + fb = fmat.node_tree.nodes.get('Principled BSDF') + fb.inputs['Base Color'].default_value = (0.055, 0.06, 0.07, 1) # dark graphite studio + fb.inputs['Roughness'].default_value = 0.55 + fme.materials.append(fmat) floor = bpy.data.objects.new("Floor", fme); bpy.context.collection.objects.link(floor) + wall = bpy.data.objects.new("Wall", fme.copy()); wall.location = (0, 9.0, 0) + wall.rotation_euler = (1.5708, 0, 0); bpy.context.collection.objects.link(wall) w = bpy.data.worlds.new("W"); w.use_nodes = True - w.node_tree.nodes["Background"].inputs[0].default_value = (0.05, 0.06, 0.08, 1); sc.world = w - aim = bpy.data.objects.new("Aim", None); aim.location = (0, 0, 1.0); bpy.context.collection.objects.link(aim) - cam = bpy.data.objects.new("cam", bpy.data.cameras.new("cam")); cam.location = (0, -6.5, 3.0) + w.node_tree.nodes["Background"].inputs[0].default_value = (0.01, 0.011, 0.014, 1); sc.world = w + aim = bpy.data.objects.new("Aim", None); aim.location = (0, 0, 0.55); bpy.context.collection.objects.link(aim) + cam = bpy.data.objects.new("cam", bpy.data.cameras.new("cam")); cam.location = (0, -6.5, 2.2) bpy.context.collection.objects.link(cam); sc.camera = cam c = cam.constraints.new('TRACK_TO'); c.target = aim; c.track_axis = 'TRACK_NEGATIVE_Z'; c.up_axis = 'UP_Y' - for nm, loc, en in [("K", (-4, -5, 7), 900), ("F2", (5, -4, 2), 350)]: - ld = bpy.data.lights.new(nm, 'AREA'); ld.energy = en; ld.size = 5.0 + # key, cool fill, warm rim + for nm, loc, en, sz, col in [("K", (-4, -5, 7), 1100, 5.0, (1.0, 0.98, 0.95)), + ("F2", (5, -4, 2), 220, 7.0, (0.85, 0.9, 1.0)), + ("R", (2.5, 6, 4), 700, 3.0, (1.0, 0.72, 0.45))]: + ld = bpy.data.lights.new(nm, 'AREA'); ld.energy = en; ld.size = sz; ld.color = col lo = bpy.data.objects.new(nm, ld); lo.location = loc; bpy.context.collection.objects.link(lo) lc = lo.constraints.new('TRACK_TO'); lc.target = aim; lc.track_axis = 'TRACK_NEGATIVE_Z'; lc.up_axis = 'UP_Y' sc.render.engine = 'CYCLES' if engine == 'cycles' else get_eevee_engine_id() if sc.render.engine == 'CYCLES': - try: sc.cycles.samples = 16 + try: sc.cycles.samples = 32 except Exception: pass else: - try: sc.eevee.taa_render_samples = 16 + try: sc.eevee.taa_render_samples = 64 except Exception: pass sc.render.resolution_x = 1280; sc.render.resolution_y = 720 sc.render.image_settings.file_format = 'PNG'; sc.render.filepath = path diff --git a/docs/gallery/wave-displace/index.html b/docs/gallery/wave-displace/index.html index 0f8c29b..2968fbd 100644 --- a/docs/gallery/wave-displace/index.html +++ b/docs/gallery/wave-displace/index.html @@ -284,24 +284,27 @@

Source

mat = bpy.data.materials.new("WaveMat") mat.use_nodes = True bsdf = mat.node_tree.nodes["Principled BSDF"] - bsdf.inputs["Base Color"].default_value = (0.62, 0.68, 0.78, 1.0) - bsdf.inputs["Roughness"].default_value = 0.35 + bsdf.inputs["Base Color"].default_value = (0.012, 0.09, 0.38, 1.0) # deep sapphire + bsdf.inputs["Roughness"].default_value = 0.18 obj.data.materials.append(mat) world = bpy.data.worlds.new("World") world.use_nodes = True - world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.045, 0.05, 0.06, 1.0) + world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.008, 0.009, 0.012, 1.0) scene.world = world - key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1400.0; key.size = 7.0 + # grazing cool key picks out the crests; warm rim from behind + key = bpy.data.lights.new("Key", 'AREA'); key.energy = 2000.0; key.size = 6.0 + key.color = (0.9, 0.95, 1.0) key_ob = bpy.data.objects.new("Key", key) - key_ob.location = (-5.0, -6.0, 6.5) - key_ob.rotation_euler = (math.radians(48), 0.0, math.radians(-35)) + key_ob.location = (-6.5, -5.0, 3.2) + key_ob.rotation_euler = (math.radians(65), 0.0, math.radians(-50)) scene.collection.objects.link(key_ob) - rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 600.0; rim.size = 5.0 + rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 1300.0; rim.size = 4.0 + rim.color = (1.0, 0.68, 0.38) rim_ob = bpy.data.objects.new("Rim", rim) - rim_ob.location = (4.0, 6.0, 4.5) - rim_ob.rotation_euler = (math.radians(-55), 0.0, math.radians(150)) + rim_ob.location = (4.5, 6.5, 2.6) + rim_ob.rotation_euler = (math.radians(-68), 0.0, math.radians(148)) scene.collection.objects.link(rim_ob) cam_data = bpy.data.cameras.new("Cam"); cam_data.lens = 50.0 diff --git a/examples/depsgraph-export/preview.webp b/examples/depsgraph-export/preview.webp index 2d22c72b4dfd455bb9d6d79c203c6646ed8299b8..511652d4781c4c4dfe869b0773647bc95c8ec1b3 100644 GIT binary patch literal 10630 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 literal 5096 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 K000000000kKf<5@ diff --git a/examples/driver-wave/driver_wave.py b/examples/driver-wave/driver_wave.py index edf5423..f17fa86 100644 --- a/examples/driver-wave/driver_wave.py +++ b/examples/driver-wave/driver_wave.py @@ -85,8 +85,8 @@ def render_still(objs, path, engine): mat = bpy.data.materials.new("ColMat") mat.use_nodes = True bsdf = mat.node_tree.nodes["Principled BSDF"] - bsdf.inputs["Base Color"].default_value = (0.62, 0.68, 0.78, 1.0) - bsdf.inputs["Roughness"].default_value = 0.45 + bsdf.inputs["Base Color"].default_value = (1.0, 0.26, 0.012, 1.0) # selection orange + bsdf.inputs["Roughness"].default_value = 0.32 objs[0].data.materials.append(mat) # shared mesh -> all columns # columns stand on the floor: lift each by its DRIVEN half-height @@ -105,26 +105,38 @@ def render_still(objs, path, engine): fmat = bpy.data.materials.new("FloorMat") fmat.use_nodes = True fb = fmat.node_tree.nodes["Principled BSDF"] - fb.inputs["Base Color"].default_value = (0.55, 0.57, 0.62, 1.0) - fb.inputs["Roughness"].default_value = 0.9 + fb.inputs["Base Color"].default_value = (0.055, 0.06, 0.07, 1.0) # dark graphite studio + fb.inputs["Roughness"].default_value = 0.5 floor_me.materials.append(fmat) scene.collection.objects.link(floor) + wall = bpy.data.objects.new("Wall", floor_me.copy()) + wall.location = (0.0, 9.0, 0.0) + wall.rotation_euler = (math.radians(90), 0.0, 0.0) + scene.collection.objects.link(wall) world = bpy.data.worlds.new("World") world.use_nodes = True - world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.045, 0.05, 0.06, 1.0) + world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.008, 0.009, 0.012, 1.0) scene.world = world - key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1000.0; key.size = 6.0 + key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1600.0; key.size = 5.0 + key.color = (1.0, 0.97, 0.92) key_ob = bpy.data.objects.new("Key", key) key_ob.location = (-4.5, -5.5, 6.5) key_ob.rotation_euler = (math.radians(46), 0.0, math.radians(-33)) scene.collection.objects.link(key_ob) - fill = bpy.data.lights.new("Fill", 'AREA'); fill.energy = 350.0; fill.size = 8.0 + fill = bpy.data.lights.new("Fill", 'AREA'); fill.energy = 260.0; fill.size = 8.0 + fill.color = (0.8, 0.87, 1.0) fill_ob = bpy.data.objects.new("Fill", fill) fill_ob.location = (5.5, -4.0, 3.5) fill_ob.rotation_euler = (math.radians(62), 0.0, math.radians(48)) scene.collection.objects.link(fill_ob) + rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 480.0; rim.size = 5.0 + rim.color = (0.75, 0.85, 1.0) + rim_ob = bpy.data.objects.new("Rim", rim) + rim_ob.location = (0.0, 6.5, 3.0) + rim_ob.rotation_euler = (math.radians(-78), 0.0, math.radians(180)) + scene.collection.objects.link(rim_ob) cam_data = bpy.data.cameras.new("Cam"); cam_data.lens = 45.0 cam = bpy.data.objects.new("Cam", cam_data) diff --git a/examples/driver-wave/preview.webp b/examples/driver-wave/preview.webp index 5934bbb191e4e03a5c03301af6946b21a6cc30e7..be459532bbfb90c547abab8c20e0f4b320e261aa 100644 GIT binary patch literal 15994 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 literal 9146 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 G!v6rz|C@LK diff --git a/examples/gn-sdf-remesh/gn_sdf_remesh.py b/examples/gn-sdf-remesh/gn_sdf_remesh.py index c05907e..071b57f 100644 --- a/examples/gn-sdf-remesh/gn_sdf_remesh.py +++ b/examples/gn-sdf-remesh/gn_sdf_remesh.py @@ -43,14 +43,14 @@ def build_remesh_via_sdf(voxel_size=0.1, threshold=0.0, material=None): def build(): bpy.ops.wm.read_factory_settings(use_empty=True) - bpy.ops.mesh.primitive_torus_add(location=(0, 0, 1.0), major_radius=1.2, minor_radius=0.5) + bpy.ops.mesh.primitive_torus_add(location=(0, 0, 0.55), major_radius=1.2, minor_radius=0.5) obj = bpy.context.active_object for p in obj.data.polygons: p.use_smooth = True - mat = bpy.data.materials.new("Clay"); mat.use_nodes = True + mat = bpy.data.materials.new("Ceramic"); mat.use_nodes = True b = mat.node_tree.nodes.get('Principled BSDF') - b.inputs['Base Color'].default_value = (0.45, 0.55, 0.85, 1) - b.inputs['Roughness'].default_value = 0.45 + b.inputs['Base Color'].default_value = (0.42, 0.028, 0.045, 1) # crimson ceramic + b.inputs['Roughness'].default_value = 0.22 obj.data.materials.append(mat) return obj @@ -59,23 +59,33 @@ def render_still(obj, path, engine): sc = bpy.context.scene fme = bpy.data.meshes.new("Floor"); bm = bmesh.new() bmesh.ops.create_grid(bm, x_segments=1, y_segments=1, size=30.0); bm.to_mesh(fme); bm.free() + fmat = bpy.data.materials.new("Studio"); fmat.use_nodes = True + fb = fmat.node_tree.nodes.get('Principled BSDF') + fb.inputs['Base Color'].default_value = (0.055, 0.06, 0.07, 1) # dark graphite studio + fb.inputs['Roughness'].default_value = 0.55 + fme.materials.append(fmat) floor = bpy.data.objects.new("Floor", fme); bpy.context.collection.objects.link(floor) + wall = bpy.data.objects.new("Wall", fme.copy()); wall.location = (0, 9.0, 0) + wall.rotation_euler = (1.5708, 0, 0); bpy.context.collection.objects.link(wall) w = bpy.data.worlds.new("W"); w.use_nodes = True - w.node_tree.nodes["Background"].inputs[0].default_value = (0.05, 0.06, 0.08, 1); sc.world = w - aim = bpy.data.objects.new("Aim", None); aim.location = (0, 0, 1.0); bpy.context.collection.objects.link(aim) - cam = bpy.data.objects.new("cam", bpy.data.cameras.new("cam")); cam.location = (0, -6.5, 3.0) + w.node_tree.nodes["Background"].inputs[0].default_value = (0.01, 0.011, 0.014, 1); sc.world = w + aim = bpy.data.objects.new("Aim", None); aim.location = (0, 0, 0.55); bpy.context.collection.objects.link(aim) + cam = bpy.data.objects.new("cam", bpy.data.cameras.new("cam")); cam.location = (0, -6.5, 2.2) bpy.context.collection.objects.link(cam); sc.camera = cam c = cam.constraints.new('TRACK_TO'); c.target = aim; c.track_axis = 'TRACK_NEGATIVE_Z'; c.up_axis = 'UP_Y' - for nm, loc, en in [("K", (-4, -5, 7), 900), ("F2", (5, -4, 2), 350)]: - ld = bpy.data.lights.new(nm, 'AREA'); ld.energy = en; ld.size = 5.0 + # key, cool fill, warm rim + for nm, loc, en, sz, col in [("K", (-4, -5, 7), 1100, 5.0, (1.0, 0.98, 0.95)), + ("F2", (5, -4, 2), 220, 7.0, (0.85, 0.9, 1.0)), + ("R", (2.5, 6, 4), 700, 3.0, (1.0, 0.72, 0.45))]: + ld = bpy.data.lights.new(nm, 'AREA'); ld.energy = en; ld.size = sz; ld.color = col lo = bpy.data.objects.new(nm, ld); lo.location = loc; bpy.context.collection.objects.link(lo) lc = lo.constraints.new('TRACK_TO'); lc.target = aim; lc.track_axis = 'TRACK_NEGATIVE_Z'; lc.up_axis = 'UP_Y' sc.render.engine = 'CYCLES' if engine == 'cycles' else get_eevee_engine_id() if sc.render.engine == 'CYCLES': - try: sc.cycles.samples = 16 + try: sc.cycles.samples = 32 except Exception: pass else: - try: sc.eevee.taa_render_samples = 16 + try: sc.eevee.taa_render_samples = 64 except Exception: pass sc.render.resolution_x = 1280; sc.render.resolution_y = 720 sc.render.image_settings.file_format = 'PNG'; sc.render.filepath = path diff --git a/examples/gn-sdf-remesh/preview.webp b/examples/gn-sdf-remesh/preview.webp index 7aa53d428d880e06cdb9c5f0a7b30c851a8d350a..f5823e03c170acd626b36ed56e5ef05499cd34ab 100644 GIT binary patch literal 21766 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

{kaoX|Wr#^be2%C^glLA*itLS;EL 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 literal 7842 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μU00d(!1XRkJ zg3qw)yVG-wV6WfhVxhDm-04R9`~aiI@@*mtmDXSTJC|P5y}+3=Bfi#C;}&(`e>A>4 zAX*lljf3c+{W?baIS!Ot0A>>rORfj~&5M1#zRKj%Gcm}72-&YtR(Bcll)ZJd8Zqw< zBfd?nB6Q;W0udttTxmBQ`jlzI(3LGY98|6!a4bItMYRImCowkQt(S6=2-BmG)Fi;f zZx%7#2kG8s{-=6sMiHR?NeZqP6f$+(d$d6I8W@h#`wI? z_kl@}w?QYEV1w)HYq)*}LoPc@-xx-{IT*>7yI41h&g5r4UQT0J5li*v=br`uxgnmNqK4A&o)fP4R09h$&Uz zsR==+J#?Cm9SCk_h3VH8;WTiK@}w+be)lj0d$($A&hzgK*A$Q(9 zXh4Q^?uYw5nH_3D?Q)#qVJcSxu(W#_0-FK87Bz8fY$~Co#iyV;0S2?$-CkR@DeZX?yV^< zFdMOz>uLSM{AEchD)<(sO7Af3+A1$q`grM+ydx#@960cM@2Lg2wLl`EzP`%vE=noS ziFM&LQvPfK!95$sj+6`c zp{%O^>Xm1f%8H8|_AfJ`-8F=hr?sv3E!vb30s`DJd3masPK50jc?=8ZXm-vkemoO8 z)+61t%P!b%K{_{qhw@+nTyQeCWfJXE*hv7+7gJwLQ#HeyiXu!uxM@B&v?p6{AlILV zy@7>5lz5FIMb5FL=OpkP7gCa~TK!yDKr(BUfV#bT8ZQ*|4@Qa306%iN&teU-U1ZGG z8-Sro|K!;m&mLjmCRXK1xtMM!72G-6%@>0eY9h4Muqba4GfQ(;9|@{qaIjC9zQ@kB z>h(4>Wn-%+2@`UJKA$GU)`#+L*?6d71a4b z$Fa}Y9<-^gg{~HhO4K2r_i4%);FJQ!L?kg=_7uXwe5fk)J0B4;c<-+|?&w*#+D%K? zU4NtqYGr?4xm*WyU=K|;r(kGsa9w!Y;DgJwJln|vuaG6v5j;OUTGUMQn$hteU#GmA z_ru~2#U}fPJjQ!oD>o017Ug5k%i;QPzCID;R{Sw3;G!?k0HHA*gKXnzHO!_GRqOgV0!;a?z5+xpTsb#N-F6~LZR zbndU(Im$CIQ4MV8TWUyKNu{8PoCQ$(o5Vc>L;_>_PytjldO$K2!sQA%Q5XP#CT2@T zd4vi|R>!^qrldTZyrvcks>`R}02n@Pq-w73n~1Smpa%0Y^gZd}l>uN}0Xx$y zA17^Y9;Q!kj#q?RC%xT|J}SmTIf;v|pbY#`0!GnhXSeDGad-5{H0kiszySGMEQ%%9 z;df4l>f7acn#zqve3h(FENpd}RWGOln$nv~I+X*tDR09PvGvt6QINVo2Hnhx?`bm) zxNw-m^QwD8qPN9ceS>ZL<%U?6Kvyyl00M|_=~jLMQ=O28&aX$Q$diIG@fP#KKoFQD z015PyFVD<$vQ0iWRELR{35?36Q)3L39I5Ytb!;>kA?6GZUW!h0Ez#Y3y*(5W&L;w1 zq}Xbe%At~@Z7xx{e>G@5Z5K}nT!aI!E=_ibxag$~)g0pSONQ4GMhNd~5qZ!60MQ@} AO8@`> diff --git a/examples/wave-displace/preview.webp b/examples/wave-displace/preview.webp index c5da19a98679b9f712ba908847d4ac1ee9aebe7d..fa11060e6a5c64234ddedc5c954f177231e5c95f 100644 GIT binary patch literal 17170 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 WmfWNV;*!2^3}1FFYUrQ<0002enq!Cn literal 9018 zcmd^jQ*$K@5ao@nNhY>!W8zF~OeVH%+sTAC6Wh75abw%I?PTKYx3zfLpRoOOUb?IM zRGmK6ttulW#ZCbLXi17GYbx`SQvZjQ2O+W{=xd=1A%6%F$4Qb?(NYxnwrT_5qO9!S z5pY)KfpZb1+FyFp>n`9jSLT)gr<%n0N2iS1+^>_07d(Tu(u=RAqX56#uRSg-o2!xd zBa$Lxzq{^jKS1~Qo3$98)(@Y@pDV(ZIhOw5XI*8?m)z$7ZIY*+Ev<>{dm7)-ZFZ0U zpTO;>XvFLik5m(lC0ihg%z4898DFt!i44=s{CL{EFC-Ig&ierQf6+rI<{T{idExr? zRf7LdnrNuzeD~tBE%3q=_pUMAo^53Lrn`Ud|7IZSzR`buea%+CBAQWq)s#CSN>vDp zU!QQpA^6c$i~LWvhlMZ@&;CLa+NOR~sOy`2iiX@x2-y`fBArwVj!L~wPX5c&cH>ie ztL~0-k`;?s^;1i|{i_=e;8ZZ$=p7C#mzjcu;c#C-?BOYQh`t!9g+ zonZ3ZaEB6xXpYf5knWq2OuvXjw0nxwT45kx^eFP?HlJ~QxML{pudFUs5nYnUbbo$j zI-;WuBM!^@PbRQTz)7POJ&xcB9DTQ^4JDzENditZ3z6bOU7q=%itjXK;Am?EzBrJ` z;NH&!eJj$0Nd-?m{fb2#u%)GT)A6`l=DD((;_WGC3wHVZ1UttBg+obx>{=p|DUhVu z5ER|D)J4A}cbQ(N^IMdNH9y-DvFL&BBj1)ovFsz1nsZndj&kGqj%yA;*339OrSAHZf6Dv9w zqWXgyGYi2GQ?hRKC%uP71$7+a#uH)BzYV@!c=M~c7&GdrjI!8N$oI{D%91Z)mD6y;b|I%i&ajFvVMe^X@fj5u?q5ZJ`k6NVR5_Ed zze9%{O&REw$3*PiP;J9)Vzzj#Q}}XGFF-9#PNmL`+8khH%bhi7t)6yjJh90w_XZM9 zrO%yF<*krV|L=BTS1aY9F!BOvrmZC2S~OH&;8l@qIr9@_(zF&Mc^$xubfR1>knFH6 zoG(+gfo@f|SMeh-mBzD82Uigz;G@sL=|u1kT0YD1LcTn!iKXfv3$rN20yxtYl|lqX z0~-YwRm52b9oh-`XM5n7{AVnSI$)vO+rSf*)hD&(qBO1c0>-AdIg&LpL4^`RXq_Sd*71Fq}fK0Z`8) zcE3q5#id58`U_x@U(O_tjk3Z&J9|zMLryr&S7(fK*V+^wwQg|25MXPSI5Tg57Fk^R z7b()LC+|9@iOF^=a{~d2ONBk3tOeetNS`_Ulw6Y=l=&yO%Hh)Y87_FDz05x{buW7> zSJhypWlWh)Z$%;zxX4o_`8FO1i;ihj2Y zX@bpl1n)uN4@p1efYN_~kT$sMDX&OTb>Ynl-E8Yi5R^G+r?>wikc%g^=_A~x*cr4C zqkJJCdHHJnum|wiE$s<#boJxD0lqD*M*M&`-11w!S$tC8?DH1W6k+7NY@OjrAw3I- zFZ&`txo)|bx)_S`oL=A1u(j_i8e$HXKjkmPDRrp zBMBTS-rD}5R}j@{#865vAML`ePCmX_9o`dztT==s@uHmrx^@#}E&Cb1%Jw`C>lMzS zJCFUf+c11-tMCa?X`k|VP})?zU2Pw!VqzB(ELm46UDN0fY8OsPRp_jSiFni<-DX`n z@mW=&!+Jnzkj9Dg_fkQKyFPxxpwFnh)a+l1;os=|#1sxuTq;tU2iAnc0d1p2+BhI} zs7a^jN$C~82W%pZmb5YndZ>RmBg&*YYiZCYkG0&FEmYWt6c~Y13t-rYvn$A*a|s=7 zZes_%dY9J0_z3qNX+FYi(FvV8X*KDzZB?bZKll~)c}!@OhcG)ImW}@8?y)n!u*tP! z7M1lG0rVlVS1~;(rnE-!_7dAU^61<$86xDYgQF1bvQ5Um)TObwp)15mhuKz0c8%zr z!gc$Cv!Q5?{&Qm&NQCz|)dWGc7F4u%ry_%#V!YMkl<5N$DZ<7?BcIc^Xq6|#nX=oB zKc^tv-%GyiR^9t=Nx~`fR;2^V$;A5kCaR#=0ISC4Fum}4_X(s?ec!G+DiA-QWZz~k zODrU#VwfVvKkvCFz3LxD_Nh2&USs61R6_e6@D6|F^H=xO9P5b@Qg_Ge+{W4u&F6(A z&_yW@1`B1Ms5t9zov(taaF~p*#oFH=iE7L?X?Nwu_Ae&c*tIqo6?Q4TTKBxcc16kK zY(Rb8&>7J&5kf63((gI4i))@w!FS=XBE=jvadv3!Ne9i~UHlo#+ zF0|VAZSYV>7^|^^be+FV!!QNbyCV($_9mf0sU(Q?iTNjIwzLY;FvCEwiH;ee+n0NW zsP@`BUOs2|=3(17vF=0Bi0v80W10ErW^UaQs)FuWu7b1bP<_@@o`GQ4TdlQT>kQx3b1tSi%=GT<^a zbSlnhd+H)WJSw6Zre7}f%W(|%=PhB6MRBs$9t#$)tS#eti{TQ9`vLSlHbKRCzoSO% zPYMrf#K+&AXLX$Dw9`^xnWa3OGE)m>kHY5G0vynx^%3saKr`;`MTl5a=i3W`fQPlI z*<=u9EdY*Fb78{Tdh^ka$kq*^;5r}Z~_VFl!s(zly44|?mD^8#|Rc3439!%8@|N;`-(<_*TM zqUYSY0|guB<(!dDV)h4AhT=rzzz=M$U+j4GN!m4+eebTPv3)KX?ccK7SNsb@?FMvB z(_Mec27mcJ+SFF%@GBAddt1VZWSNUXd52W3qTYuUBSXL=X1E8#4mQ#(biR!$%V&y1HhQgW6%0$U_OsM9874BpX0tF^xCH4wB)jI{RE`4uCi z3JZzSg4h?oh~-Q{U5?pu&Zf}*7-y*^_~E%T)N@S+ThN6g0JY^ra^d8P zFl4Gy`+}RaY7N|)vDvI6G+{tZD{vOE{gVcbBkf$smBM~Ui|KxI7wK^%fegt@kSP}n zOMjpS0Dq6k-yp^dmEoJ!13i3)|O8}c`U@5m+Pmc^`^(Keg)uRgoccKzcE8TvePlJ@*- zN_D*rtTvO4DGli~Sf3APfBJv{buf#_%ii=kmx~;Q$El@=rDjFPR+%i6%(oUw{~aYc zGC-TfMvnTUkJuz-B??*2jSMrt= zia@>NLZtuzeu3A4FnX=q05m)W2vcI-yi*Yf9=Pk1-w@2`*gJqzrx@k`%0PlD006j7 zT>lku#tEz32lmCqQC~+mVT01L* z*?hhke5tP>k0{6$B(MX3thp|w>G+PqAs} zPByrpQ|Ez8P6pKtdgarz2ZFipHp8r%1KvtjdaBPV+Mgf1=2|;8aWxL@?2GGil1)05 zubu0#_&a!BD8V|)D((k~H(^#gsV+GH>Y@JNMyh$971o2@v0P`KmB%6K6{-Q%-GR2o z`R&(9Jii{C=6nk5udi>zrpWL5n1ZRpSz9VLeX4WhV`k#QO*Eu14z%T>MxgDrm9$xA zUya3!Cs{07Z2i(pH1hv^taHE)S*VKQIoYmL!ckjD4kw-|N7Y552s%gk^g9WUZyfx; z1R=aLCL|gT)%ky=F~2HR#TxAF-{&5nKTL2APofQSx8JyL>z_D!KT{=bVbeYl0B zLWtOYM`yigVdZ%{Xw@Tj+5pAjb8M81zc!CQ(V4HiTl+47K2_5#+@8-&!GVAM6kHOT zUhzqcvdwDOvfM#6@pPQgnLzB3F3(gt#UTbbxx$3uja2`bBM{hXSWstkE3-SP@nS>j zInF+me_56#*xI?wW!* zr&Ae7Ki1cG)E?z7$*;El>h^iSr&s+-h0h`#|Lwr$ltFHQZF72rk^I7UAM}n49iXGr z(Mcgkv1TF|KVla_{6(?15f0C4lD}~DiCsCz{oefOHG>ZOATG5vEe-P_#t-D&CYJB{5D@!uo){tO4gCtzz;%Th7;A=;%X z#;OJtv;UVi>H$%}HQo?bLn+Q&T3do1_p;?ys~~%@a**6wojF<|yJ)$)!u)4S;ucYB z%8x3R;!KTQjCh|+iLFe%%`@a{_6`Mf4}Ft?{;t|GKe$Mj%7EyHSO@bj6`l3mh=Sn7kXUt6JdOAM$Y$9aTU-I^SSGM&dhu9ll$1M}Ff5C}KkitgC zxF$1o@Cz3vUOWr?b#Fwd}BGHQ7oJ#cosbO7ow1 zs~Wu>i@1DX%&L>0UX-650gIv6`^}NwXRPOheUpe?+Q?INRMA9adI{!*qMRz{J=ED~ z<#FZ^ag^p3FFqAMQe63{qChUq8q_`n$DYsB!Q-70&K+I0KjLnuyQpLr2ott#PNqKq zNcwptOt((y6N|Ml@hPJpi5Peuof{1T>3MQeZ0uHY8;k}@=Co?HZLw6edqSx1ya`Ly zff)yKWGm^H+dgrF*JJImS)iW=2q$#o3=jgLLAs^8+!{CiGFHq+AKDiAt@<2^77fK*LKBj_^Ayzb%XM^%*tR=S=JJi?X zhjEjlqb%pVO3<|1$%5!-tXdORF=wZ{*=aLSVx(CK5)*n&?Nylx%VwA~E%>xW7A)cD zY(L`v+`7#MUVYw!rchYlfJLt?=*^D89MxB z9BD6i?lHM|04ec%2IawKXbne+YY3A+Rt1)f@@wF%6di{`b23?SJ}L9w@3jupm?CYS zR#M*J-#Vx$iT~0?&X>IGn7QDLdSydtj8*DUIR%^Cf67UVsBLK1Ui;lT!ebYrN&*_4 zkCKcs1D!zasol!O_ONB4E6v6oPfxB7(JaKS2h`*zd(m;sxKjIf^ogA2=sLWwUja%> zepd93m`CR(%{Y2?*G7zf7RD{o#5)$~L1fpBd^c_i1%Bffa_ZEloQ|T#GA5bYKU2U= zQVb!h7|7Kq(p1f=p7noN=$v zbNRp5gbKH@Rt<5A*)`j{M-$KdNn9{StB^ZUjdCgoE$&Li9>oNQU-ytseHA3jx)`%G zRZ^ab%uN-xRtnUfeoo(+bB4XQX$DSjT(9*S7`P-!)%7FLPp;yukoox(4go$l@h6Sl zjxALhmp{LMi!C$`a-gGAWcubsTL;Sp4>+FJl=+9)q7G@zLrVCpBZ^;xY; zgUnG|4aP{7}i#=gzZ6buQj_5XJJ1oB>777zUN=+p&yx- z*U#gTEcOw7I)){SFi`bq^tS~5;&t)t41fTx{=C9YL6*a02}+V|@AeG~5zDptLDT17 zMD}zX^d;JXZodkA21QGoN89@>f3;R3 zo+}h2Ns6j)tgP25oq*KKEGudt!3@h}1kw zRvT%^Z40`}@kFAbD=Ga>PQ;RxwgoW3GNcO;NKKQi@IImEtWg_%ro1rDhTE6aLc6u- zVXj9h(eI#N_A(#@jp^dr<)eeu3znBO#S$dus5PG|#}}l-N5%_;V0~2CRCkE?pPUiE zMd;zMt05mRr-82#;ytV=7IACtg$q^EL1c40b{ z4tt%JnC8&b`tT#E6_qg)?iFxoy50E9-v|y&DMp zY%dc!rlvZ1zlO|vc8oH% zWo_nzH*lpPz+dwMhqJRXpUe~e3+kZLRot~IuGp`A=6#@;ctF%J*eotjv=rWF6#!@x zcb`9!goT43ocH6?K)m$Zoy05JqG;%Hco!}b^vpAk_y*#tBuUTSQP$?<+A6_YOd4T$ zq`GAv&8RYmY#8k;h;S4me2Xj1>FMG7$E+fTSP_T~``16&hK<&y{X~DIF$#WHNTHMj zi-<2Q=_m7jjwLJgsK+6ed;*on>+qRa{}twF`5Q-(Y*QaOYKOXnu}jWXEAHmE*94hB zW}3NK{&&X7krp4V`Zjd6C@3qbVbrgeL)!5)mY;HgxIV$arr!n!{E}wIN3zH zm*VfIf9on1ZgNXp_L?QP<{bKoDM%-Ve`G7A0B`08KzDh+ZzlXJzgij1+IeSy`p`db z-kOOWfs3AkTl3K`;0dZ#@J``ip|{0fr=;k1V4iM#rXT&Dcq+pdOJ=ff2hU;rq$V_? z-Z(BK@^5{?EG1AZnrA5}hqga6*;^hu%{a7ZlnH;_h~a`}O56P00cL08NaBoE_6F^> zt{quf@+>hTh((ek$ePms9mpq;kW%pkq_GWlx`&g&{HTYG=TypwguS*+6rLVvVg40g z)?lyO^ijhn`h!L~EY_12&N5XAkvrL4nj9M0n*}+3=T4^omuTDz;e2ymQYQ8|6MK*4 zBiH)WSM=Y*#gJHK=yDE@KauG;hD<#^hU?2UnYI4Y*h}&k*=X)U{am16bu-YL!{(_> zqq5CSlmZ`uuYCtr_6bI_-9w}~v%LeWc=3G>mGE7PHJFWaWz=NiqkYyCqR2z#acgom zechq;@aYGYOS&IMp6MDtzYRe+E0z1TDO_eQD=rPjuRC8lH4z0wqxo7^!9x&b~@`svF+#qL4>!@z|aOQY8S5&&mJ7iN2Oc>(mkBpAY3VRmCI`4y&bU_koeCG1s>Wjt9a#6aY#KeW{!}Ixo$^7EL1l<(dV!!T zlqR4R81}Y911tOiUv%}Bxh4>vk1Y<)!@ma(#qjOj#j6L6|BHzsFf3=-=8^-HL38Mo zVyD)B9F;0Joyd2{$n+77td?h*gHaV#*V-IBPpSgTyd9jxW>+MmiyPJ!c%TnrK?>MP z{xZfqmkPVfa~il30RrY-B=^+Bf+^cSr14HiW@4&HNDec;zFR%^yB&2$+$%8(=Sf1U zM`&%@sLlD1(soVcoMHDG_2_ew!IFhYF>p#=!}%zMGm6o>g%;(<_$eJ)8N`Ve`eQN> zwLQ%u=69e$A~Y!1!3M7-wNTiGqR`@x+Yu53VkDh2eJN-}-Mp_c_D%o1BZ+r8jYoXswK~c1o^S z=@^NPq5#if6_r!Y(5C}8*`7M?X4K*FqpTo?u_rFE!sO%NO4KE@dho8PCF%G1D*)Sv zSnomoV&Zh`6Nsh^Wlc{45Rbd7)S57I#?qO!oTnyit;v8^b$n zl}DI2A$!iv>qN{L$;P+)}rWd;lXDpK{Z_ zOEGn&NB7=|kgCGpM^T)#XKtU$n9@f%hz}F%O-tqj^tX3e?L?(&RJVpZJR&dFFDZSE4 zQ+6#vWMbcrRg+8&p49%imJZJY>jjJaZQn))-M3ku^Md!8-jOLGoI104w&p9>Zrsmi z{uo>vDYG-BBO1NrB_~`@KQ~8dg=%~djagtLWkC z6Mw^}daC%yg&6>axV)o8DZ*jcjJ+maxq`9_n>@F3`Jmwo%=E=XsG;`_h%%HBaAxyL SDr@hmC)z_`)6(Aq0Q?XCbdtLO diff --git a/examples/wave-displace/wave_displace.py b/examples/wave-displace/wave_displace.py index 093a9bf..aafc292 100644 --- a/examples/wave-displace/wave_displace.py +++ b/examples/wave-displace/wave_displace.py @@ -82,24 +82,27 @@ def render_still(obj, path, engine): mat = bpy.data.materials.new("WaveMat") mat.use_nodes = True bsdf = mat.node_tree.nodes["Principled BSDF"] - bsdf.inputs["Base Color"].default_value = (0.62, 0.68, 0.78, 1.0) - bsdf.inputs["Roughness"].default_value = 0.35 + bsdf.inputs["Base Color"].default_value = (0.012, 0.09, 0.38, 1.0) # deep sapphire + bsdf.inputs["Roughness"].default_value = 0.18 obj.data.materials.append(mat) world = bpy.data.worlds.new("World") world.use_nodes = True - world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.045, 0.05, 0.06, 1.0) + world.node_tree.nodes["Background"].inputs["Color"].default_value = (0.008, 0.009, 0.012, 1.0) scene.world = world - key = bpy.data.lights.new("Key", 'AREA'); key.energy = 1400.0; key.size = 7.0 + # grazing cool key picks out the crests; warm rim from behind + key = bpy.data.lights.new("Key", 'AREA'); key.energy = 2000.0; key.size = 6.0 + key.color = (0.9, 0.95, 1.0) key_ob = bpy.data.objects.new("Key", key) - key_ob.location = (-5.0, -6.0, 6.5) - key_ob.rotation_euler = (math.radians(48), 0.0, math.radians(-35)) + key_ob.location = (-6.5, -5.0, 3.2) + key_ob.rotation_euler = (math.radians(65), 0.0, math.radians(-50)) scene.collection.objects.link(key_ob) - rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 600.0; rim.size = 5.0 + rim = bpy.data.lights.new("Rim", 'AREA'); rim.energy = 1300.0; rim.size = 4.0 + rim.color = (1.0, 0.68, 0.38) rim_ob = bpy.data.objects.new("Rim", rim) - rim_ob.location = (4.0, 6.0, 4.5) - rim_ob.rotation_euler = (math.radians(-55), 0.0, math.radians(150)) + rim_ob.location = (4.5, 6.5, 2.6) + rim_ob.rotation_euler = (math.radians(-68), 0.0, math.radians(148)) scene.collection.objects.link(rim_ob) cam_data = bpy.data.cameras.new("Cam"); cam_data.lens = 50.0