├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── docs └── figures │ ├── 1.2.1 │ ├── Calm-clear.png │ ├── Calm-turbid.png │ ├── default-3d.png │ ├── default-calm.png │ ├── default.png │ └── sunset.png │ ├── 1.2 │ ├── 1-clear-sky.png │ ├── 2-sunset.png │ ├── 3-shallow-clear.png │ └── 4-shallow-turbid.png │ └── profiling-window.png ├── libs ├── README.md └── stb │ └── stb_image.h └── src ├── Gui.cpp ├── Gui.h ├── README.md ├── WaterSurface.cpp ├── WaterSurface.h ├── core ├── Application.cpp ├── Application.h ├── Assert.h ├── Base.h ├── Log.cpp ├── Log.h ├── Profile.cpp ├── Profile.h ├── Timer.h ├── Timestep.h ├── Window.cpp └── Window.h ├── main.cpp ├── pch.h ├── scene ├── Camera.cpp ├── Camera.h ├── Mesh.h ├── SkyModel.cpp ├── SkyModel.h ├── SkyPreetham.cpp ├── SkyPreetham.h ├── WSTessendorf.cpp ├── WSTessendorf.h ├── WaterSurfaceMesh.cpp └── WaterSurfaceMesh.h ├── shaders ├── FullScreenQuad.vert ├── README.md ├── SkyPreetham.frag ├── WaterSurfaceMesh.frag └── WaterSurfaceMesh.vert └── vulkan ├── Buffer.cpp ├── Buffer.h ├── CommandBuffer.cpp ├── CommandBuffer.h ├── CommandPool.cpp ├── CommandPool.h ├── Descriptors.cpp ├── Descriptors.h ├── Device.cpp ├── Device.h ├── Image.cpp ├── Image.h ├── ImageView.cpp ├── ImageView.h ├── Instance.cpp ├── Instance.h ├── PhysicalDevice.cpp ├── PhysicalDevice.h ├── Pipeline.cpp ├── Pipeline.h ├── QueueTypes.cpp ├── QueueTypes.h ├── RenderPass.cpp ├── RenderPass.h ├── Sampler.cpp ├── Sampler.h ├── ShaderModule.cpp ├── ShaderModule.h ├── Surface.cpp ├── Surface.h ├── SwapChain.cpp ├── SwapChain.h ├── Texture2D.cpp ├── Texture2D.h ├── Texture3D.cpp ├── Texture3D.h ├── utils.cpp └── utils.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/README.md -------------------------------------------------------------------------------- /docs/figures/1.2.1/Calm-clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/Calm-clear.png -------------------------------------------------------------------------------- /docs/figures/1.2.1/Calm-turbid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/Calm-turbid.png -------------------------------------------------------------------------------- /docs/figures/1.2.1/default-3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/default-3d.png -------------------------------------------------------------------------------- /docs/figures/1.2.1/default-calm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/default-calm.png -------------------------------------------------------------------------------- /docs/figures/1.2.1/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/default.png -------------------------------------------------------------------------------- /docs/figures/1.2.1/sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2.1/sunset.png -------------------------------------------------------------------------------- /docs/figures/1.2/1-clear-sky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2/1-clear-sky.png -------------------------------------------------------------------------------- /docs/figures/1.2/2-sunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2/2-sunset.png -------------------------------------------------------------------------------- /docs/figures/1.2/3-shallow-clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2/3-shallow-clear.png -------------------------------------------------------------------------------- /docs/figures/1.2/4-shallow-turbid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/1.2/4-shallow-turbid.png -------------------------------------------------------------------------------- /docs/figures/profiling-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/docs/figures/profiling-window.png -------------------------------------------------------------------------------- /libs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/libs/README.md -------------------------------------------------------------------------------- /libs/stb/stb_image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/libs/stb/stb_image.h -------------------------------------------------------------------------------- /src/Gui.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/Gui.cpp -------------------------------------------------------------------------------- /src/Gui.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/Gui.h -------------------------------------------------------------------------------- /src/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/README.md -------------------------------------------------------------------------------- /src/WaterSurface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/WaterSurface.cpp -------------------------------------------------------------------------------- /src/WaterSurface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/WaterSurface.h -------------------------------------------------------------------------------- /src/core/Application.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Application.cpp -------------------------------------------------------------------------------- /src/core/Application.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Application.h -------------------------------------------------------------------------------- /src/core/Assert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Assert.h -------------------------------------------------------------------------------- /src/core/Base.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Base.h -------------------------------------------------------------------------------- /src/core/Log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Log.cpp -------------------------------------------------------------------------------- /src/core/Log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Log.h -------------------------------------------------------------------------------- /src/core/Profile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Profile.cpp -------------------------------------------------------------------------------- /src/core/Profile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Profile.h -------------------------------------------------------------------------------- /src/core/Timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Timer.h -------------------------------------------------------------------------------- /src/core/Timestep.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Timestep.h -------------------------------------------------------------------------------- /src/core/Window.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Window.cpp -------------------------------------------------------------------------------- /src/core/Window.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/core/Window.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/pch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/pch.h -------------------------------------------------------------------------------- /src/scene/Camera.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/Camera.cpp -------------------------------------------------------------------------------- /src/scene/Camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/Camera.h -------------------------------------------------------------------------------- /src/scene/Mesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/Mesh.h -------------------------------------------------------------------------------- /src/scene/SkyModel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/SkyModel.cpp -------------------------------------------------------------------------------- /src/scene/SkyModel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/SkyModel.h -------------------------------------------------------------------------------- /src/scene/SkyPreetham.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/SkyPreetham.cpp -------------------------------------------------------------------------------- /src/scene/SkyPreetham.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/SkyPreetham.h -------------------------------------------------------------------------------- /src/scene/WSTessendorf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/WSTessendorf.cpp -------------------------------------------------------------------------------- /src/scene/WSTessendorf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/WSTessendorf.h -------------------------------------------------------------------------------- /src/scene/WaterSurfaceMesh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/WaterSurfaceMesh.cpp -------------------------------------------------------------------------------- /src/scene/WaterSurfaceMesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/scene/WaterSurfaceMesh.h -------------------------------------------------------------------------------- /src/shaders/FullScreenQuad.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/shaders/FullScreenQuad.vert -------------------------------------------------------------------------------- /src/shaders/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/shaders/README.md -------------------------------------------------------------------------------- /src/shaders/SkyPreetham.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/shaders/SkyPreetham.frag -------------------------------------------------------------------------------- /src/shaders/WaterSurfaceMesh.frag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/shaders/WaterSurfaceMesh.frag -------------------------------------------------------------------------------- /src/shaders/WaterSurfaceMesh.vert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/shaders/WaterSurfaceMesh.vert -------------------------------------------------------------------------------- /src/vulkan/Buffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Buffer.cpp -------------------------------------------------------------------------------- /src/vulkan/Buffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Buffer.h -------------------------------------------------------------------------------- /src/vulkan/CommandBuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/CommandBuffer.cpp -------------------------------------------------------------------------------- /src/vulkan/CommandBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/CommandBuffer.h -------------------------------------------------------------------------------- /src/vulkan/CommandPool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/CommandPool.cpp -------------------------------------------------------------------------------- /src/vulkan/CommandPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/CommandPool.h -------------------------------------------------------------------------------- /src/vulkan/Descriptors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Descriptors.cpp -------------------------------------------------------------------------------- /src/vulkan/Descriptors.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Descriptors.h -------------------------------------------------------------------------------- /src/vulkan/Device.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Device.cpp -------------------------------------------------------------------------------- /src/vulkan/Device.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Device.h -------------------------------------------------------------------------------- /src/vulkan/Image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Image.cpp -------------------------------------------------------------------------------- /src/vulkan/Image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Image.h -------------------------------------------------------------------------------- /src/vulkan/ImageView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/ImageView.cpp -------------------------------------------------------------------------------- /src/vulkan/ImageView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/ImageView.h -------------------------------------------------------------------------------- /src/vulkan/Instance.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Instance.cpp -------------------------------------------------------------------------------- /src/vulkan/Instance.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Instance.h -------------------------------------------------------------------------------- /src/vulkan/PhysicalDevice.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/PhysicalDevice.cpp -------------------------------------------------------------------------------- /src/vulkan/PhysicalDevice.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/PhysicalDevice.h -------------------------------------------------------------------------------- /src/vulkan/Pipeline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Pipeline.cpp -------------------------------------------------------------------------------- /src/vulkan/Pipeline.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Pipeline.h -------------------------------------------------------------------------------- /src/vulkan/QueueTypes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/QueueTypes.cpp -------------------------------------------------------------------------------- /src/vulkan/QueueTypes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/QueueTypes.h -------------------------------------------------------------------------------- /src/vulkan/RenderPass.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/RenderPass.cpp -------------------------------------------------------------------------------- /src/vulkan/RenderPass.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/RenderPass.h -------------------------------------------------------------------------------- /src/vulkan/Sampler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Sampler.cpp -------------------------------------------------------------------------------- /src/vulkan/Sampler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Sampler.h -------------------------------------------------------------------------------- /src/vulkan/ShaderModule.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/ShaderModule.cpp -------------------------------------------------------------------------------- /src/vulkan/ShaderModule.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/ShaderModule.h -------------------------------------------------------------------------------- /src/vulkan/Surface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Surface.cpp -------------------------------------------------------------------------------- /src/vulkan/Surface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Surface.h -------------------------------------------------------------------------------- /src/vulkan/SwapChain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/SwapChain.cpp -------------------------------------------------------------------------------- /src/vulkan/SwapChain.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/SwapChain.h -------------------------------------------------------------------------------- /src/vulkan/Texture2D.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Texture2D.cpp -------------------------------------------------------------------------------- /src/vulkan/Texture2D.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Texture2D.h -------------------------------------------------------------------------------- /src/vulkan/Texture3D.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Texture3D.cpp -------------------------------------------------------------------------------- /src/vulkan/Texture3D.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/Texture3D.h -------------------------------------------------------------------------------- /src/vulkan/utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/utils.cpp -------------------------------------------------------------------------------- /src/vulkan/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kentril0/WaterSurfaceRendering/HEAD/src/vulkan/utils.h --------------------------------------------------------------------------------