1 module armos.graphics.entity; 2 3 import armos.graphics; 4 5 /++ 6 +/ 7 class Entity { 8 public{ 9 /// 10 Entity draw(in PolyRenderMode renderMode){ 11 _material.begin; 12 armos.graphics.currentRenderer.draw(_mesh, renderMode, true, true, true); 13 _material.end; 14 return this; 15 }; 16 17 /// 18 Entity draw(){ 19 draw(currentStyle.polyRenderMode); 20 return this; 21 }; 22 23 /++ 24 entityをワイヤフレームで描画します. 25 +/ 26 Entity drawWireFrame(){ 27 draw(armos.graphics.PolyRenderMode.WireFrame); 28 return this; 29 }; 30 31 /++ 32 entityの頂点を点で描画します. 33 +/ 34 Entity drawVertices(){ 35 draw(armos.graphics.PolyRenderMode.Points); 36 return this; 37 }; 38 39 /++ 40 meshの面を塗りつぶして描画します. 41 +/ 42 Entity drawFill(){ 43 draw(armos.graphics.PolyRenderMode.Fill); 44 return this; 45 }; 46 47 /// 48 Entity mesh(armos.graphics.Mesh m){ 49 _mesh = m; 50 return this; 51 } 52 53 /// 54 Entity material(armos.graphics.Material m){ 55 _material = m; 56 return this; 57 } 58 59 /// 60 armos.graphics.Mesh mesh(){ 61 return _mesh; 62 } 63 64 /// 65 armos.graphics.Material material(){ 66 return _material; 67 } 68 }//public 69 70 private{ 71 armos.graphics.Mesh _mesh; 72 armos.graphics.Material _material; 73 }//private 74 }//class Entity