Beispiel #1
0
 /// <summary>
 /// Initialise les paramètres du shader.
 /// </summary>
 void InitializeEffect()
 {
     m_material = new Graphics.Material(
         new Color4(1.0f, 0.48f, 0.48f, 0.48f), // ambient
         new Color4(1.0f, 0.88f, 0.88f, 0.88f), // diffuse
         new Color4(1.0f, 0.0f, 0.0f, 0.0f),
         //new Color4(2.0f, 0.2f, 0.2f, 0.2f), // specular
         new Color4(0, 0, 0, 0));
 }
Beispiel #2
0
 /// <summary>
 /// Initialise les paramètres du shader.
 /// </summary>
 void InitializeEffect()
 {
     m_material = new Graphics.Material(
         new Color4(1.0f, 0.48f, 0.48f, 0.48f), // ambient
         new Color4(1.0f, 0.88f, 0.88f, 0.88f), // diffuse
         new Color4(1.0f, 0.0f, 0.0f, 0.0f),
         //new Color4(2.0f, 0.2f, 0.2f, 0.2f), // specular
         new Color4(0, 0, 0, 0));
 }
Beispiel #3
0
 /// <summary>
 /// Applique cet effet.
 /// </summary>
 public void Apply(Matrix World, Matrix View, Matrix Projection, Material material)
 {
     m_device.ImmediateContext.InputAssembler.InputLayout = m_inputLayout;
     m_effect.GetVariableByName("xWorld").AsMatrix().SetMatrix(World);
     m_effect.GetVariableByName("xWorldViewProj").AsMatrix().SetMatrix(World * View * Projection);
     m_effect.GetVariableByName("xWorldInvTranspose").AsMatrix().SetMatrix(Matrix.Invert(Matrix.Transpose(World)));
     m_effect.GetVariableByName("xMaterial").SetRawValue(material.Bytes, (int)material.Bytes.Length);
     m_effect.GetVariableByName("xCameraPos").AsVector().Set(Scene.Instance.Camera.Position);
     float cameraHeight = Scene.Instance.Camera.Position.Length();
     m_effect.GetVariableByName("fCameraHeight").AsScalar().Set(cameraHeight);
     m_effect.GetVariableByName("fCameraHeight2").AsScalar().Set(cameraHeight * cameraHeight);
     m_effect.GetTechniqueByIndex(0).GetPassByIndex(0).Apply(m_device.ImmediateContext);
 }