Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.95 KB | None | 0 0
  1. global_settings { assumed_gamma 2.2 }
  2.  
  3. #include "shapes.inc"
  4. #include "colors.inc"
  5. #include "textures.inc"
  6. #include "skies.inc"
  7. #include "metals.inc"
  8. #include "woods.inc"
  9.  
  10. #declare FB_Quality_Off = 0;
  11. #declare FB_Quality_Fast = 1;
  12. #declare FB_Quality_Default = 2;
  13. #declare FB_Quality_High = 3;
  14.  
  15. #declare FB_Quality= FB_Quality_High;
  16.  
  17. camera {
  18. location <59, 20, -55>
  19. direction <0, 0, 2>
  20. up <0, 1, 0>
  21. right <4/3, 0, 0>
  22. look_at <0, -1, 1>
  23.  
  24. # if(FB_Quality != FB_Quality_Off)
  25. aperture 2.25
  26. focal_point <0, 0, 0>
  27. # end
  28.  
  29. #switch(FB_Quality)
  30. #case(FB_Quality_Off)
  31. aperture 0
  32. # warning "\nNo focal blur used...\n"
  33. # break
  34. #case (FB_Quality_Fast)
  35. blur_samples 7
  36. confidence 0.5 // default is 0.9
  37. variance 1/64 // default is 1/128 (0.0078125)
  38. # warning "\nFast focal blur used...\n"
  39. # break
  40. #case(FB_Quality_Default)
  41. blur_samples 19
  42. confidence 0.90 // default is 0.9
  43. variance 1/128 // default is 1/128 (0.0078125)
  44. # warning "\nDefault focal blur used...\n"
  45. # break
  46. #case(FB_Quality_High)
  47. blur_samples 37
  48. confidence 0.975 // default is 0.9
  49. variance 1/255 // default is 1/128 (0.0078125)
  50. # warning "\nHigh Quality focal blur used...\n"
  51. # break
  52. #else
  53. #warning "\nNo focal blur used...\n"
  54. #end
  55. }
  56.  
  57. light_source { <800, 600, -200> colour White }
  58.  
  59. #declare PawnBase =
  60. union {
  61. intersection {
  62. sphere { <0, 0, 0>, 2.5 }
  63. plane { -y, 0 }
  64. }
  65. cylinder { 0, y*0.35, 2.5 pigment { green 0.65 } }
  66. }
  67.  
  68. #declare PieceBase =
  69. union {
  70. intersection {
  71. sphere { <0, 0, 0>, 3 }
  72. plane { -y, 0 }
  73. }
  74. cylinder { 0, y*0.35, 3.0 pigment { green 0.65 } }
  75. }
  76.  
  77. #declare Pawn = union {
  78. sphere { <0, 7, 0>, 1.5 }
  79.  
  80. sphere { <0, 0, 0>, 1
  81. scale <1.2, 0.3, 1.2>
  82. translate 5.5*y
  83. }
  84.  
  85. intersection {
  86. plane { y, 5.5 }
  87. object {
  88. Hyperboloid_Y
  89. translate 5*y
  90. scale <0.5, 1, 0.5>
  91. }
  92. plane { -y, -2.5 }
  93. }
  94.  
  95. sphere { <0, 0, 0>, 1
  96. scale <2, 0.5, 2>
  97. translate <0, 2.3, 0>
  98. }
  99. object { PawnBase }
  100. }
  101.  
  102.  
  103. #declare Rook = union {
  104. intersection {
  105. union {
  106. plane { +x, -0.5 }
  107. plane { -x, -0.5 }
  108. plane { y, 9 }
  109. }
  110.  
  111. union {
  112. plane { +z, -0.5 }
  113. plane { -z, -0.5 }
  114. plane { y, 9 }
  115. }
  116.  
  117. plane { y, 10 }
  118. object { Cylinder_Y scale <2, 1, 2> }
  119. object { Cylinder_Y scale <1.2, 1, 1.2> inverse }
  120. plane { -y, -8 }
  121. }
  122.  
  123. intersection {
  124. plane { y, 8 }
  125. object { Hyperboloid_Y
  126. scale <1, 1.5, 1>
  127. translate 5.401924*y
  128. }
  129. plane { -y, -3 }
  130. }
  131.  
  132. sphere { <0, 0, 0>, 1
  133. scale <2.5, 0.5, 2.5>
  134. translate 2.8*y
  135. }
  136.  
  137. object { PieceBase }
  138. }
  139.  
  140. #declare Knight = union {
  141. intersection {
  142. object { Cylinder_Z
  143. scale <17.875, 17.875, 1>
  144. translate <-18.625, 7, 0>
  145. inverse
  146. }
  147.  
  148. object { Cylinder_Z
  149. scale <17.875, 17.875, 1>
  150. translate <18.625, 7, 0>
  151. inverse
  152. }
  153.  
  154. object { Cylinder_X
  155. scale <1, 5.1, 5.1>
  156. translate <0, 11.2, -5>
  157. inverse
  158. }
  159.  
  160. union {
  161. plane { y, 0
  162. rotate 30*x
  163. translate 9.15*y
  164. }
  165. plane { z, 0
  166. rotate -20*x
  167. translate 10*y
  168. }
  169. }
  170.  
  171. union {
  172. plane { -y, 0
  173. rotate 30*x
  174. translate 7.15*y
  175. }
  176. plane { y, 0
  177. rotate 60*x
  178. translate 7.3*y
  179. }
  180. }
  181.  
  182. union {
  183. plane { y, 0
  184. rotate -45*y
  185. }
  186. plane { y, 0
  187. rotate 45*z
  188. }
  189. translate 9*y
  190. }
  191.  
  192. object { Cylinder_Y scale <2, 1, 2> }
  193. sphere { <0, 7, 0>, 4 }
  194. }
  195.  
  196. sphere { <0, 0, 0>, 1
  197. scale <2.5, 0.5, 2.5>
  198. translate <0, 2.8, 0>
  199. }
  200.  
  201. object { PieceBase }
  202. }
  203.  
  204. #declare Bishop = union {
  205. sphere { <0, 10.8, 0>, 0.4 }
  206.  
  207. intersection {
  208. union {
  209. plane { -z, -0.25 }
  210. plane { +z, -0.25 }
  211. plane { y, 0 }
  212. rotate 30*x
  213. translate 8.5*y
  214. }
  215.  
  216. sphere { <0, 0, 0>, 1
  217. scale <1.4, 2.1, 1.4>
  218. translate 8.4*y
  219. }
  220.  
  221. plane { -y, -7 }
  222. }
  223.  
  224. sphere { <0, 0, 0>, 1
  225. scale <1.5, 0.4, 1.5>
  226. translate 7*y
  227. }
  228.  
  229. intersection {
  230. plane { y, 7 }
  231. object {
  232. Hyperboloid_Y
  233. scale <0.6, 1.4, 0.6>
  234. translate 7*y
  235. }
  236. plane { -y, -3 }
  237. }
  238.  
  239. sphere { <0, 0, 0>, 1
  240. scale <2.5, 0.5, 2.5>
  241. translate 2.8*y
  242. }
  243.  
  244. object { PieceBase }
  245. }
  246.  
  247. #declare QueenAndKing = union {
  248. sphere { <0, 10.5, 0>, 1.5 }
  249.  
  250. intersection {
  251. union {
  252. sphere { <1.75, 12, 0>, 0.9 rotate 150*y }
  253. sphere { <1.75, 12, 0>, 0.9 rotate 120*y }
  254. sphere { <1.75, 12, 0>, 0.9 rotate 90*y }
  255. sphere { <1.75, 12, 0>, 0.9 rotate 60*y }
  256. sphere { <1.75, 12, 0>, 0.9 rotate 30*y }
  257. sphere { <1.75, 12, 0>, 0.9 }
  258. sphere { <1.75, 12, 0>, 0.9 rotate -30*y }
  259. sphere { <1.75, 12, 0>, 0.9 rotate -60*y }
  260. sphere { <1.75, 12, 0>, 0.9 rotate -90*y }
  261. sphere { <1.75, 12, 0>, 0.9 rotate -120*y }
  262. sphere { <1.75, 12, 0>, 0.9 rotate -150*y }
  263. sphere { <1.75, 12, 0>, 0.9 rotate 180*y }
  264. inverse
  265. }
  266.  
  267. plane { y, 11.5 }
  268.  
  269. object { QCone_Y
  270. scale <1, 3, 1>
  271. translate 5*y
  272. }
  273.  
  274. plane { -y, -8 }
  275. }
  276.  
  277. sphere { <0, 0, 0>, 1
  278. scale <1.8, 0.4, 1.8>
  279. translate 8*y
  280. }
  281.  
  282. intersection {
  283. plane { y, 8 }
  284. object { Hyperboloid_Y
  285. scale <0.7, 1.6, 0.7>
  286. translate 7*y
  287. }
  288. plane { -y, -3 }
  289. }
  290.  
  291. sphere { <0, 0, 0>, 1
  292. scale <2.5, 0.5, 2.5>
  293. translate 2.8*y
  294. }
  295.  
  296. object { PieceBase }
  297. }
  298.  
  299. #declare Queen = union {
  300. sphere { <0, 12.3, 0>, 0.4 }
  301. object { QueenAndKing }
  302. }
  303.  
  304. #declare King = union {
  305. intersection {
  306. union {
  307. intersection {
  308. plane { y, 13 }
  309. plane { -y, -12.5 }
  310. }
  311.  
  312. intersection {
  313. plane { +x, 0.25 }
  314. plane { -x, 0.25 }
  315. }
  316. }
  317.  
  318. plane { +z, 0.25 }
  319. plane { -z, 0.25 }
  320. plane { +x, 0.75 }
  321. plane { -x, 0.75 }
  322. plane { +y, 13.5 }
  323. plane { -y, -11.5 }
  324. }
  325.  
  326. object { QueenAndKing }
  327. }
  328.  
  329. #declare WWood = texture {
  330. T_Silver_3B
  331. }
  332.  
  333. #declare BWood = texture {
  334. T_Gold_3C
  335. }
  336.  
  337. #declare WPawn = object {
  338. Pawn
  339.  
  340. bounded_by { sphere { <0, 4, 0>, 4.72 } }
  341.  
  342. texture {
  343. WWood
  344. pigment { quick_color red 0.95 green 0.62 }
  345. }
  346. }
  347.  
  348. #declare BPawn = object {
  349. Pawn
  350.  
  351. bounded_by { sphere { <0, 4, 0>, 4.72 } }
  352.  
  353. texture {
  354. BWood
  355. pigment { quick_color red 0.4 green 0.2 }
  356. }
  357. }
  358.  
  359. #declare WRook = object {
  360. Rook
  361.  
  362. bounded_by { sphere { <0, 5, 0>, 5.831 } }
  363.  
  364. texture {
  365. WWood
  366. pigment { quick_color red 0.95 green 0.62 }
  367. }
  368. }
  369.  
  370. #declare BRook = object {
  371. Rook
  372.  
  373. bounded_by { sphere { <0, 5, 0>, 5.831 } }
  374.  
  375. texture {
  376. BWood
  377. pigment { quick_color red 0.4 green 0.2 }
  378. }
  379. }
  380.  
  381. #declare WKnight = object {
  382. Knight
  383.  
  384. bounded_by { sphere { <0, 5, 0>, 5.831 } }
  385.  
  386. texture {
  387. WWood
  388. pigment { quick_color red 0.95 green 0.62 }
  389. }
  390. }
  391.  
  392. #declare BKnight = object {
  393. Knight
  394. rotate 180*y
  395.  
  396. bounded_by { sphere { <0, 5, 0>, 5.831 } }
  397.  
  398. texture {
  399. BWood
  400. pigment { quick_color red 0.4 green 0.2 }
  401. }
  402. }
  403.  
  404. #declare WBishop = object {
  405. Bishop
  406.  
  407. bounded_by { sphere { <0, 5.5, 0>, 6.265 } }
  408.  
  409. texture {
  410. WWood
  411. pigment { quick_color red 0.95 green 0.62 }
  412. }
  413. }
  414.  
  415. #declare BBishop = object {
  416. Bishop
  417. rotate 180*y
  418.  
  419. bounded_by { sphere { <0, 5.5 ,0>, 6.265 } }
  420.  
  421. texture {
  422. BWood
  423. pigment { quick_color red 0.4 green 0.2 }
  424. }
  425. }
  426.  
  427. #declare WQueen = object {
  428. Queen
  429.  
  430. bounded_by {
  431. intersection {
  432. sphere { <0, 6, 0>, 6.71 }
  433. object { Cylinder_Y scale <3, 1, 3> }
  434. }
  435. }
  436.  
  437. texture {
  438. WWood
  439. pigment { quick_color red 0.95 green 0.62 }
  440. }
  441. }
  442.  
  443. #declare BQueen = object {
  444. Queen
  445.  
  446. bounded_by {
  447. intersection {
  448. sphere { <0, 6, 0>, 6.71 }
  449. object { Cylinder_Y scale <3, 1, 3> }
  450. }
  451. }
  452.  
  453. texture {
  454. BWood
  455. pigment { quick_color red 0.4 green 0.2 }
  456. }
  457. }
  458.  
  459. #declare WKing = object {
  460. King
  461.  
  462. bounded_by {
  463. intersection {
  464. sphere { <0, 6.5, 0>, 7.16 }
  465. object { Cylinder_Y scale <3, 1, 3> }
  466. }
  467. }
  468.  
  469. texture {
  470. WWood
  471. pigment { quick_color red 0.95 green 0.62 }
  472. }
  473. }
  474.  
  475. #declare BKing = object {
  476. King
  477.  
  478. bounded_by {
  479. intersection {
  480. sphere { <0, 6.5, 0>, 7.16 }
  481. object { Cylinder_Y scale <3, 1, 3> }
  482. }
  483. }
  484.  
  485. texture {
  486. BWood
  487. pigment { quick_color red 0.4 green 0.2 }
  488. }
  489. }
  490.  
  491. /* Sky */
  492. #declare SkySphere = sky_sphere { S_Cloud1 }
  493.  
  494. /* Ground */
  495. #declare Ground =
  496. plane { y, -80
  497. pigment { green 0.65 }
  498. finish {
  499. ambient 0.25
  500. diffuse 0.5
  501. }
  502. }
  503.  
  504. #declare FarSide =
  505. union {
  506. object { BPawn translate <-28, 0, 20> }
  507. object { BPawn translate <-20, 0, 20> }
  508. object { BPawn translate <-12, 0, 20> }
  509. object { BPawn translate < -4, 0, 20> }
  510. object { BPawn translate < 4, 0, 20> }
  511. object { BPawn translate < 12, 0, 20> }
  512. object { BPawn translate < 20, 0, 20> }
  513. object { BPawn translate < 28, 0, 20> }
  514.  
  515. object { BRook translate <-28, 0, 28> }
  516. object { BKnight translate <-20, 0, 28> }
  517. object { BBishop translate <-12, 0, 28> }
  518. object { BQueen translate < -4, 0, 28> }
  519. object { BKing translate < 4, 0, 28> }
  520. object { BBishop translate < 12, 0, 28> }
  521. object { BKnight translate < 20, 0, 28> }
  522. object { BRook translate < 28, 0, 28> }
  523. // bounded_by {
  524. // object {
  525. // Cylinder_X
  526. // scale <1, 9.56, 9.56>
  527. // translate <0, 6.5, 24>
  528. // }
  529. // }
  530. }
  531.  
  532. #declare NearSide =
  533. union {
  534. object { WPawn translate <-28, 0, -20> }
  535. object { WPawn translate <-20, 0, -20> }
  536. object { WPawn translate <-12, 0, -20> }
  537. object { WPawn translate < -4, 0, -20> }
  538. object { WPawn translate < 4, 0, -20> }
  539. object { WPawn translate < 12, 0, -20> }
  540. object { WPawn translate < 20, 0, -20> }
  541. object { WPawn translate < 28, 0, -20> }
  542.  
  543. object { WRook translate <-28, 0, -28> }
  544. object { WKnight translate <-20, 0, -28> }
  545. object { WBishop translate <-12, 0, -28> }
  546. object { WQueen translate < -4, 0, -28> }
  547. object { WKing translate < 4, 0, -28> }
  548. object { WBishop translate < 12, 0, -28> }
  549. object { WKnight translate < 20, 0, -28> }
  550. object { WRook translate < 28, 0, -28> }
  551.  
  552.  
  553. }
  554.  
  555. #declare Pieces =
  556. union {
  557. object { NearSide }
  558. object { FarSide }
  559.  
  560. bounded_by {
  561. intersection {
  562. plane { y, 13.5 }
  563. sphere { -30*y, 63 }
  564. }
  565. }
  566.  
  567. }
  568.  
  569. #declare FramePiece =
  570. intersection {
  571. plane { +y, -0.15 }
  572. plane { -y, 3 }
  573. plane { -z, 35 }
  574. plane { <-1, 0, 1>, 0 } // 45 degree bevel
  575. plane { < 1, 0, 1>, 0 } // 45 degree bevel
  576. }
  577.  
  578. #declare Frame =
  579. union {
  580. union {
  581. object { FramePiece }
  582. object { FramePiece rotate 180*y }
  583. texture {
  584. T_Wood20
  585. scale 2
  586. rotate y*87
  587. translate x*1
  588. finish {
  589. specular 1
  590. roughness 0.02
  591. ambient 0.35
  592. }
  593. }
  594. }
  595.  
  596. union {
  597. object { FramePiece rotate -90*y }
  598. object { FramePiece rotate 90*y }
  599. texture {
  600. T_Wood20
  601. scale 2
  602. rotate y*2
  603. finish {
  604. specular 1
  605. roughness 0.02
  606. ambient 0.35
  607. }
  608. }
  609. }
  610. }
  611. #declare Board =
  612. box { <-32, -1, -32> <32, 0, 32>
  613. texture {
  614. tiles {
  615. texture {
  616. pigment {
  617. //marble
  618. wrinkles
  619. turbulence 1.0
  620. colour_map {
  621. [0.0 0.7 colour White
  622. colour White]
  623. [0.7 0.9 colour White
  624. colour red 0.8 green 0.8 blue 0.8]
  625. [0.9 1.0 colour red 0.8 green 0.8 blue 0.8
  626. colour red 0.5 green 0.5 blue 0.5]
  627. }
  628. scale <0.6, 1, 0.6>
  629. rotate -30*y
  630. }
  631. finish {
  632. specular 1
  633. roughness 0.02
  634. reflection 0.25
  635. }
  636. } // texture
  637. tile2
  638. texture {
  639. pigment {
  640. granite
  641. scale <0.3, 1, 0.3>
  642. colour_map {
  643. [0 1 colour Black
  644. colour red 0.5 green 0.5 blue 0.5]
  645. }
  646. }
  647. finish {
  648. specular 1
  649. roughness 0.02
  650. reflection 0.25
  651. }
  652. }
  653. } // texture
  654. scale <8, 1, 8>
  655. } //texture
  656. } // intersection
  657.  
  658.  
  659.  
  660. /* Table */
  661. #declare Table =
  662. union {
  663. intersection {
  664. plane { +y, -3 }
  665. plane { -y, 8 }
  666. sphere { <0, -5.5, 0>, 55 }
  667. }
  668.  
  669. intersection {
  670. plane { y, -8 }
  671. object {
  672. Hyperboloid_Y
  673. scale <10, 20, 10>
  674. translate -20*y
  675. }
  676. }
  677.  
  678. pigment {
  679. granite
  680. scale 6
  681. }
  682. finish {
  683. specular 1
  684. roughness 0.02
  685. reflection 0.3
  686. }
  687. }
  688.  
  689. object { Pieces }
  690. object { Board }
  691. object { Frame }
  692. object { Ground }
  693. object { Table }
  694. sky_sphere { SkySphere }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement