Urhosharp Material.FromImage无法与某些jpg文件一起工作

问题描述 投票:0回答:1

我在我的项目中将Xamarin.Forms与Urhosharp一起使用。我正在尝试从球体上的图像设置材质,在我的Android项目中一切正常,但是在iOS项目中,当我从某些jpg文件设置材质时,它不起作用,而我得到的只是黑屏。] >

以下是可正常使用的jpg:enter image description here

这是另一种没有的:enter image description here

这是我的代码:

            var scene = new Scene();
        scene.CreateComponent<Octree>();


        // Node (Rotation and Position)
        var node = scene.CreateChild("room");
        node.Position = new Vector3(0, 0, 0);
        //node.Rotation = new Quaternion(10, 60, 10);
        node.SetScale(1f);

        // Model
        var modelObject = node.CreateComponent<StaticModel>();
        modelObject.Model = ResourceCache.GetModel("CustomModels/SmoothSphere.mdl");

        var zoneNode = scene.CreateChild("Zone");
        var zone = zoneNode.CreateComponent<Zone>();
        zone.SetBoundingBox(new BoundingBox(-300.0f, 300.0f));
        zone.AmbientColor = new Color(1f, 1f, 1f);

        //get image from byte[]

        //var url = "http://www.wsj.com/public/resources/media/0524yosemite_1300R.jpg";
        //var wc = new WebClient() { Encoding = Encoding.UTF8 };

        //var mb = new MemoryBuffer(wc.DownloadData(new Uri(url)));
        var mb = new MemoryBuffer(PanoramaBuffer.PanoramaByteArray);
        var image = new Image(Context) { Name = "MyImage" };
        image.Load(mb);

        //or from resource

        //var image = ResourceCache.GetImage("Textures/grave.jpg");
        var isFliped = image.FlipHorizontal();
        if (!isFliped)
        {
            throw new Exception("Unsuccessful flip");
        }
        var m = Material.FromImage("1.jpg");
        m.SetTechnique(0, CoreAssets.Techniques.DiffNormal, 0, 0);
        m.CullMode = CullMode.Cw;
        //m.SetUVTransform(Vector2.Zero, 0, 0);
        modelObject.SetMaterial(m);

        // Camera
        var cameraNode = scene.CreateChild("camera");
        _camera = cameraNode.CreateComponent<Camera>();
        _camera.Fov = 75.8f;
        _initialZoom = _camera.Zoom;

        // Viewport
        Renderer.SetViewport(0, new Viewport(scene, _camera, null));

我已经尝试更改压缩级别,ICCC配置文件和...

我在我的项目中将Xamarin.Forms与Urhosharp一起使用。我正在尝试从球体上的图像设置材质,在我的Android项目中一切正常,但是在iOS项目中,当我从jpg中设置材质时...

xamarin xamarin.forms xamarin.ios jpeg urhosharp
1个回答
0
投票

我在forums.xamarin.com上问了同样的问题,有人回答了这个问题,我将在这里分享:

© www.soinside.com 2019 - 2024. All rights reserved.