/// <summary>
        /// Creates a new light proxy.
        /// </summary>
        private LightProxy AddLightProxy(EntityProxy parent)
        {
            LightProxy light = new LightProxy(sceneDocument, parent);
            TreeNode   node  = AddTreeNode(parent.TreeNode, light);

            return(light);
        }
Exemplo n.º 2
0
        public WcfLight()
        {
            InitializeComponent();
            LightServiceCallback callback = new LightServiceCallback(new Button[] { Button1, Button2, Button3 }, SynchronizationContext.Current);
            LightProxy           proxy    = new LightProxy(new System.ServiceModel.InstanceContext(callback));

            Task.Run(() =>
            {
                MessageBox.Show(proxy.EnableButtons());
            });
        }
        /// <summary>
        /// Called when a new light is requested.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AddLightMenuItem_Click(object sender, EventArgs e)
        {
            // Get selected entity
            EntityProxy entity = GetSelectedEntity();

            if (entity == null)
            {
                return;
            }

            // Add light
            LightProxy lightProxy = AddLightProxy(entity);
        }
        /// <summary>
        /// Creates a new default lighting rig entity.
        /// </summary>
        private EntityProxy AddDefaultLightingRig()
        {
            // Create lighting rig entity
            EntityProxy lightingRig = AddEntityProxy();

            lightingRig.Name = "Default Lighting";

            // Attach lights to rig entity
            LightProxy keyLight     = AddLightProxy(lightingRig);
            LightProxy fillLight    = AddLightProxy(lightingRig);
            LightProxy backLight    = AddLightProxy(lightingRig);
            LightProxy ambientLight = AddLightProxy(lightingRig);

            // Key light
            keyLight.Name      = "Key Light";
            keyLight.LightType = LightProxy.LightProxyTypes.Directional;
            keyLight.Direction = Vector3.Normalize(new Vector3(1.0f, -0.5f, -1.0f));
            keyLight.Intensity = 1.0f;
            keyLight.Color     = System.Drawing.Color.White;

            // Fill light
            fillLight.Name      = "Fill Light";
            fillLight.LightType = LightProxy.LightProxyTypes.Directional;
            fillLight.Direction = Vector3.Normalize(new Vector3(-1.0f, -0.5f, -1.0f));
            fillLight.Intensity = 0.5f;
            fillLight.Color     = System.Drawing.Color.White;

            // Back light
            backLight.Name      = "Back Light";
            backLight.LightType = LightProxy.LightProxyTypes.Directional;
            backLight.Direction = Vector3.Normalize(new Vector3(0.0f, -0.5f, 1.0f));
            backLight.Intensity = 0.5f;
            backLight.Color     = System.Drawing.Color.White;

            // Ambient light
            ambientLight.Name      = "Ambient Light";
            ambientLight.LightType = LightProxy.LightProxyTypes.Ambient;
            ambientLight.Intensity = 0.1f;
            ambientLight.Color     = System.Drawing.Color.White;

            return(lightingRig);
        }