Exemple #1
0
        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);
                }
            }
        }