コード例 #1
0
        public override void Init(PreviewEngine engine)
        {
            base.Init(engine);
            PreviewEntity = EngineRef.ECSWorld.CreateEntityWith <Transform, Renderer>("TestTextureEntity");

            PreviewEntity.GetComponent <Transform>().SetTransformations(Vector3.Zero, Quaternion.Identity, new Vector3(1, 1, 0.1f));
            RendererComponent = PreviewEntity.GetComponent <Renderer>();

            EngineRef.ECSWorld.Refresh();

            TestMaterial = new Material(new EngineCore.ShaderGraph.MetaMaterial()
            {
                shadingMode = EngineCore.ShaderGraph.MetaMaterial.ShadingMode.Unlit,
            })
            {
                Name           = "M_TextureTest",
                AlbedoMapAsset = "",
                PropetyBlock   = new MaterialPropetyBlock()
                {
                    MetallicValue  = 0.5f,
                    RoughnessValue = 0.75f,
                    Tile           = Vector2.One,
                },
            };
            RendererComponent.SetMeshAndMaterial(AssetsLoader.LoadMeshInfo(AssetsLoader.PrimitivesMesh.Cube),
                                                 AssetsLoader.LoadMaterialInfo(TestMaterial));

            /*PreviewGO = EngineRef.AddGameObject("TestQuad");
             * PreviewGO.transform.Position = Vector3.Zero;
             * PreviewGO.transform.Rotation = Quaternion.Identity;
             * PreviewGO.transform.Scale = (Vector3.Right + Vector3.Up) * 3.85f + Vector3.ForwardLH * 0.1f;
             * PreviewGO.GetComponent<DeprecatedRenderer>().SpecificType = DeprecatedRenderer.SpecificTypeEnum.Unlit;
             * PreviewGO.GetComponent<DeprecatedRenderer>().SetMeshAndMaterial(Primitives.PlaneWithUV, TestMaterial);
             * PreviewGO.SelfActive = false;*/
        }
コード例 #2
0
 public TestDXWindow()
 {
     InitializeComponent();
     DataContext = this;
     EngineRef   = new PreviewEngine();
     RendererElement.EngineRef = EngineRef;
     (AssetsTree.DataContext as AssetsTreeViewModel).OnAssetSelect += SetPreviewAsset;
 }
コード例 #3
0
        public PreviewForm(ProjectInfo projectInfo)
        {
            InitializeComponent();

            if (projectInfo != null)
            {
                PreviewEngine.LoadMovie(0, projectInfo.EngineFile.AbsolutePath);
            }
        }
コード例 #4
0
        public AssetEditorModelView(ProjectLink project)
        {
            AssetsManagerInstance.GetManager().RootPath = Path.GetDirectoryName(project.Src);
            //AssetsManagerInstance.GetManager().ImportAsset("PBR/DefferedPBRShader.hlsl", "DefferedPBRShader");
            //AssetsManagerInstance.GetManager().ImportAsset("PBR/DefferedPBRQuadShader.hlsl", "DefferedPBRQuadShader");
            EngineRef = new PreviewEngine();

            EngineRef.OnSetViewsControlsEnabled += (bool zoom, bool yaw, bool pitch, bool viewPos, bool meshType) => {
                ControlsVisibleFlags = new bool[] { zoom, yaw, pitch, viewPos, meshType };
            };
        }
コード例 #5
0
        public override void Init(PreviewEngine engine)
        {
            base.Init(engine);
            SphereMeshInfo = AssetsLoader.LoadMeshInfo(AssetsLoader.PrimitivesMesh.Sphere);
            CubeMeshInfo   = AssetsLoader.LoadMeshInfo(AssetsLoader.PrimitivesMesh.Cube);

            PreviewEntity = EngineRef.ECSWorld.CreateEntityWith <Transform, Renderer>("TestMaterialEntity");
            PreviewEntity.GetComponent <Transform>().SetTransformations(Vector3.Zero, Quaternion.Identity, Vector3.One);
            RendererComponent = PreviewEntity.GetComponent <Renderer>();
            RendererComponent.SetMeshAndMaterial(SphereMeshInfo,
                                                 AssetsLoader.LoadMaterialInfo(Material.DefaultMaterial));

            previewBehaviour = PreviewEntity.AddComponent <PreviewBehaviourComponent>();
            EngineRef.ECSWorld.Refresh();
        }
コード例 #6
0
 private void StartEngine()
 {
     engine = new PreviewEngine();
     RendererElement.EngineRef         = engine;
     engine.OnSetViewsControlsEnabled += (bool zoom, bool yaw, bool pitch, bool viewPos, bool meshType) => {
         Visibility vis = zoom ? Visibility.Visible : Visibility.Collapsed;
         ZoomSlider.Visibility = vis;
         ZoomLabel.Visibility  = vis;
         vis = yaw ? Visibility.Visible : Visibility.Collapsed;
         YawSlider.Visibility = zoom ? Visibility.Visible : Visibility.Collapsed;
         YawLabel.Visibility  = zoom ? Visibility.Visible : Visibility.Collapsed;
         vis = pitch ? Visibility.Visible : Visibility.Collapsed;
         PitchSlider.Visibility = vis;
         PitchLabel.Visibility  = vis;
         vis = viewPos ? Visibility.Visible : Visibility.Collapsed;
         ViewsList.Visibility = vis;
         vis = meshType ? Visibility.Visible : Visibility.Collapsed;
         MeshList.Visibility = vis;
     };
     InitAssetsManager();
 }
コード例 #7
0
 public virtual void Init(PreviewEngine engine)
 {
     EngineRef = engine;
 }
コード例 #8
0
 public MaterialAssetModelView(MaterialAsset asset, PreviewEngine engine)
 {
     EngineRef     = engine;
     m_Asset       = asset;
     m_BackupAsset = new MaterialAsset(asset);
 }