Beispiel #1
0
 /// <summary>
 /// 开始桌面共享、远程协助(发送图片)
 /// </summary>
 /// <param name="userName"></param>
 /// <param name="isHelp"></param>
 /// <param name="qualityLevel"></param>
 /// <param name="fps"></param>
 public void StartSendCapture(string remote, bool isHelp = true, QualityLevelEnum qualityLevel = QualityLevelEnum.Normal, int fps = 1)
 {
     _isHelp         = isHelp;
     _qualityLevel   = qualityLevel;
     _fps            = fps;
     _isStartCapture = true;
     _mCleint.ConnectAsync();
     _remote = "wenlirdp_" + remote;
     while (!_mCleint.IsConnected)
     {
         Thread.Sleep(10);
     }
     this.SendRequest();
 }
Beispiel #2
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (comboBox1.SelectedItem.ToString())
            {
            case "高等质量":
                _qualityLevel = QualityLevelEnum.High;
                break;

            case "中等质量":
                _qualityLevel = QualityLevelEnum.Normal;
                break;

            case "低等质量":
                _qualityLevel = QualityLevelEnum.Low;
                break;

            default:
                _qualityLevel = QualityLevelEnum.Normal;
                break;
            }
        }
        /// <summary>
        /// 开始桌面共享、远程协助(发送图片)
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="isHelp"></param>
        /// <param name="qualityLevel"></param>
        /// <param name="fps"></param>
        public void StartSendCapture(string remote, string username, bool isHelp = true, QualityLevelEnum qualityLevel = QualityLevelEnum.Normal, int fps = 1)
        {
            //_isHelp = isHelp;
            //_qualityLevel = qualityLevel;
            //_fps = fps;
            // _isStartCapture = true;
            //_mClient.ConnectAsync();
            // Remote =  remote;
            //while (!_mClient.IsConnected)
            //{
            //    Thread.Sleep(10);

            //}
            //this._isConnected = true;
            this.SendRequest(username);
        }
Beispiel #4
0
        public Water(Vector3 position, float size, QualityLevelEnum quality)
        {
            this.qualityLevel = quality;
            squareMesh        = new SquareMesh(size, 1, 1, 1.0f);
            this.Mesh         = squareMesh;
            this.RotateXAngle = (float)Math.PI / 2;
            this.Position     = position;

            if (quality != QualityLevelEnum.Low)
            {
                Vector3 point1 = new Vector3(-1, 0f, 1);
                Vector3 point2 = new Vector3(1, 0f, 1);
                Vector3 point3 = new Vector3(-1, 0f, -1);
                Plane   plane  = Plane.FromPoints(point1, point2, point3);

                // reflection
                //reflectionTexture = new TextureBase(256, 256);
                reflectionClipPlane = plane;

                // refraction
                plane               = Plane.FromPoints(point1, point2, point3);
                plane.C            *= -1;
                refractionClipPlane = plane;

                waterNormalTexture = new TextureBase("waterbump.dds");

                // initialize shader
                waterShader = new ShaderBase("water", "watereffects.fx");
                waterShader.SetVariable("xWorld", ShaderBase.ShaderParameters.World);
                waterShader.SetVariable("xView", ShaderBase.ShaderParameters.View);
                waterShader.SetVariable("xReflectionView", ShaderBase.ShaderParameters.Reflection);
                waterShader.SetVariable("xProjection", ShaderBase.ShaderParameters.Projection);
                //waterShader.SetVariable("xReflectionMap", reflectionTexture);
                //waterShader.SetVariable("xRefractionMap", refractionTexture);
                waterShader.SetVariable("xDrawMode", reflectionRefractionRatio);
                waterShader.SetVariable("fresnelMode", fresnelMode);
                waterShader.SetVariable("xdullBlendFactor", 0.2f);
                waterShader.SetVariable("xEnableTextureBlending", 0);
                waterShader.SetVariable("xWaterBumpMap", waterNormalTexture);
                waterShader.SetVariable("xWaterPos", new Vector3(position.X, position.Z, position.Y));

                // parameteres for the wave
                waterShader.SetVariable("WaveLength", 0.1f);
                waterShader.SetVariable("WaveHeight", 0.4f);
                waterShader.SetVariable("SunPosition", new Vector3(1.0f, 1.0f, 1.0f));
                //waterShader.SetVariable("xCamPos", Framework.Instance.CurrentCamera.LookFrom);

                //waterShader.SetVariable("xTime", totalTime);
                waterShader.SetVariable("xWindForce", 20.0f);
                waterShader.SetVariable("xWindDirection", Matrix.RotationY(1.0f));

                //specular reflection parameters
                waterShader.SetVariable("specPower", 364);
                waterShader.SetVariable("specPerturb", 4);

                waterShader.SetTechnique("Water");

                CreateShaderResources(Framework.Instance.Device);

                this.Shader = waterShader;
            }
            else // low quality
            {
                squareMesh.Texture = new TextureBase("water.jpg");
            }

            Framework.Instance.DeviceReset += new Bonsai.Core.EventArgs.DeviceEventHandler(Instance_DeviceReset);
            Framework.Instance.DeviceLost  += new EventHandler(Instance_DeviceLost);
        }