public override void Draw3D(Camera3D camera, GameObjectTag DrawTag) { if (MyModel.get() != null && MyEffect.get() != null) { Game1.graphicsDevice.BlendState = BlendState.AlphaBlend; _3DEffect effect3D = (_3DEffect)MyEffect.Holder; effect3D.SetFromObject(this); effect3D.SetFromCamera(camera); Render.DrawModel(MyModel.get(), MyEffect.get()); } base.Draw3D(camera, DrawTag); }
public override void Draw3D(Camera3D camera, GameObjectTag DrawTag) { if (MyModel.get() != null && MyEffect.get() != null) { Deferred3DEffect effect3D = (Deferred3DEffect)MyEffect.Holder; switch (DrawTag) { case GameObjectTag._3DDeferredGBuffer: { effect3D.SetWorldViewIT(camera, this); effect3D.SetFromObject(this); effect3D.SetFromCamera(camera); effect3D.SetDeferredTechnique(); break; } case GameObjectTag._3DShadow: { effect3D.SetFromObject(this); effect3D.SetFromCamera(camera); effect3D.SetShadowTechnique(); effect3D.SetLight(Transfer.LightPosition, Transfer.LightDistance); break; } default: { effect3D.SetFromCamera(camera); effect3D.SetUV(camera); if (!UseDeferred.get()) { effect3D.SetFromObject(this); } effect3D.SetForwardTechnique(); break; } } Render.DrawModel(MyModel.get(), MyEffect.get()); } base.Draw3D(camera, DrawTag); }
public static void DrawModel(ModelValue model, EffectValue effect, Camera3D camera, Basic3DObject obj) { DrawModel(model.get(), effect, camera, obj); }