Aquatica engine can be used to simplify the implementation of water surfaces in application with DirectX9 graphics. Key features of the engine:- Water surface approximation using heightmaps. - Heightmaps can be generated in real-time using FFT or Perlin noise. - Generation of normalmaps - Generation of geometry: simple grid, geomipmap grid, radial grid - Water rendering options include: reflections, refractions, CPU/GPU vertex displacement, foam rendering, sunlight reflection rendering, depth effects. - 4 DirectX9 based rendering engines are available for different types of hardware, starting with DirectX7 and up to Shader Model 3.0 The source code is written in C++, divided among 22 classes. Rendering uses DirectX9 libraries. Shaders are written in HLSL. Aquatica engine is fully object oriented.