public SimpleObject(string name, IServiceProvider services, PositionTexCoordNormalVertex[] vertices, short[] indices, string effectAsset, string diffuseMapAsset) : base(name) { if (services == null) { throw new ArgumentNullException("services"); } if (vertices == null) { throw new ArgumentNullException("vertices"); } if (indices == null) { throw new ArgumentNullException("indices"); } batchesRO = new BatchReadOnlyCollection(batches); // Services var resourceManager = (ResourceManager)services.GetService(typeof(ResourceManager)); var renderer = (Renderer)services.GetService(typeof(Renderer)); // Load effect & textures effect = resourceManager.Load <Effect>(effectAsset, false); diffuseMapView = new ShaderResourceView(renderer.Device, resourceManager.Load <Texture2D>(diffuseMapAsset)); effect.SetVariableByName("DiffuseMap", diffuseMapView, true); // Create batch CreateBatch(vertices, indices, renderer); // Calculate boundary CalculateBoundary(vertices); }
public SimpleObject(string name, IServiceProvider services, PositionTexCoordNormalVertex[] vertices, short[] indices, string effectAsset, string diffuseMapAsset) : base(name) { if (services == null) throw new ArgumentNullException("services"); if (vertices == null) throw new ArgumentNullException("vertices"); if (indices == null) throw new ArgumentNullException("indices"); batchesRO = new BatchReadOnlyCollection(batches); // Services var resourceManager = (ResourceManager)services.GetService(typeof(ResourceManager)); var renderer = (Renderer)services.GetService(typeof(Renderer)); // Load effect & textures effect = resourceManager.Load<Effect>(effectAsset, false); diffuseMapView = new ShaderResourceView(renderer.Device, resourceManager.Load<Texture2D>(diffuseMapAsset)); effect.SetVariableByName("DiffuseMap", diffuseMapView, true); // Create batch CreateBatch(vertices, indices, renderer); // Calculate boundary CalculateBoundary(vertices); }