TransparentPlaneWithShadows.cs 982 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. namespace Urho.SharpReality
  3. {
  4. public class TransparentPlaneWithShadows : Component
  5. {
  6. public TransparentPlaneWithShadows() {}
  7. public TransparentPlaneWithShadows(IntPtr handle) : base(handle) {}
  8. public override void OnAttachedToNode(Node node)
  9. {
  10. Application.Renderer.ReuseShadowMaps = false;
  11. Technique technique = new Technique();
  12. var pass = technique.CreatePass("litalpha");
  13. pass.DepthWrite = false;
  14. pass.BlendMode = BlendMode.Multiply;
  15. pass.PixelShader = "LitSolid";
  16. pass.VertexShader = "LitSolid";
  17. pass.VertexShaderDefines = "NOUV";
  18. Material material = new Material();
  19. material.SetTechnique(0, technique);
  20. material.SetShaderParameter(CoreAssets.ShaderParameters.MatDiffColor, Color.White);
  21. material.SetShaderParameter(CoreAssets.ShaderParameters.MatSpecColor, Color.White);
  22. StaticModel model = Node.CreateComponent<StaticModel>();
  23. model.Model = CoreAssets.Models.Plane;
  24. model.Material = material;
  25. }
  26. }
  27. }