Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Start a new part because of the different material
- partBuilder = builder.part("shadow_plane",
- GL20.GL_TRIANGLES,
- Usage.Position | Usage.Normal | Usage.ColorUnpacked,
- new Material(ColorAttribute.createDiffuse(Color.WHITE)));
- //create on X/Y plane (consider Z extrude direction)
- float margin = box.getHeight();
- //extend base of the Bbox
- //Get top corners (x1x), extend them of the height (to avoid extending box under the bottom)
- // then get bottom corners (x0x) to have the plane size
- Vector3 innerCorner000 = box.getCorner000(new Vector3());
- Vector3 innerCorner001 = box.getCorner001(new Vector3());
- Vector3 innerCorner100 = box.getCorner100(new Vector3());
- Vector3 innerCorner101 = box.getCorner101(new Vector3());
- box.ext(box.getCorner010(new Vector3()), margin);
- box.ext(box.getCorner011(new Vector3()), margin);
- box.ext(box.getCorner110(new Vector3()), margin);
- box.ext(box.getCorner111(new Vector3()), margin);
- //then get the new values
- Vector3 outerCorner000 = box.getCorner000(new Vector3());
- Vector3 outerCorner001 = box.getCorner001(new Vector3());
- Vector3 outerCorner100 = box.getCorner100(new Vector3());
- Vector3 outerCorner101 = box.getCorner101(new Vector3());
- VertexInfo v1 = new VertexInfo();
- v1.hasPosition = v1.hasNormal = v1.hasColor = true;
- v1.color.set(Color.RED);
- v1.position.set(outerCorner000);
- v1.normal.set(Vector3.Y);
- VertexInfo v2 = new VertexInfo();
- v2.hasPosition = v2.hasNormal = v2.hasColor = true;
- v2.color.set(Color.WHITE);
- v2.position.set(outerCorner001);
- v2.normal.set(Vector3.Y);
- VertexInfo v3 = new VertexInfo();
- v3.hasPosition = v3.hasNormal = v3.hasColor = true;
- v3.color.set(Color.BLACK);
- v3.position.set(innerCorner001);
- v3.normal.set(Vector3.Y);
- VertexInfo v4 = new VertexInfo();
- v4.hasPosition = v4.hasNormal = v4.hasColor = true;
- v4.color.set(Color.BLUE);
- v4.position.set(innerCorner000);
- v4.normal.set(Vector3.Y);
- partBuilder.rect(v1, v2, v3, v4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement