/// <summary> /// Recieves a dictionary containing all data on a model, as well /// as a handler to the window we will be drawing too /// </summary> /// <param name="modelData"></param> /// <param name="window">The ASWindow object to draw on</param> public ASRenderer(Dictionary <string, object> modelData, ASWindow window) { // Init the context and window m_pen = new Pen(Color.White, 1); m_window = window; m_canvas = m_window.GetCanvas(); // Init the matrixes m_perspective = new ASMATRIX4(); m_translation = new ASMATRIX4(); m_scaling = new ASMATRIX4(); }
/// <summary> /// Creates the view matrixes /// </summary> /// <returns></returns> private void InitView() { var info = m_worldInfo; var tX = info["translateX"]; var tY = info["translateY"]; var tZ = info["translateZ"]; var rX = info["rotateX"]; var rY = info["rotateY"]; var rZ = info["rotateZ"]; var s = info["scale"] * m_scaleFactor; var f = info["focal"]; // Now perform matrix math... m_scaling = ASMATRIX4.CreateScalingMatrix(s, s, s); m_translation = ASMATRIX4.CreateTranslationMatrix(tX, tY, tZ); m_perspective = ASMATRIX4.CreatePerspectiveMatrix(f); m_rotation = ASMATRIX4.RotateByDegrees(rX, rY, rZ); }