├── .gitignore ├── .prettierrc ├── README.md ├── package.json ├── postcss.config.cjs ├── public ├── meta │ └── vite.svg └── resources │ └── Ground054_1K_NormalGL.jpg ├── src ├── home │ ├── index.scss │ ├── index.ts │ └── webgl │ │ ├── Caustics.ts │ │ ├── Ground.ts │ │ ├── TCanvas.ts │ │ ├── core │ │ └── WebGL.ts │ │ ├── glsl │ │ ├── cnoise.glsl │ │ ├── fbm.glsl │ │ ├── math.glsl │ │ └── recalcNormal.glsl │ │ ├── shader │ │ ├── causticsFrag.glsl │ │ ├── causticsVert.glsl │ │ ├── groundFrag.glsl │ │ ├── groundVert.glsl │ │ └── shaderChunk.ts │ │ └── utils │ │ ├── OrbitControls.ts │ │ ├── assetLoader.ts │ │ ├── coveredTexture.ts │ │ └── gui.ts ├── index.html ├── scripts │ └── utils.ts ├── styles │ ├── base.scss │ └── mixins │ │ └── media.scss └── types │ ├── glsl.d.ts │ ├── types.ts │ └── vite-env.d.ts ├── tsconfig.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/.prettierrc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [require('autoprefixer')], 3 | } 4 | -------------------------------------------------------------------------------- /public/meta/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/public/meta/vite.svg -------------------------------------------------------------------------------- /public/resources/Ground054_1K_NormalGL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/public/resources/Ground054_1K_NormalGL.jpg -------------------------------------------------------------------------------- /src/home/index.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/index.scss -------------------------------------------------------------------------------- /src/home/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/index.ts -------------------------------------------------------------------------------- /src/home/webgl/Caustics.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/Caustics.ts -------------------------------------------------------------------------------- /src/home/webgl/Ground.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/Ground.ts -------------------------------------------------------------------------------- /src/home/webgl/TCanvas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/TCanvas.ts -------------------------------------------------------------------------------- /src/home/webgl/core/WebGL.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/core/WebGL.ts -------------------------------------------------------------------------------- /src/home/webgl/glsl/cnoise.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/glsl/cnoise.glsl -------------------------------------------------------------------------------- /src/home/webgl/glsl/fbm.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/glsl/fbm.glsl -------------------------------------------------------------------------------- /src/home/webgl/glsl/math.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/glsl/math.glsl -------------------------------------------------------------------------------- /src/home/webgl/glsl/recalcNormal.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/glsl/recalcNormal.glsl -------------------------------------------------------------------------------- /src/home/webgl/shader/causticsFrag.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/shader/causticsFrag.glsl -------------------------------------------------------------------------------- /src/home/webgl/shader/causticsVert.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/shader/causticsVert.glsl -------------------------------------------------------------------------------- /src/home/webgl/shader/groundFrag.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/shader/groundFrag.glsl -------------------------------------------------------------------------------- /src/home/webgl/shader/groundVert.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/shader/groundVert.glsl -------------------------------------------------------------------------------- /src/home/webgl/shader/shaderChunk.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/shader/shaderChunk.ts -------------------------------------------------------------------------------- /src/home/webgl/utils/OrbitControls.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/utils/OrbitControls.ts -------------------------------------------------------------------------------- /src/home/webgl/utils/assetLoader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/utils/assetLoader.ts -------------------------------------------------------------------------------- /src/home/webgl/utils/coveredTexture.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/utils/coveredTexture.ts -------------------------------------------------------------------------------- /src/home/webgl/utils/gui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/home/webgl/utils/gui.ts -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/index.html -------------------------------------------------------------------------------- /src/scripts/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/scripts/utils.ts -------------------------------------------------------------------------------- /src/styles/base.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/styles/base.scss -------------------------------------------------------------------------------- /src/styles/mixins/media.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/styles/mixins/media.scss -------------------------------------------------------------------------------- /src/types/glsl.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/src/types/glsl.d.ts -------------------------------------------------------------------------------- /src/types/types.ts: -------------------------------------------------------------------------------- 1 | export interface Page { 2 | dispose: () => void 3 | } 4 | -------------------------------------------------------------------------------- /src/types/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nemutas/caustics/HEAD/vite.config.ts --------------------------------------------------------------------------------