/// <summary> /// Initialisiert eine neue Instanz der PM Klasse. /// </summary> /// <param name="viewport3d"> /// Das D3D11 Viewport3d Control für welche die Instanz erzeugt wird. /// </param> /// <param name="m"> /// Eine Mesh Instanz mit deren Daten die Progressiv Mesh initialisiert werden /// soll. /// </param> public PM(Viewport3d viewport3d, Mesh m) : base() { mesh = m; numberOfSplits = mesh.Splits.Count; this.viewport3d = viewport3d; vertexBuffer = CreateVertexBuffer(m.Vertices.Length); indexBuffer = CreateIndexBuffer(m.FlatFaces.Length); inputLayout = CreateInputLayout(); vertexBufferBinding = new VertexBufferBinding(vertexBuffer, Vertex.Size, 0); // Vertices und Indices in Grafikspeicher kopieren. CopyData(); }
/// <summary> /// Initialisiert eine neue Instanz der InputProcessor Klasse. /// </summary> /// <param name="viewport3d"> /// Die Viewport3d Instanz, deren Eingaben verarbeitet werden sollen. /// </param> /// <exception cref="ArgumentNullException"> /// Der Viewport3d Parameter ist null. /// </exception> public InputProcessor(Viewport3d viewport3d) { viewport3d.ThrowIfNull("viewport3d"); camera = viewport3d.Camera; this.viewport3d = viewport3d; }