public override void Render(int indexCount, int startIndexLocation, int baseVertexLocation) { EffectTechniqueDescription techDesc = effect.technique.Description; for (int p = 0; p < techDesc.PassCount; p++) { effect.technique.GetPassByIndex(p).Apply(DeviceManager.Instance.context); DeviceManager.Instance.context.DrawIndexed(indexCount, startIndexLocation, baseVertexLocation); } }
private static void CompareTechniques(EffectTechnique reflectionTechnique, Fx10.EffectTechnique technique) { EffectTechniqueDescription desc = reflectionTechnique.Description; Assert.AreEqual(desc.Name, technique.Name); Assert.AreEqual(desc.AnnotationCount, technique.Annotations.Count); Assert.AreEqual(desc.PassCount, technique.Passes.Count); var passes = reflectionTechnique.GetPasses(); for (int i = 0; i < desc.PassCount; i++) { ComparePass(passes[i], technique.Passes[i]); } var annotations = reflectionTechnique.GetAnnotations(); for (int i = 0; i < desc.AnnotationCount; i++) { CompareVariable(annotations[i], technique.Annotations[i]); } }
public void Render() { if (_physicsMesh == null) { return; } _context.Device.InputAssembler.InputLayout = _material.InputLayout; _context.Device.InputAssembler.SetIndexBuffer(_indexBuffer, Format.R32_UInt, 0); _context.Device.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(_vertexBuffer, Marshal.SizeOf(typeof(Vector3)), 0)); _context.Device.InputAssembler.PrimitiveTopology = PrimitiveTopology.TriangleList; _material.UpdateShaderVariables(null); EffectTechniqueDescription desc = _material.Technique.Description; for (int i = 0; i < desc.PassCount; i++) { _material.Technique.GetPassByIndex(i).Apply(); _context.Device.DrawIndexed(_physicsMesh.Indices.Count, 0, 0); } }
public override void Render() { Matrix ViewPerspective = CameraManager.Instance.ViewPerspective; Matrix WorldViewPerspective = this.transform * ViewPerspective; ew.tmat.SetMatrix(WorldViewPerspective); DeviceManager.Instance.context.InputAssembler.InputLayout = ew.layout; DeviceManager.Instance.context.InputAssembler.PrimitiveTopology = PrimitiveTopology.PointList; DeviceManager.Instance.context.InputAssembler.SetVertexBuffers(0, new VertexBufferBinding(vertexBuffer, vertexStride, 0)); DeviceManager.Instance.context.InputAssembler.SetIndexBuffer(indexBuffer, Format.R16_UInt, 0); ew.technique = ew.effect.GetTechniqueByName("Render"); EffectTechniqueDescription techDesc = ew.technique.Description; for (int p = 0; p < techDesc.PassCount; ++p) { ew.technique.GetPassByIndex(p).Apply(DeviceManager.Instance.context); DeviceManager.Instance.context.DrawIndexed(numIndices, 0, 0); } }
public void Render() { if (_mesh == null) { return; } _context.Device.InputAssembler.InputLayout = _defaultMaterial.InputLayout; _context.Device.InputAssembler.PrimitiveTopology = PrimitiveTopology.TriangleList; _defaultMaterial.UpdateShaderVariables(_mesh); EffectTechniqueDescription desc = _defaultMaterial.Technique.Description; for (int i = 0; i < desc.PassCount; i++) { _defaultMaterial.Technique.GetPassByIndex(i).Apply(); foreach (Model model in _models) { model.Render(_context); } } }