@WaterMtrlRegion.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class WaterMtrlRegion : MaterialRegion
  4. {
  5. class Change : MaterialRegion::Change
  6. {
  7. EditWaterMtrl data;
  8. virtual void create(ptr user)override;
  9. virtual void apply(ptr user)override;
  10. };
  11. WaterMtrl temp;
  12. WaterMtrlPtr game;
  13. EditWaterMtrl edit;
  14. static void Render();
  15. void render();
  16. virtual void drawPreview()override;
  17. static void PreChanged(C Property &prop);
  18. static void Changed(C Property &prop);
  19. static Str Density (C WaterMtrlRegion &mr );
  20. static void Density ( WaterMtrlRegion &mr, C Str &t);
  21. static Str DensityAdd (C WaterMtrlRegion &mr );
  22. static void DensityAdd ( WaterMtrlRegion &mr, C Str &t);
  23. static Str DensityUnderwater (C WaterMtrlRegion &mr );
  24. static void DensityUnderwater ( WaterMtrlRegion &mr, C Str &t);
  25. static Str DensityUnderwaterAdd (C WaterMtrlRegion &mr );
  26. static void DensityUnderwaterAdd ( WaterMtrlRegion &mr, C Str &t);
  27. static Str ScaleColor (C WaterMtrlRegion &mr );
  28. static void ScaleColor ( WaterMtrlRegion &mr, C Str &t);
  29. static Str ScaleNormal (C WaterMtrlRegion &mr );
  30. static void ScaleNormal ( WaterMtrlRegion &mr, C Str &t);
  31. static Str ScaleBump (C WaterMtrlRegion &mr );
  32. static void ScaleBump ( WaterMtrlRegion &mr, C Str &t);
  33. static Str NrmScale (C WaterMtrlRegion &mr );
  34. static void NrmScale ( WaterMtrlRegion &mr, C Str &t);
  35. static Str ReflectTex (C WaterMtrlRegion &mr );
  36. static void ReflectTex ( WaterMtrlRegion &mr, C Str &t);
  37. static Str ReflectWorld (C WaterMtrlRegion &mr );
  38. static void ReflectWorld ( WaterMtrlRegion &mr, C Str &t);
  39. static Str Refract (C WaterMtrlRegion &mr );
  40. static void Refract ( WaterMtrlRegion &mr, C Str &t);
  41. static Str RefractReflection (C WaterMtrlRegion &mr );
  42. static void RefractReflection ( WaterMtrlRegion &mr, C Str &t);
  43. static Str RefractUnderwater (C WaterMtrlRegion &mr );
  44. static void RefractUnderwater ( WaterMtrlRegion &mr, C Str &t);
  45. static Str Specular (C WaterMtrlRegion &mr );
  46. static void Specular ( WaterMtrlRegion &mr, C Str &t);
  47. static Str WaveScale (C WaterMtrlRegion &mr );
  48. static void WaveScale ( WaterMtrlRegion &mr, C Str &t);
  49. static Str FresnelPow (C WaterMtrlRegion &mr );
  50. static void FresnelPow ( WaterMtrlRegion &mr, C Str &t);
  51. static Str FresnelRough (C WaterMtrlRegion &mr );
  52. static void FresnelRough ( WaterMtrlRegion &mr, C Str &t);
  53. static Str FresnelColor (C WaterMtrlRegion &mr );
  54. static void FresnelColor ( WaterMtrlRegion &mr, C Str &t);
  55. static Str Col (C WaterMtrlRegion &mr );
  56. static void Col ( WaterMtrlRegion &mr, C Str &t);
  57. static Str ColorUnderwater0 (C WaterMtrlRegion &mr );
  58. static void ColorUnderwater0 ( WaterMtrlRegion &mr, C Str &t);
  59. static Str ColorUnderwater1 (C WaterMtrlRegion &mr );
  60. static void ColorUnderwater1 ( WaterMtrlRegion &mr, C Str &t);
  61. static Str FNY (C WaterMtrlRegion &mr );
  62. static void FNY ( WaterMtrlRegion &mr, C Str &t);
  63. virtual EditMaterial& getEditMtrl ()override;
  64. virtual C ImagePtr & getBase0 ()override;
  65. virtual C ImagePtr & getBase1 ()override;
  66. //virtual C ImagePtr & getDetail ()override {return game-> detail_map ;}
  67. virtual C ImagePtr & getReflection()override;
  68. //virtual C ImagePtr & getMacro ()override {return game-> macro_map ;}
  69. //virtual C ImagePtr & getLight ()override {return game-> light_map ;}
  70. void create();
  71. // operations
  72. virtual void flush()override;
  73. virtual void setChanged()override;
  74. virtual void set(Elm *elm)override;
  75. void set(C WaterMtrlPtr &mtrl);
  76. virtual void rebuildBase(uint old_base_tex, bool changed_flip_normal_y=false, bool adjust_params=true, bool always=false)override;
  77. virtual void rebuildReflection()override;
  78. virtual void rebuildDetail()override;
  79. virtual void rebuildMacro()override;
  80. virtual void rebuildLight()override;
  81. virtual void elmChanged(C UID &mtrl_id)override;
  82. public:
  83. WaterMtrlRegion();
  84. };
  85. /******************************************************************************/
  86. /******************************************************************************/
  87. extern WaterMtrlRegion WaterMtrlEdit;
  88. /******************************************************************************/