diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..b58b603f --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/THREE.js-PathTracing-Renderer.iml b/.idea/THREE.js-PathTracing-Renderer.iml new file mode 100644 index 00000000..24643cc3 --- /dev/null +++ b/.idea/THREE.js-PathTracing-Renderer.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..f8248a28 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Arctic_Circle.html b/Arctic_Circle.html index 0b12d8f9..e747b480 100644 --- a/Arctic_Circle.html +++ b/Arctic_Circle.html @@ -5,6 +5,8 @@ + + diff --git a/BVH_Animated_Model.html b/BVH_Animated_Model.html index d153b843..c1292f18 100644 --- a/BVH_Animated_Model.html +++ b/BVH_Animated_Model.html @@ -6,6 +6,8 @@ + + diff --git a/BVH_Model_Instancing.html b/BVH_Model_Instancing.html index 75c0a6ca..10fa880b 100644 --- a/BVH_Model_Instancing.html +++ b/BVH_Model_Instancing.html @@ -6,6 +6,8 @@ + + diff --git a/BVH_Point_Light_Source.html b/BVH_Point_Light_Source.html index 5cd2f64f..73a7edc8 100644 --- a/BVH_Point_Light_Source.html +++ b/BVH_Point_Light_Source.html @@ -6,6 +6,8 @@ + + diff --git a/BVH_Spot_Light_Source.html b/BVH_Spot_Light_Source.html index 48a072c7..f988226b 100644 --- a/BVH_Spot_Light_Source.html +++ b/BVH_Spot_Light_Source.html @@ -6,6 +6,8 @@ + + diff --git a/BVH_Terrain.html b/BVH_Terrain.html index 9624f12c..ec5e9331 100644 --- a/BVH_Terrain.html +++ b/BVH_Terrain.html @@ -6,6 +6,8 @@ + + diff --git a/BVH_Visualizer.html b/BVH_Visualizer.html index 3a071712..e5794548 100644 --- a/BVH_Visualizer.html +++ b/BVH_Visualizer.html @@ -6,6 +6,8 @@ + + diff --git a/Bi-Directional_Difficult_Lighting.html b/Bi-Directional_Difficult_Lighting.html index 0b4092e9..ca82588b 100644 --- a/Bi-Directional_Difficult_Lighting.html +++ b/Bi-Directional_Difficult_Lighting.html @@ -5,6 +5,8 @@ + + diff --git a/Bi-Directional_PathTracing.html b/Bi-Directional_PathTracing.html index f0d25e6a..f22dfdcf 100644 --- a/Bi-Directional_PathTracing.html +++ b/Bi-Directional_PathTracing.html @@ -5,6 +5,8 @@ + + diff --git a/Billiard_Table.html b/Billiard_Table.html index 8be0f6aa..5c6e6163 100644 --- a/Billiard_Table.html +++ b/Billiard_Table.html @@ -5,6 +5,8 @@ + + diff --git a/CSG_Museum_1.html b/CSG_Museum_1.html index 429bf859..875e373e 100644 --- a/CSG_Museum_1.html +++ b/CSG_Museum_1.html @@ -5,6 +5,8 @@ + + diff --git a/CSG_Museum_2.html b/CSG_Museum_2.html index 3c2c9ebd..2fda5e37 100644 --- a/CSG_Museum_2.html +++ b/CSG_Museum_2.html @@ -5,6 +5,8 @@ + + diff --git a/CSG_Museum_3.html b/CSG_Museum_3.html index 0c5432f8..71f6f0b8 100644 --- a/CSG_Museum_3.html +++ b/CSG_Museum_3.html @@ -5,6 +5,8 @@ + + diff --git a/CSG_Museum_4.html b/CSG_Museum_4.html index 15e1645e..f7971a39 100644 --- a/CSG_Museum_4.html +++ b/CSG_Museum_4.html @@ -5,6 +5,8 @@ + + diff --git a/Cheap_Torus.html b/Cheap_Torus.html index b4a7450b..0e41c3ce 100644 --- a/Cheap_Torus.html +++ b/Cheap_Torus.html @@ -6,6 +6,8 @@ + + diff --git a/Classic_Scene_Appel_ShadingMachineRenderingsOfSolids.html b/Classic_Scene_Appel_ShadingMachineRenderingsOfSolids.html index 87e4ea7e..99f1605d 100644 --- a/Classic_Scene_Appel_ShadingMachineRenderingsOfSolids.html +++ b/Classic_Scene_Appel_ShadingMachineRenderingsOfSolids.html @@ -6,6 +6,8 @@ + + diff --git a/Classic_Scene_Kajiya_TheRenderingEquation.html b/Classic_Scene_Kajiya_TheRenderingEquation.html index 3a9f3aa7..b2233012 100644 --- a/Classic_Scene_Kajiya_TheRenderingEquation.html +++ b/Classic_Scene_Kajiya_TheRenderingEquation.html @@ -5,6 +5,8 @@ + + diff --git a/Classic_Scene_Whitted_TheCompleatAngler.html b/Classic_Scene_Whitted_TheCompleatAngler.html index 45b8285a..a93433f2 100644 --- a/Classic_Scene_Whitted_TheCompleatAngler.html +++ b/Classic_Scene_Whitted_TheCompleatAngler.html @@ -5,6 +5,8 @@ + + diff --git a/Compare_Bi-Directional_Approach.html b/Compare_Bi-Directional_Approach.html index 36898413..86714bb8 100644 --- a/Compare_Bi-Directional_Approach.html +++ b/Compare_Bi-Directional_Approach.html @@ -5,6 +5,8 @@ + + diff --git a/Compare_Uni-Directional_Approach.html b/Compare_Uni-Directional_Approach.html index e589cc35..0bc64445 100644 --- a/Compare_Uni-Directional_Approach.html +++ b/Compare_Uni-Directional_Approach.html @@ -5,6 +5,8 @@ + + diff --git a/Constructive_Solid_Geometry_Viewer.html b/Constructive_Solid_Geometry_Viewer.html index aa2b42e3..7f4e3258 100644 --- a/Constructive_Solid_Geometry_Viewer.html +++ b/Constructive_Solid_Geometry_Viewer.html @@ -6,6 +6,8 @@ + + diff --git a/Convex_Polyhedra.html b/Convex_Polyhedra.html index 9c7e4fba..f3f82d73 100644 --- a/Convex_Polyhedra.html +++ b/Convex_Polyhedra.html @@ -6,6 +6,8 @@ + + diff --git a/Cornell_Box.html b/Cornell_Box.html index 5c7b2d2e..0bd2e5ac 100644 --- a/Cornell_Box.html +++ b/Cornell_Box.html @@ -5,6 +5,8 @@ + + diff --git a/Fractal3D.html b/Fractal3D.html index 8bb048ae..af37d645 100644 --- a/Fractal3D.html +++ b/Fractal3D.html @@ -6,6 +6,8 @@ + + diff --git a/GLTF_Model_Viewer.html b/GLTF_Model_Viewer.html index 53803ce6..cf543fc8 100644 --- a/GLTF_Model_Viewer.html +++ b/GLTF_Model_Viewer.html @@ -6,6 +6,8 @@ three.js PathTracing Renderer - glTF Viewer + + diff --git a/GameEngine_PathTracer.html b/GameEngine_PathTracer.html index baf8cd54..4f658ba8 100644 --- a/GameEngine_PathTracer.html +++ b/GameEngine_PathTracer.html @@ -5,6 +5,8 @@ + + diff --git a/Geometry_Showcase.html b/Geometry_Showcase.html index 5f9f7627..dfa84a22 100644 --- a/Geometry_Showcase.html +++ b/Geometry_Showcase.html @@ -5,6 +5,8 @@ + + diff --git a/Grid_Acceleration.html b/Grid_Acceleration.html index 99adb23f..11bd4f0c 100644 --- a/Grid_Acceleration.html +++ b/Grid_Acceleration.html @@ -5,6 +5,8 @@ + + diff --git a/HDRI_Environment.html b/HDRI_Environment.html index 1911abeb..9e663966 100644 --- a/HDRI_Environment.html +++ b/HDRI_Environment.html @@ -6,6 +6,8 @@ + + diff --git a/Invisible_Date.html b/Invisible_Date.html index 4539c5e7..f970de9f 100644 --- a/Invisible_Date.html +++ b/Invisible_Date.html @@ -6,6 +6,8 @@ + + diff --git a/Light_Shafts.html b/Light_Shafts.html index 01620643..6958aa09 100644 --- a/Light_Shafts.html +++ b/Light_Shafts.html @@ -6,6 +6,8 @@ + + diff --git a/Material_Roughness.html b/Material_Roughness.html index 3709db63..f6316cac 100644 --- a/Material_Roughness.html +++ b/Material_Roughness.html @@ -5,6 +5,8 @@ + + diff --git a/MultiSPF_Dynamic_Scene.html b/MultiSPF_Dynamic_Scene.html index 73b53a7f..a068795a 100644 --- a/MultiSPF_Dynamic_Scene.html +++ b/MultiSPF_Dynamic_Scene.html @@ -5,6 +5,8 @@ + + diff --git a/MultiSamples_Per_Frame.html b/MultiSamples_Per_Frame.html index 528cd159..1a89122c 100644 --- a/MultiSamples_Per_Frame.html +++ b/MultiSamples_Per_Frame.html @@ -5,6 +5,8 @@ + + diff --git a/Ocean_And_Sky_Rendering.html b/Ocean_And_Sky_Rendering.html index 27743741..7eceb7a7 100644 --- a/Ocean_And_Sky_Rendering.html +++ b/Ocean_And_Sky_Rendering.html @@ -5,6 +5,8 @@ + + diff --git a/Planet_Rendering.html b/Planet_Rendering.html index 16479756..487ac3d2 100644 --- a/Planet_Rendering.html +++ b/Planet_Rendering.html @@ -5,6 +5,8 @@ + + diff --git a/Quadric_Shapes_Explorer.html b/Quadric_Shapes_Explorer.html index e193dfcb..fe610105 100644 --- a/Quadric_Shapes_Explorer.html +++ b/Quadric_Shapes_Explorer.html @@ -6,6 +6,8 @@ + + diff --git a/README.md b/README.md index 9a8c60fe..a843cd49 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ Real-time PathTracing with global illumination and progressive rendering, all on

LIVE DEMOS

+* Here is a web page containing [all live demos](https://svnkomo.github.io/THREE.js-PathTracing-Renderer/all_examples.html) for quick access and tinkering. + * [Geometry Showcase Demo](https://erichlof.github.io/THREE.js-PathTracing-Renderer/Geometry_Showcase.html) demonstrates some primitive shapes for ray tracing, while showing off the renderer's capabilities - global illumination, true reflections/refractions, bounce lighting, soft shadows, caustics, and near-instant image convergence at 30-60fps, on any device! * [Ocean and Sky Demo](https://erichlof.github.io/THREE.js-PathTracing-Renderer/Ocean_And_Sky_Rendering.html) mixes ray tracing with ray marching and models an enormous calm ocean underneath a realistic physical sky. Now has more photo-realistic procedural clouds! diff --git a/Ray_Warping.html b/Ray_Warping.html index 866db4c0..f2e97391 100644 --- a/Ray_Warping.html +++ b/Ray_Warping.html @@ -5,6 +5,8 @@ + + diff --git a/Sphereflake.html b/Sphereflake.html index e08dcc6d..039667ce 100644 --- a/Sphereflake.html +++ b/Sphereflake.html @@ -6,6 +6,8 @@ + + diff --git a/Switching_Materials.html b/Switching_Materials.html index 20f63b42..ec99f04e 100644 --- a/Switching_Materials.html +++ b/Switching_Materials.html @@ -5,6 +5,8 @@ + + diff --git a/Terrain_Rendering.html b/Terrain_Rendering.html index 3ce6af55..e16fd69c 100644 --- a/Terrain_Rendering.html +++ b/Terrain_Rendering.html @@ -5,6 +5,8 @@ + + diff --git a/Transforming_Quadric_Geometry_Showcase.html b/Transforming_Quadric_Geometry_Showcase.html index f4acc832..c19953a7 100644 --- a/Transforming_Quadric_Geometry_Showcase.html +++ b/Transforming_Quadric_Geometry_Showcase.html @@ -5,6 +5,8 @@ + + diff --git a/Volumetric_Rendering.html b/Volumetric_Rendering.html index 9bb84b28..6c39b3e8 100644 --- a/Volumetric_Rendering.html +++ b/Volumetric_Rendering.html @@ -5,6 +5,8 @@ + + diff --git a/Water_Rendering.html b/Water_Rendering.html index 9d833c7f..48bc8776 100644 --- a/Water_Rendering.html +++ b/Water_Rendering.html @@ -5,6 +5,8 @@ + + diff --git a/all_examples.html b/all_examples.html new file mode 100644 index 00000000..e53cbbb7 --- /dev/null +++ b/all_examples.html @@ -0,0 +1,38 @@ + + + + + + Three.js PathTracing Renderer + + + + + +
+
+

example scenes

+

+ below is a growing list of live example scenes for your enjoyment +

+

+ Examples were created by Erich Loftis through his + THREE.js PathTracing Renderer + +

+
+
+
+ + + diff --git a/all_examples.js b/all_examples.js new file mode 100644 index 00000000..2102c182 --- /dev/null +++ b/all_examples.js @@ -0,0 +1,85 @@ +// Define card data +const cardsData = [ + { title: "Arctic Circle", imageUrl: "imgs/card-icons/1.png", link: "Arctic_Circle.html" }, + { title: "Bi-Directional Difficult Lighting", imageUrl: "imgs/card-icons/2.png", link: "Bi-Directional_Difficult_Lighting.html" }, + { title: "Bi-Directional Pathtracing", imageUrl: "imgs/card-icons/3.png", link: "Bi-Directional_PathTracing.html" }, + { title: "Billiard_Table", imageUrl: "imgs/card-icons/4.png", link: "Billiard_Table.html" }, + { title: "BVH Animated Model", imageUrl: "imgs/card-icons/5.png", link: "BVH_Animated_Model.html" }, + { title: "BVH_Model Instancing", imageUrl: "imgs/card-icons/6.png", link: "BVH_Model_Instancing.html" }, + { title: "BVH_Point Light Source", imageUrl: "imgs/card-icons/7.png", link: "BVH_Point_Light_Source.html" }, + { title: "BVH_Spot Light Source", imageUrl: "imgs/card-icons/8.png", link: "BVH_Spot_Light_Source.html" }, + { title: "BVH Terrain", imageUrl: "imgs/card-icons/9.png", link: "BVH_Terrain.html" }, + { title: "BVH Visualizer", imageUrl: "imgs/card-icons/10.png", link: "BVH_Visualizer.html" }, + { title: "Cheap Torus", imageUrl: "imgs/card-icons/11.png", link: "Cheap_Torus.html" }, + { title: "Classic Scene: Appel", imageUrl: "imgs/card-icons/12.png", link: "Classic_Scene_Appel_ShadingMachineRenderingsOfSolids.html" }, + { title: "Classic Scene: Kajiya The Rendering Equation", imageUrl: "imgs/card-icons/13.png", link: "Classic_Scene_Kajiya_TheRenderingEquation.html" }, + { title: "Classic Scene: Whitted The Compleat Angler", imageUrl: "imgs/card-icons/14.png", link: "Classic_Scene_Whitted_TheCompleatAngler.html" }, + { title: "Compare Bi-Directional Approach", imageUrl: "imgs/card-icons/15.png", link: "Compare_Bi-Directional_Approach.html" }, + { title: "Compare Uni-Directional Approach", imageUrl: "imgs/card-icons/16.png", link: "Compare_Uni-Directional_Approach.html" }, + { title: "Constructive Solid Geometry Viewer", imageUrl: "imgs/card-icons/17.png", link: "Constructive_Solid_Geometry_Viewer.html" }, + { title: "Convex Polyhedra", imageUrl: "imgs/card-icons/18.png", link: "Convex_Polyhedra.html" }, + { title: "Cornell Box", imageUrl: "imgs/card-icons/19.png", link: "Cornell_Box.html" }, + { title: "CSG Museum 1", imageUrl: "imgs/card-icons/20.png", link: "CSG_Museum_1.html" }, + { title: "CSG Museum 2", imageUrl: "imgs/card-icons/21.png", link: "CSG_Museum_2.html" }, + { title: "CSG Museum 3", imageUrl: "imgs/card-icons/22.png", link: "CSG_Museum_3.html" }, + { title: "CSG Museum 4", imageUrl: "imgs/card-icons/23.png", link: "CSG_Museum_4.html" }, + { title: "Fractal 3D", imageUrl: "imgs/card-icons/24.png", link: "Fractal3D.html" }, + { title: "Game Engine PathTracer", imageUrl: "imgs/card-icons/25.png", link: "GameEngine_PathTracer.html" }, + { title: "GLTF Model Viewer", imageUrl: "imgs/card-icons/26.png", link: "GLTF_Model_Viewer.html" }, + { title: "Grid Acceleration", imageUrl: "imgs/card-icons/27.png", link: "Grid_Acceleration.html" }, + { title: "HDRI Environment", imageUrl: "imgs/card-icons/28.png", link: "HDRI_Environment.html" }, + { title: "Invisible Date", imageUrl: "imgs/card-icons/29.png", link: "Invisible_Date.html" }, + { title: "Light Shafts", imageUrl: "imgs/card-icons/30.png", link: "Light_Shafts.html" }, + { title: "Material Roughness", imageUrl: "imgs/card-icons/31.png", link: "Material_Roughness.html" }, + { title: "MultiSamples Per Frame", imageUrl: "imgs/card-icons/32.png", link: "MultiSamples_Per_Frame.html" }, + { title: "MultiSPF Dynamic Scene", imageUrl: "imgs/card-icons/33.png", link: "MultiSPF_Dynamic_Scene.html" }, + { title: "Ocean And Sky Rendering", imageUrl: "imgs/card-icons/34.png", link: "Ocean_And_Sky_Rendering.html" }, + { title: "Planet Rendering", imageUrl: "imgs/card-icons/35.png", link: "Planet_Rendering.html" }, + { title: "Quadric_Geometry_Showcase", imageUrl: "imgs/card-icons/36.png", link: "Quadric_Geometry_Showcase.html" }, + { title: "Quadric Shapes Explorer", imageUrl: "imgs/card-icons/37.png", link: "Quadric_Shapes_Explorer.html" }, + { title: "Ray Warping", imageUrl: "imgs/card-icons/38.png", link: "Ray_Warping.html" }, + { title: "Sphereflake", imageUrl: "imgs/card-icons/39.png", link: "Sphereflake.html" }, + { title: "Switching Materials", imageUrl: "imgs/card-icons/40.png", link: "Switching_Materials.html" }, + { title: "Terrain Rendering", imageUrl: "imgs/card-icons/41.png", link: "Terrain_Rendering.html" }, + { title: "Transforming Quadric Geometry Showcase", imageUrl: "imgs/card-icons/42.png", link: "Transforming_Quadric_Geometry_Showcase.html" }, + { title: "Volumetric_Rendering", imageUrl: "imgs/card-icons/43.png", link: "Volumetric_Rendering.html" }, + { title: "Water Rendering", imageUrl: "imgs/card-icons/44.png", link: "Water_Rendering.html" }, + // Add more cards as needed +]; + +// Function to create cards +function createCard(title, imageUrl, link) { + const card = document.createElement("div"); + card.classList.add("card"); + // card.classList.add("dark:bg-slate-500"); + card.classList.add("border-x-2"); + + const img = document.createElement("img"); + img.src = imageUrl; + img.alt = title; + + const heading = document.createElement("h3"); + heading.textContent = title; + + card.appendChild(img); + card.appendChild(heading); + + // Add link functionality + card.addEventListener("click", () => { + window.location.href = link; + }); + + return card; +} + +// Function to initialize the grid with cards +function initializeGrid() { + const container = document.getElementById("card-container"); + cardsData.forEach(({ title, imageUrl, link }) => { + const card = createCard(title, imageUrl, link); + container.appendChild(card); + }); +} + +// Initialize grid when the page loads +window.addEventListener("load", initializeGrid); diff --git a/all_examples_styles.css b/all_examples_styles.css new file mode 100644 index 00000000..57219a9e --- /dev/null +++ b/all_examples_styles.css @@ -0,0 +1,100 @@ + +body { + margin: 0; + font-family: Arial, sans-serif; + min-height: 100vh; + position: relative; +} + +.grid-container { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + grid-gap: 20px; + padding: 20px; + border-radius: 20px; +} + +.card { + background-color: #ffffff; + border-radius: 5px; + border-color: aliceblue; + box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1); + padding: 20px; + text-align: center; + transition: transform 0.3s ease-in-out; + cursor: pointer; +} + +.card:hover { + transform: scale(1.02); +} + +.card:hover img { + filter: brightness(80%); +} + +.card img { + max-width: 100%; + border-radius: 5px 5px 0 0; + transition: filter 0.3s ease-in-out; +} + +footer { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + background-color: #f0f0f0; + padding: 10px 20px; + text-align: center; +} + +.footer-content { + display: flex; + justify-content: space-between; +} + +.footer-content p { + margin: 0; +} + +@media (max-width: 768px) { + .grid-container { + padding: 10px; + } + + footer { + text-align: center; + } + + footer .footer-content { + flex-direction: column; + } +} + +/*footer {*/ +/* !*position: absolute;*!*/ +/* bottom: 0;*/ +/* left: 0;*/ +/* width: 100%;*/ +/* !*background-color: #f0f0f0;*!*/ +/* !*padding: 10px 20px;*!*/ +/* text-align: center;*/ +/*}*/ + +.footer-content { + display: flex; + justify-content: space-between; +} + +.footer-content p { + margin: 0; +} + +.back-button { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); + z-index: 1000; +} diff --git a/css/default.css b/css/default.css index 46247441..73ac505c 100644 --- a/css/default.css +++ b/css/default.css @@ -34,11 +34,11 @@ html, body { } #cameraInfo { - position: fixed; - left: 3%; - bottom: 2%; - font-family: Arial; - color: #ffffff; + /*position: fixed;*/ + /*left: 3%;*/ + /*bottom: 2%;*/ + /*font-family: Arial;*/ + /*color: #ffffff;*/ cursor: default; user-select: none; } @@ -63,3 +63,14 @@ html, body { #timePauseButton { top: 50px; } + +/*footer {*/ +/* !*position: absolute;*!*/ +/* bottom: 0;*/ +/* left: 0;*/ +/* width: 100%;*/ +/* !*background-color: #f0f0f0;*!*/ +/* !*padding: 10px 20px;*!*/ +/* text-align: center;*/ +/* z-index: 1000;*/ +/*}*/ \ No newline at end of file diff --git a/imgs/back-icon.png b/imgs/back-icon.png new file mode 100644 index 00000000..792e9538 Binary files /dev/null and b/imgs/back-icon.png differ diff --git a/imgs/card-icons/1.png b/imgs/card-icons/1.png new file mode 100644 index 00000000..5c4fc3c8 Binary files /dev/null and b/imgs/card-icons/1.png differ diff --git a/imgs/card-icons/10.png b/imgs/card-icons/10.png new file mode 100644 index 00000000..cedcd3e9 Binary files /dev/null and b/imgs/card-icons/10.png differ diff --git a/imgs/card-icons/11.png b/imgs/card-icons/11.png new file mode 100644 index 00000000..d7b22ca0 Binary files /dev/null and b/imgs/card-icons/11.png differ diff --git a/imgs/card-icons/12.png b/imgs/card-icons/12.png new file mode 100644 index 00000000..0939eadb Binary files /dev/null and b/imgs/card-icons/12.png differ diff --git a/imgs/card-icons/13.png b/imgs/card-icons/13.png new file mode 100644 index 00000000..360ac6af Binary files /dev/null and b/imgs/card-icons/13.png differ diff --git a/imgs/card-icons/14.png b/imgs/card-icons/14.png new file mode 100644 index 00000000..be140ddc Binary files /dev/null and b/imgs/card-icons/14.png differ diff --git a/imgs/card-icons/15.png b/imgs/card-icons/15.png new file mode 100644 index 00000000..0fe106ba Binary files /dev/null and b/imgs/card-icons/15.png differ diff --git a/imgs/card-icons/16.png b/imgs/card-icons/16.png new file mode 100644 index 00000000..8af1eb58 Binary files /dev/null and b/imgs/card-icons/16.png differ diff --git a/imgs/card-icons/17.png b/imgs/card-icons/17.png new file mode 100644 index 00000000..e1731556 Binary files /dev/null and b/imgs/card-icons/17.png differ diff --git a/imgs/card-icons/18.png b/imgs/card-icons/18.png new file mode 100644 index 00000000..5d5ccfba Binary files /dev/null and b/imgs/card-icons/18.png differ diff --git a/imgs/card-icons/19.png b/imgs/card-icons/19.png new file mode 100644 index 00000000..13e63ac0 Binary files /dev/null and b/imgs/card-icons/19.png differ diff --git a/imgs/card-icons/2.png b/imgs/card-icons/2.png new file mode 100644 index 00000000..c23dfb9f Binary files /dev/null and b/imgs/card-icons/2.png differ diff --git a/imgs/card-icons/20.png b/imgs/card-icons/20.png new file mode 100644 index 00000000..711f81d7 Binary files /dev/null and b/imgs/card-icons/20.png differ diff --git a/imgs/card-icons/21.png b/imgs/card-icons/21.png new file mode 100644 index 00000000..7120930e Binary files /dev/null and b/imgs/card-icons/21.png differ diff --git a/imgs/card-icons/22.png b/imgs/card-icons/22.png new file mode 100644 index 00000000..fdcf17a6 Binary files /dev/null and b/imgs/card-icons/22.png differ diff --git a/imgs/card-icons/23.png b/imgs/card-icons/23.png new file mode 100644 index 00000000..2bcba7b4 Binary files /dev/null and b/imgs/card-icons/23.png differ diff --git a/imgs/card-icons/24.png b/imgs/card-icons/24.png new file mode 100644 index 00000000..cbc56166 Binary files /dev/null and b/imgs/card-icons/24.png differ diff --git a/imgs/card-icons/25.png b/imgs/card-icons/25.png new file mode 100644 index 00000000..9aeabc92 Binary files /dev/null and b/imgs/card-icons/25.png differ diff --git a/imgs/card-icons/26.png b/imgs/card-icons/26.png new file mode 100644 index 00000000..383050d2 Binary files /dev/null and b/imgs/card-icons/26.png differ diff --git a/imgs/card-icons/27.png b/imgs/card-icons/27.png new file mode 100644 index 00000000..c595a170 Binary files /dev/null and b/imgs/card-icons/27.png differ diff --git a/imgs/card-icons/28.png b/imgs/card-icons/28.png new file mode 100644 index 00000000..e0d6a105 Binary files /dev/null and b/imgs/card-icons/28.png differ diff --git a/imgs/card-icons/29.png b/imgs/card-icons/29.png new file mode 100644 index 00000000..d93af25e Binary files /dev/null and b/imgs/card-icons/29.png differ diff --git a/imgs/card-icons/3.png b/imgs/card-icons/3.png new file mode 100644 index 00000000..c9767a49 Binary files /dev/null and b/imgs/card-icons/3.png differ diff --git a/imgs/card-icons/30.png b/imgs/card-icons/30.png new file mode 100644 index 00000000..9cd1484c Binary files /dev/null and b/imgs/card-icons/30.png differ diff --git a/imgs/card-icons/31.png b/imgs/card-icons/31.png new file mode 100644 index 00000000..45a81759 Binary files /dev/null and b/imgs/card-icons/31.png differ diff --git a/imgs/card-icons/32.png b/imgs/card-icons/32.png new file mode 100644 index 00000000..d4365026 Binary files /dev/null and b/imgs/card-icons/32.png differ diff --git a/imgs/card-icons/33.png b/imgs/card-icons/33.png new file mode 100644 index 00000000..ae28324d Binary files /dev/null and b/imgs/card-icons/33.png differ diff --git a/imgs/card-icons/34.png b/imgs/card-icons/34.png new file mode 100644 index 00000000..b42ec7a3 Binary files /dev/null and b/imgs/card-icons/34.png differ diff --git a/imgs/card-icons/35.png b/imgs/card-icons/35.png new file mode 100644 index 00000000..76e05c0b Binary files /dev/null and b/imgs/card-icons/35.png differ diff --git a/imgs/card-icons/36.png b/imgs/card-icons/36.png new file mode 100644 index 00000000..04fd9680 Binary files /dev/null and b/imgs/card-icons/36.png differ diff --git a/imgs/card-icons/37.png b/imgs/card-icons/37.png new file mode 100644 index 00000000..4ded6372 Binary files /dev/null and b/imgs/card-icons/37.png differ diff --git a/imgs/card-icons/38.png b/imgs/card-icons/38.png new file mode 100644 index 00000000..9692be18 Binary files /dev/null and b/imgs/card-icons/38.png differ diff --git a/imgs/card-icons/39.png b/imgs/card-icons/39.png new file mode 100644 index 00000000..10da0731 Binary files /dev/null and b/imgs/card-icons/39.png differ diff --git a/imgs/card-icons/4.png b/imgs/card-icons/4.png new file mode 100644 index 00000000..f8477b95 Binary files /dev/null and b/imgs/card-icons/4.png differ diff --git a/imgs/card-icons/40.png b/imgs/card-icons/40.png new file mode 100644 index 00000000..1b4bbebb Binary files /dev/null and b/imgs/card-icons/40.png differ diff --git a/imgs/card-icons/41.png b/imgs/card-icons/41.png new file mode 100644 index 00000000..68d98814 Binary files /dev/null and b/imgs/card-icons/41.png differ diff --git a/imgs/card-icons/42.png b/imgs/card-icons/42.png new file mode 100644 index 00000000..b40a2edf Binary files /dev/null and b/imgs/card-icons/42.png differ diff --git a/imgs/card-icons/43.png b/imgs/card-icons/43.png new file mode 100644 index 00000000..3eecf44f Binary files /dev/null and b/imgs/card-icons/43.png differ diff --git a/imgs/card-icons/44.png b/imgs/card-icons/44.png new file mode 100644 index 00000000..84379c80 Binary files /dev/null and b/imgs/card-icons/44.png differ diff --git a/imgs/card-icons/5.png b/imgs/card-icons/5.png new file mode 100644 index 00000000..2f8cf645 Binary files /dev/null and b/imgs/card-icons/5.png differ diff --git a/imgs/card-icons/6.png b/imgs/card-icons/6.png new file mode 100644 index 00000000..aac1a4d7 Binary files /dev/null and b/imgs/card-icons/6.png differ diff --git a/imgs/card-icons/7.png b/imgs/card-icons/7.png new file mode 100644 index 00000000..564819ba Binary files /dev/null and b/imgs/card-icons/7.png differ diff --git a/imgs/card-icons/8.png b/imgs/card-icons/8.png new file mode 100644 index 00000000..afd2ff49 Binary files /dev/null and b/imgs/card-icons/8.png differ diff --git a/imgs/card-icons/9.png b/imgs/card-icons/9.png new file mode 100644 index 00000000..8ff483ee Binary files /dev/null and b/imgs/card-icons/9.png differ