internal static global::System.Runtime.InteropServices.HandleRef getCPtr(D3DMaterial obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
internal static void DrawRibbon(this RenderContext context, RibbonMesh mesh, D3DSimpleTextureEffect effect, D3DMaterial material, Matrix viewProjection, ShaderResourceView texture) { // World = I, so use viewProjection as World*viewProjection effect.WorldTransform = Matrix.Identity; effect.WorldTransformInversedTransposed = MathF.InverseTranspose(Matrix.Identity); effect.WorldViewProjectionTransform = viewProjection; effect.Material = material; effect.Texture = texture; var tech = effect.SimpleTextureTechnique; var desc = tech.Description; var deviceContext = context.Direct3DDevice.ImmediateContext; for (var i = 0; i < desc.PassCount; ++i) { tech.GetPassByIndex(i).Apply(deviceContext); mesh.Draw(deviceContext); } }