Пример #1
0
    public static FDatasmithFacadeTexture CreateSimpleTextureElement(string InTextureFilePath)
    {
        global::System.IntPtr   cPtr = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeMaterialsUtils_CreateSimpleTextureElement__SWIG_1(InTextureFilePath);
        FDatasmithFacadeTexture ret  = (cPtr == global::System.IntPtr.Zero) ? null : new FDatasmithFacadeTexture(cPtr, false);

        return(ret);
    }
Пример #2
0
        public static FDatasmithFacadeTexture ParseTexture(RhinoTextureInfo TextureInfo)
        {
            Texture RhinoTexture = TextureInfo.RhinoTexture;

            if (!TextureInfo.IsSupported())
            {
                return(null);
            }

            FDatasmithFacadeTexture TextureElement = new FDatasmithFacadeTexture(TextureInfo.Name);

            TextureElement.SetLabel(TextureInfo.Label);
            TextureElement.SetFile(TextureInfo.FilePath);
            TextureElement.SetTextureFilter(FDatasmithFacadeTexture.ETextureFilter.Default);
            TextureElement.SetRGBCurve(1);
            TextureElement.SetTextureAddressX(RhinoTexture.WrapU == TextureUvwWrapping.Clamp ? FDatasmithFacadeTexture.ETextureAddress.Clamp : FDatasmithFacadeTexture.ETextureAddress.Wrap);
            TextureElement.SetTextureAddressY(RhinoTexture.WrapV == TextureUvwWrapping.Clamp ? FDatasmithFacadeTexture.ETextureAddress.Clamp : FDatasmithFacadeTexture.ETextureAddress.Wrap);

            FDatasmithFacadeTexture.ETextureMode TextureMode = FDatasmithFacadeTexture.ETextureMode.Diffuse;
            if (RhinoTexture.TextureType == TextureType.Bump)
            {
                TextureMode = FDatasmithFacadeTexture.ETextureMode.Bump;
            }

            TextureElement.SetTextureMode(TextureMode);

            return(TextureElement);
        }
Пример #3
0
        public static void ExportMaterials(FDatasmithFacadeScene DatasmithScene, DatasmithRhinoSceneParser SceneParser)
        {
            int TextureAndMaterialCount    = SceneParser.TextureHashToTextureInfo.Count + SceneParser.MaterialHashToMaterialInfo.Count;
            int TextureAndMaterialProgress = 0;

            foreach (RhinoTextureInfo CurrentTextureInfo in SceneParser.TextureHashToTextureInfo.Values)
            {
                FDatasmithRhinoProgressManager.Instance.UpdateCurrentTaskProgress((float)(++TextureAndMaterialProgress) / TextureAndMaterialCount);

                FDatasmithFacadeTexture TextureElement = ParseTexture(CurrentTextureInfo);
                if (TextureElement != null)
                {
                    DatasmithScene.AddTexture(TextureElement);
                }
            }

            foreach (RhinoMaterialInfo CurrentMaterialInfo in SceneParser.MaterialHashToMaterialInfo.Values)
            {
                FDatasmithRhinoProgressManager.Instance.UpdateCurrentTaskProgress((float)(++TextureAndMaterialProgress) / TextureAndMaterialCount);
                FDatasmithFacadeUEPbrMaterial DSMaterial = new FDatasmithFacadeUEPbrMaterial(CurrentMaterialInfo.Name);
                DSMaterial.SetLabel(CurrentMaterialInfo.Label);
                ParseMaterial(DSMaterial, CurrentMaterialInfo.RhinoMaterial, SceneParser);

                DatasmithScene.AddMaterial(DSMaterial);
            }
        }
    public FDatasmithFacadeTexture GetTexture(int TextureIndex)
    {
        global::System.IntPtr   cPtr = DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeScene_GetTexture(swigCPtr, TextureIndex);
        FDatasmithFacadeTexture ret  = (cPtr == global::System.IntPtr.Zero) ? null : new FDatasmithFacadeTexture(cPtr, false);

        return(ret);
    }
 public void AddTexture(string InPropertyName, FDatasmithFacadeTexture InTexture)
 {
     DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeMasterMaterial_AddTexture(swigCPtr, InPropertyName, FDatasmithFacadeTexture.getCPtr(InTexture));
 }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FDatasmithFacadeTexture obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
 public void RemoveTexture(FDatasmithFacadeTexture InTexturePtr)
 {
     DatasmithFacadeCSharpPINVOKE.FDatasmithFacadeScene_RemoveTexture(swigCPtr, FDatasmithFacadeTexture.getCPtr(InTexturePtr));
 }