Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- If style == 1 then (
- PD = ((PA + PB + PC)/3 - Depth * N)
- PD = [PD.x as integer, PD.y as integer, PD.z as integer]
- Planes = #(#(PB, PA, PC), #(PD, PB, PC), #(PD, PA, PB), #(PD, PC, PA))
- TCstr = " " + TC[1] as string + " " + TC[2] as string + " " + TC[3] as string + " " + TC[4] as string + " " + TC[5] as string + " "
- TriBrushStr = "\t//TriSoup: " + Name as string +"\n\t{\n"
- TriBrushStr += "\t\t" + GetPlanePoint Planes[1][1] + GetPlanePoint Planes[1][2] + GetPlanePoint Planes[1][3] + FShader + TCstr + Detail as string+" 4 0\n"
- 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"
- 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"
- 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"
- TriBrushStr += "\t}\n\n"
- TriBrushStr;
- )
- else (
- BA = PA - depth * NA
- BB = PB - depth * NB
- BC = PC - depth * NC
- --BA = [BA.x as integer, BA.y as integer, BA.z as integer]
- --BB = [BB.x as integer, BB.y as integer, BB.z as integer]
- --BC = [BC.x as integer, BC.y as integer, BC.z as integer]
- BA = RoundVec BA 1
- BB = RoundVec BB 1
- BC = RoundVec BC 1
- FrontFace = #(PC, PB, PA)
- BackFace = #(BA, BB, BC)
- Sides = #(#(PA, PB, BB, BA), #(PB, PC, BC, BB), #(PC, PA, BA, BC))
- TCstr = " " + TC[1] as string + " " + TC[2] as string + " " + TC[3] as string + " " + TC[4] as string + " " + TC[5] as string + " "
- TriBrushStr = "\t//TriSoup: " + Name as string +"\n\t{\n"
- TriBrushStr += "\t\t" + GetPlanePoint FrontFace[1] + GetPlanePoint FrontFace[2] + GetPlanePoint FrontFace[3] + FShader + TCstr + Detail as string+" 4 0\n"
- 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"
- --format "s = %\n" s
- for s in sides do (
- Normal = normalize( cross (s[1]-s[3]) (s[4]-s[3]) )
- dist = pointPlaneDist s[3] Normal s[2]
- format "\tNormal = %\n" Normal
- if dist < 0 then (
- --format "dist < 0; true\n"
- 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"
- 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"
- )
- else if dist > 0 then (
- -- format "dist > 0; false\n"
- 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"
- 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"
- )
- else (
- -- format "dist == 0;\n"
- 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"
- )
- --format "\n"
- )
- TriBrushStr += "\t}\n\n"
- TriBrushStr;
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement