private object ResolveMaterial(string materialPath) { using var material = _materials.LoadMaterial(materialPath); if (material.Resource == null) { Logger.Error("Unable to load material {0}", materialPath); return(-1); } return(material); }
public FrogGrappleController(RenderingDevice device, MdfMaterialFactory mdfFactory) { mDevice = device; mBufferBinding = device.CreateMdfBufferBinding(); mTongueMaterial = mdfFactory.LoadMaterial("art/meshes/Monsters/GiantFrog/tongue.mdf"); mVertexBuffer = device.CreateEmptyVertexBuffer(TongueVertex.Size * VertexCount, debugName: "FrogTongue"); CreateIndexBuffer(); mBufferBinding.AddBuffer(mVertexBuffer, 0, TongueVertex.Size) .AddElement(VertexElementType.Float4, VertexElementSemantic.Position) .AddElement(VertexElementType.Float4, VertexElementSemantic.Normal) .AddElement(VertexElementType.Float2, VertexElementSemantic.TexCoord); }
protected LineSegmentRenderer(RenderingDevice device, MdfMaterialFactory materialFactory, PerlinNoise noise, int maxLineSegments, string debugName) { _noise = noise; Vertices = new Vertex[maxLineSegments * 2]; Jitter = new float[maxLineSegments]; _device = device; _material = materialFactory.LoadMaterial("art/meshes/lightning.mdf", material => material.perVertexColor = true); _indexBuffer = CreateIndexBuffer(_device, maxLineSegments, debugName); _capIndexBuffer = CreateIndexBuffer2(_device, debugName); _vertexBuffer = _device.CreateEmptyVertexBuffer(Vertex.Size * Vertices.Length, debugName: debugName); _bufferBinding = _device.CreateMdfBufferBinding(true).Ref(); _bufferBinding.Resource.AddBuffer <Vertex>(_vertexBuffer.Resource, 0) .AddElement(VertexElementType.Float3, VertexElementSemantic.Position) .AddElement(VertexElementType.Float3, VertexElementSemantic.Normal) .AddElement(VertexElementType.Color, VertexElementSemantic.Color) .AddElement(VertexElementType.Float2, VertexElementSemantic.TexCoord); }
public MapObjectRenderer( RenderingDevice device, MdfMaterialFactory mdfFactory, AasRenderer aasRenderer) { mDevice = device; mAasRenderer = aasRenderer; mHighlightMaterial = mdfFactory.LoadMaterial("art/meshes/hilight.mdf"); mBlobShadowMaterial = mdfFactory.LoadMaterial("art/meshes/shadow.mdf"); mOccludedMaterial = mdfFactory.LoadMaterial("art/meshes/occlusion.mdf"); mGrappleController = new FrogGrappleController(device, mdfFactory); Globals.ConfigManager.OnConfigChanged += UpdateShadowType; UpdateShadowType(); // Load the weapon glow effect files mGlowMaterials[0] = mdfFactory.LoadMaterial("art/meshes/wg_magic.mdf"); mGlowMaterials[1] = mdfFactory.LoadMaterial("art/meshes/wg_acid.mdf"); mGlowMaterials[2] = mdfFactory.LoadMaterial("art/meshes/wg_bane.mdf"); mGlowMaterials[3] = mdfFactory.LoadMaterial("art/meshes/wg_chaotic.mdf"); mGlowMaterials[4] = mdfFactory.LoadMaterial("art/meshes/wg_cold.mdf"); mGlowMaterials[5] = mdfFactory.LoadMaterial("art/meshes/wg_fire.mdf"); mGlowMaterials[6] = mdfFactory.LoadMaterial("art/meshes/wg_holy.mdf"); mGlowMaterials[7] = mdfFactory.LoadMaterial("art/meshes/wg_law.mdf"); mGlowMaterials[8] = mdfFactory.LoadMaterial("art/meshes/wg_shock.mdf"); mGlowMaterials[9] = mdfFactory.LoadMaterial("art/meshes/wg_unholy.mdf"); }