Menu

GLSLWaterShader

Lazarus
Daniel
2018-05-04
2018-05-14
  • Daniel

    Daniel - 2018-05-04

    Hey!
    I cannot figure out how to use the new watershader.
    Should it be a component?

    Thanks for the update!

     
  • Jerome.D (BeanzMaster)

    Hi Daniel sorry i just see your message

    First add GLSLWaterShader unit in GLScene_Runtime package (i' forgot to add it) and recompile

    after it's simple :

    Uses GLSLWaterShader;
    
    Var
        WaterShader : TGLSLWaterShader; 
    
     WaterShader := TGLSLWaterShader.Create(Self);
    
    // Load textures
    MaterialLibrary.LibMaterialByName('CausticMap').Material.Texture.Image.LoadFromFile('textures\caustic.jpg');  MaterialLibrary.LibMaterialByName('WaterMap').Material.Texture.Image.LoadFromFile('textures\watertexture.jpg');
    
    // Set shader parameters
      WaterShader.MaterialLibrary  := MaterialLibrary;
     WaterShader.WaterRefTextureName := 'WaterMap';
     WaterShader.WaterTextureName := 'CausticMap';   
    
      // Material Ref to the 3D object like a plane
      MaterialLibrary.LibMaterialByName('ShaderMaterial').Shader := WaterShader; 
    
      //In CadencerProgress change   WaterShader.WaveTime 
       WaterShader.WaveTime := sin(0.03*newTime);   
    

    That's it

     
  • Jerome.D (BeanzMaster)

    Note : It's a very very simple basic shader, So it need some refines

     
  • Daniel

    Daniel - 2018-05-14

    Great stuff!!
    Thank you Jerome!

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.