Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. If style == 1 then (
  2.  
  3. PD = ((PA + PB + PC)/3 - Depth * N)
  4. PD = [PD.x as integer, PD.y as integer, PD.z as integer]
  5. Planes = #(#(PB, PA, PC), #(PD, PB, PC), #(PD, PA, PB), #(PD, PC, PA))
  6.  
  7. TCstr = " " + TC[1] as string + " " + TC[2] as string + " " + TC[3] as string + " " + TC[4] as string + " " + TC[5] as string + " "
  8.  
  9. TriBrushStr = "\t//TriSoup: " + Name as string +"\n\t{\n"
  10. TriBrushStr += "\t\t" + GetPlanePoint Planes[1][1] + GetPlanePoint Planes[1][2] + GetPlanePoint Planes[1][3] + FShader + TCstr + Detail as string+" 4 0\n"
  11. TriBrushStr += "\t\t" + GetPlanePoint Planes[2][1] + GetPlanePoint Planes[2][2] + GetPlanePoint Planes[2][3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  12. TriBrushStr += "\t\t" + GetPlanePoint Planes[3][1] + GetPlanePoint Planes[3][2] + GetPlanePoint Planes[3][3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  13. TriBrushStr += "\t\t" + GetPlanePoint Planes[4][1] + GetPlanePoint Planes[4][2] + GetPlanePoint Planes[4][3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  14.  
  15. TriBrushStr += "\t}\n\n"
  16.  
  17. TriBrushStr;
  18.  
  19. )
  20. else (
  21.  
  22. BA = PA - depth * NA
  23. BB = PB - depth * NB
  24. BC = PC - depth * NC
  25.  
  26. --BA = [BA.x as integer, BA.y as integer, BA.z as integer]
  27. --BB = [BB.x as integer, BB.y as integer, BB.z as integer]
  28. --BC = [BC.x as integer, BC.y as integer, BC.z as integer]
  29.  
  30. BA = RoundVec BA 1
  31. BB = RoundVec BB 1
  32. BC = RoundVec BC 1
  33.  
  34. FrontFace = #(PC, PB, PA)
  35. BackFace = #(BA, BB, BC)
  36. Sides = #(#(PA, PB, BB, BA), #(PB, PC, BC, BB), #(PC, PA, BA, BC))
  37.  
  38.  
  39. TCstr = " " + TC[1] as string + " " + TC[2] as string + " " + TC[3] as string + " " + TC[4] as string + " " + TC[5] as string + " "
  40.  
  41. TriBrushStr = "\t//TriSoup: " + Name as string +"\n\t{\n"
  42. TriBrushStr += "\t\t" + GetPlanePoint FrontFace[1] + GetPlanePoint FrontFace[2] + GetPlanePoint FrontFace[3] + FShader + TCstr + Detail as string+" 4 0\n"
  43. TriBrushStr += "\t\t" + GetPlanePoint BackFace[1] + GetPlanePoint BackFace[2] + GetPlanePoint BackFace[3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  44.  
  45. --format "s = %\n" s
  46. for s in sides do (
  47.  
  48. Normal = normalize( cross (s[1]-s[3]) (s[4]-s[3]) )
  49. dist = pointPlaneDist s[3] Normal s[2]
  50.  
  51. format "\tNormal = %\n" Normal
  52. if dist < 0 then (
  53.  
  54. --format "dist < 0; true\n"
  55. TriBrushStr += "\t\t" + GetPlanePoint S[4] + GetPlanePoint S[1] + GetPlanePoint S[3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  56. TriBrushStr += "\t\t" + GetPlanePoint S[1] + GetPlanePoint S[2] + GetPlanePoint S[4] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  57. )
  58. else if dist > 0 then (
  59. -- format "dist > 0; false\n"
  60. TriBrushStr += "\t\t" + GetPlanePoint S[4] + GetPlanePoint S[2] + GetPlanePoint S[3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  61. TriBrushStr += "\t\t" + GetPlanePoint S[3] + GetPlanePoint S[1] + GetPlanePoint S[2] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  62. )
  63. else (
  64. -- format "dist == 0;\n"
  65. TriBrushStr += "\t\t" + GetPlanePoint S[4] + GetPlanePoint S[1] + GetPlanePoint S[3] + BShader + " 0 0 0 0.25 0.25 " + Detail as string+" 4 0\n"
  66. )
  67.  
  68. --format "\n"
  69.  
  70. )
  71. TriBrushStr += "\t}\n\n"
  72. TriBrushStr;
  73. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement