public static void draw_solid(Transform transform, Color4b color, Vector3 upper, Vector3 lower) { VMIN = lower; VMAX = upper; EnsureMinMax(ref VMIN, ref VMAX); GL.Disable(EnableCap.Blend); GL.Disable(EnableCap.Texture2D); GL.Disable(EnableCap.AlphaTest); GL.PushMatrix(); transform.GL_Load(); GL.Begin(PrimitiveType.Quads); color.GL_Load(); VERTEX(XMAX | YMAX | ZMIN); // Top-right of top face VERTEX(XMIN | YMAX | ZMIN); // Top-left of top face VERTEX(XMIN | YMAX | ZMAX); // Bottom-left of top face VERTEX(XMAX | YMAX | ZMAX); // Bottom-right of top face VERTEX(XMAX | YMIN | ZMIN); // Top-right of bottom face VERTEX(XMIN | YMIN | ZMIN); // Top-left of bottom face VERTEX(XMIN | YMIN | ZMAX); // Bottom-left of bottom face VERTEX(XMAX | YMIN | ZMAX); // Bottom-right of bottom face VERTEX(XMAX | YMAX | ZMAX); // Top-Right of front face VERTEX(XMIN | YMAX | ZMAX); // Top-left of front face VERTEX(XMIN | YMIN | ZMAX); // Bottom-left of front face VERTEX(XMAX | YMIN | ZMAX); // Bottom-right of front face VERTEX(XMAX | YMIN | ZMIN); // Bottom-Left of back face VERTEX(XMIN | YMIN | ZMIN); // Bottom-Right of back face VERTEX(XMIN | YMAX | ZMIN); // Top-Right of back face VERTEX(XMAX | YMAX | ZMIN); // Top-Left of back face VERTEX(XMIN | YMAX | ZMAX); // Top-Right of left face VERTEX(XMIN | YMAX | ZMIN); // Top-Left of left face VERTEX(XMIN | YMIN | ZMIN); // Bottom-Left of left face VERTEX(XMIN | YMIN | ZMAX); // Bottom-Right of left face VERTEX(XMAX | YMAX | ZMAX); // Top-Right of left face VERTEX(XMAX | YMAX | ZMIN); // Top-Left of left face VERTEX(XMAX | YMIN | ZMIN); // Bottom-Left of left face VERTEX(XMAX | YMIN | ZMAX); // Bottom-Right of left face Color4b.White.GL_Load(); GL.End(); GL.PopMatrix(); GL.Enable(EnableCap.Blend); GL.Enable(EnableCap.Texture2D); GL.Enable(EnableCap.AlphaTest); }
public static void draw(Transform transform, Color4b color, Vector3 upper, Vector3 lower) { VMIN = lower; VMAX = upper; //EnsureMinMax(ref VMIN, ref VMAX); GL.Disable(EnableCap.Blend); GL.Disable(EnableCap.Texture2D); GL.Disable(EnableCap.AlphaTest); GL.PushMatrix(); transform.GL_Load(); /* * GL.Begin(PrimitiveType.LineLoop); * GL.Color4(color); * * VERTEX(XMAX|YMAX|ZMIN); // 1 * VERTEX(XMIN|YMAX|ZMIN); // 2 * VERTEX(XMIN|YMAX|ZMAX); // 3 * VERTEX(XMAX|YMAX|ZMIN); // 1 * VERTEX(XMAX|YMAX|ZMAX); // 4 * VERTEX(XMIN|YMAX|ZMAX); // 3 * * VERTEX(XMIN|YMIN|ZMAX); // 7 * VERTEX(XMIN|YMIN|ZMIN); // 6 * VERTEX(XMAX|YMIN|ZMIN); // 5 * VERTEX(XMIN|YMIN|ZMAX); // 7 * VERTEX(XMAX|YMIN|ZMAX); // 8 * VERTEX(XMAX|YMIN|ZMIN); // 5 * * VERTEX(XMIN|YMAX|ZMIN); // 2 * VERTEX(XMIN|YMIN|ZMIN); // 6 * VERTEX(XMIN|YMAX|ZMAX); // 3 * VERTEX(XMAX|YMIN|ZMAX); // 8 * VERTEX(XMAX|YMAX|ZMAX); // 4 * VERTEX(XMAX|YMIN|ZMIN); // 5 */ GL.Begin(PrimitiveType.Lines); color.GL_Load(); VERTEX(XMAX | YMAX | ZMAX); VERTEX(XMAX | YMAX | ZMIN); VERTEX(XMAX | YMIN | ZMIN); VERTEX(XMAX | YMIN | ZMAX); VERTEX(XMIN | YMAX | ZMAX); VERTEX(XMIN | YMAX | ZMIN); VERTEX(XMIN | YMIN | ZMIN); VERTEX(XMIN | YMIN | ZMAX); VERTEX(YMAX | ZMAX | XMAX); VERTEX(YMAX | ZMAX | XMIN); VERTEX(YMAX | ZMIN | XMIN); VERTEX(YMAX | ZMIN | XMAX); VERTEX(YMIN | ZMAX | XMAX); VERTEX(YMIN | ZMAX | XMIN); VERTEX(YMIN | ZMIN | XMIN); VERTEX(YMIN | ZMIN | XMAX); VERTEX(ZMAX | XMAX | YMAX); VERTEX(ZMAX | XMAX | YMIN); VERTEX(ZMAX | XMIN | YMIN); VERTEX(ZMAX | XMIN | YMAX); VERTEX(ZMIN | XMAX | YMAX); VERTEX(ZMIN | XMAX | YMIN); VERTEX(ZMIN | XMIN | YMIN); VERTEX(ZMIN | XMIN | YMAX); Color4b.White.GL_Load(); GL.End(); GL.PopMatrix(); GL.Enable(EnableCap.Blend); GL.Enable(EnableCap.Texture2D); GL.Enable(EnableCap.AlphaTest); }