public void InitializeScene(VX_DISPLAY_TYPES displayType, VX_FORMAT_TYPES formatType) { //init, with aa turned on since we have 3d elements Scene.EnableFullScreenAA = true; Scene.Initialize(displayType, formatType); //Scene.CanvasScaleToFit = 1; Scene.EnableInputVideo = true; // get the scene cast in its different forms IVxScene sceneInterface = (IVxScene)Scene.GetOcx(); object sceneObject = (object)sceneInterface; if (displayType == VX_DISPLAY_TYPES.VX_DISPLAY_XMIO) { VtxXmioLib.VX_FORMAT_TYPES xmioFormatType = VtxXmioLib.VX_FORMAT_TYPES.VX_FORMAT_720P; switch (formatType) { case VX_FORMAT_TYPES.VX_FORMAT_1080P_5000: xmioFormatType = VtxXmioLib.VX_FORMAT_TYPES.VX_FORMAT_1080P_5000; break; } _videoMixer = new VtxXmioLib.VxMixerClass(); _videoInput = new VtxXmioLib.VxVideoInput(); _videoMixer.Initialize2(1, 0, 1, 0, xmioFormatType, true); _videoMixer.ConnectVideoInput(_videoInput); _videoMixer.EnableOnboardCompositor = true; _videoInput.EnableVideo = true; sceneInterface.SetAdjust((int)DSUITE_CP_TYPES.DSUITE_GENLOCK, 1, 0); } sceneInterface.SetCommandQueueID(0); // instance and init pageengine PageEngine = new VxPageEngine(); PageEngine.Initialize(sceneInterface); PageEngine.SetWorkingDirectory(WorkingDirectory); // load virtual camera template PageEngine.LoadTemplate("VirtualCamera"); PageEngine.ShowPage("VirtualCamera", true); PageEngine.DeactivateTimeline("VirtualCamera", "HOME", false); //PageEngine.LoadTemplate("Field"); //PageEngine.ShowPage("Field", true); //PageEngine.FlushQueuedCommands(); // setup scenebrowser _sceneBrowser.SetScene(ref sceneObject); _sceneBrowser.Refresh(); // bind members to template //_templateFrame = Scene.Frames.Item("Field"); //_rotateFrame = _templateFrame.Frames.Item("RotateFrame"); //BallFrame = (IVxMesh3D)_templateFrame.Frames.Item("SoccerBall"); //FieldFrame = (IVxMesh3D)_rotateFrame.Frames.Item("FieldScan"); // turn off hit testing on example trees //foreach (IVxFrame it in FieldFrame.Frames) //{ // it.EnableHitTest = false; //} Camera = (IVxCamera)Scene.Frames.DescendantItem("Virtual Camera"); Camera.NearPlane = 10; //0.00001f; // 10 Camera.FarPlane = 100000; //1000;//100000; Camera.Highlight = 1; Camera.LookThrough = true; IVxPropertySet propertySet = null; Camera.GetPropertySet(ref propertySet, true); propertySet.Set("AimMethod", (int)VX_AIM_METHOD.VX_AIM_METHOD_CAM_FRAME); Scene.InternalComposite = VX_INTERNAL_COMPOSITE_TYPES.VX_ICOMP_LIVE_INPUT | VX_INTERNAL_COMPOSITE_TYPES.VX_ICOMP_SHAPED; // push updated hit test parameters to the template Scene.Update(); // ready! _initialized = true; }
private void sldHorzDelay_Scroll(object sender, EventArgs e) { Scene.SetAdjust((int)DSUITE_CP_TYPES.DSUITE_GENLOCK_HPRESET, (int)sldHorzDelay.Value, 0); UpdateUI(); }