我在我的项目中将Xamarin.Forms与Urhosharp一起使用。我正在尝试从球体上的图像设置材质,在我的Android项目中一切正常,但是在iOS项目中,当我从某些jpg文件设置材质时,它不起作用,而我得到的只是黑屏。] >
这是我的代码:
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中设置材质时...
我在forums.xamarin.com上问了同样的问题,有人回答了这个问题,我将在这里分享: