本文整理汇总了C#中Car.Draw方法的典型用法代码示例。如果您正苦于以下问题:C# Car.Draw方法的具体用法?C# Car.Draw怎么用?C# Car.Draw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Car
的用法示例。
在下文中一共展示了Car.Draw方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawCar
private void DrawCar(Matrix view, Matrix projection, Car car)
{
// TODO: CARMOVE
car.View = view;
car.Projection = projection;
car.Draw(null);
//foreach (var mesh in car.Model.Meshes) // 5 meshes
//{
// Matrix world = Matrix.Identity;
// // Wheel transformation
// if ((int)mesh.Tag > 0)
// {
// world *= Matrix.CreateRotationX(car.WheelRotationX);
// if ((int)mesh.Tag > 1)
// world *= Matrix.CreateRotationY(car.WheelRotationY);
// }
// // Local modelspace
// world *= mesh.ParentBone.Transform;
// // World
// world *= car.RotationMatrix * car.TranslationMatrix;
// foreach (Effect effect in mesh.Effects) // 5 effects for main, 1 for each wheel
// {
// EffectParameterCollection param = effect.Parameters;
// if (mesh.Name.Equals("main"))
// {
// param["MaterialReflection"].SetValue(.9f);
// param["MaterialShininess"].SetValue(10);
// }
// param["World"].SetValue(world);
// param["View"].SetValue(view);
// param["Projection"].SetValue(projection);
// if (mesh.Name.Equals("main"))
// {
// param["NormalMatrix"].SetValue(Matrix.Invert(Matrix.Transpose(world)));
// param["EyePosition"].SetValue(Game.GetService<CameraComponent>().Position);
// if (mesh.Name == "main")
// {
// param["MaterialDiffuse"].SetValue(GameSettings.Default.CarColor.ToVector3());
// param["MaterialAmbient"].SetValue(GameSettings.Default.CarColor.ToVector3());
// }
// param["DirectionalLightDirection"].SetValue(directionalLight.Direction);
// param["DirectionalLightDiffuse"].SetValue(directionalLight.Diffuse);
// param["DirectionalLightAmbient"].SetValue(directionalLight.Ambient);
// }
// }
// mesh.Draw();
//}
}