Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. //Start a new part because of the different material
  2. partBuilder = builder.part("shadow_plane",
  3. GL20.GL_TRIANGLES,
  4. Usage.Position | Usage.Normal | Usage.ColorUnpacked,
  5. new Material(ColorAttribute.createDiffuse(Color.WHITE)));
  6.  
  7. //create on X/Y plane (consider Z extrude direction)
  8. float margin = box.getHeight();
  9.  
  10.  
  11. //extend base of the Bbox
  12. //Get top corners (x1x), extend them of the height (to avoid extending box under the bottom)
  13. // then get bottom corners (x0x) to have the plane size
  14. Vector3 innerCorner000 = box.getCorner000(new Vector3());
  15. Vector3 innerCorner001 = box.getCorner001(new Vector3());
  16. Vector3 innerCorner100 = box.getCorner100(new Vector3());
  17. Vector3 innerCorner101 = box.getCorner101(new Vector3());
  18. box.ext(box.getCorner010(new Vector3()), margin);
  19. box.ext(box.getCorner011(new Vector3()), margin);
  20. box.ext(box.getCorner110(new Vector3()), margin);
  21. box.ext(box.getCorner111(new Vector3()), margin);
  22.  
  23. //then get the new values
  24. Vector3 outerCorner000 = box.getCorner000(new Vector3());
  25. Vector3 outerCorner001 = box.getCorner001(new Vector3());
  26. Vector3 outerCorner100 = box.getCorner100(new Vector3());
  27. Vector3 outerCorner101 = box.getCorner101(new Vector3());
  28.  
  29.  
  30. VertexInfo v1 = new VertexInfo();
  31. v1.hasPosition = v1.hasNormal = v1.hasColor = true;
  32. v1.color.set(Color.RED);
  33. v1.position.set(outerCorner000);
  34. v1.normal.set(Vector3.Y);
  35.  
  36. VertexInfo v2 = new VertexInfo();
  37. v2.hasPosition = v2.hasNormal = v2.hasColor = true;
  38. v2.color.set(Color.WHITE);
  39. v2.position.set(outerCorner001);
  40. v2.normal.set(Vector3.Y);
  41.  
  42. VertexInfo v3 = new VertexInfo();
  43. v3.hasPosition = v3.hasNormal = v3.hasColor = true;
  44. v3.color.set(Color.BLACK);
  45. v3.position.set(innerCorner001);
  46. v3.normal.set(Vector3.Y);
  47.  
  48. VertexInfo v4 = new VertexInfo();
  49. v4.hasPosition = v4.hasNormal = v4.hasColor = true;
  50. v4.color.set(Color.BLUE);
  51. v4.position.set(innerCorner000);
  52. v4.normal.set(Vector3.Y);
  53.  
  54. partBuilder.rect(v1, v2, v3, v4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement