Beispiel #1
0
        private void Draw(Graphics g)
        {
            //lock (m_lock)
            //{
            //    UpdateBitmapSize();
            //}

            lock (m_lock)
            {
                //if (m_CheckBitmap)
                {
                    //return;
                }

                long  currentTime = stopWatch.ElapsedMilliseconds;
                float delta       = (float)((currentTime - previousTime) / 500.0);

                previousTime = currentTime;
                camera.Update(this.input, delta);
                Matrix vp = camera.GetViewProjection();

                monkeyTransform = monkeyTransform.Rotate(new Quaternion(new Vector(0, 1, 0), delta));

                target.m_bitmap = bmp;

                target.Begin();

                target.Clear(180);
                target.ClearDepthBuffer();
                monkeyMesh.Draw(target, vp, monkeyTransform.GetTransformation(), texture2);
                terrainMesh.Draw(target, vp, terrainTransform.GetTransformation(), texture);

                target.End();

                g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
                g.DrawImage(bmp, 0, 0, bmp.Width, bmp.Height);
            }
        }