From a556b45abf18f1bd509daaf63b66b7d55e9fd291 Mon Sep 17 00:00:00 2001 From: jjesswan Date: Mon, 22 Apr 2024 21:56:26 -0400 Subject: add engine version --- engine-ocean/Resources/Fonts/OpenSans.ttf | Bin 0 -> 217360 bytes engine-ocean/Resources/Images/amantia_loot.png | Bin 0 -> 13619 bytes engine-ocean/Resources/Images/background.png | Bin 0 -> 10673 bytes engine-ocean/Resources/Images/bamboo.png | Bin 0 -> 18008 bytes engine-ocean/Resources/Images/bark.png | Bin 0 -> 12822969 bytes engine-ocean/Resources/Images/body.png | Bin 0 -> 752393 bytes engine-ocean/Resources/Images/close_icon.png | Bin 0 -> 57618 bytes engine-ocean/Resources/Images/enterbutton.png | Bin 0 -> 11602 bytes engine-ocean/Resources/Images/eyes.png | Bin 0 -> 59418 bytes engine-ocean/Resources/Images/feet.png | Bin 0 -> 59422 bytes engine-ocean/Resources/Images/foliage.png | Bin 0 -> 1931488 bytes engine-ocean/Resources/Images/foliage1.png | Bin 0 -> 657825 bytes engine-ocean/Resources/Images/grass.png | Bin 0 -> 757834 bytes engine-ocean/Resources/Images/grass_texture.png | Bin 0 -> 20534 bytes engine-ocean/Resources/Images/grass_texture2.png | Bin 0 -> 479575 bytes engine-ocean/Resources/Images/hands.png | Bin 0 -> 59422 bytes engine-ocean/Resources/Images/haori.png | Bin 0 -> 529270 bytes engine-ocean/Resources/Images/hat.png | Bin 0 -> 88269 bytes engine-ocean/Resources/Images/head.png | Bin 0 -> 394770 bytes engine-ocean/Resources/Images/healthbar.png | Bin 0 -> 4709 bytes engine-ocean/Resources/Images/inventory_bg.png | Bin 0 -> 213292 bytes engine-ocean/Resources/Images/inventory_page.png | Bin 0 -> 338293 bytes engine-ocean/Resources/Images/inventoryicon.png | Bin 0 -> 17040 bytes engine-ocean/Resources/Images/lakebottom.png | Bin 0 -> 807538 bytes engine-ocean/Resources/Images/meadow.png | Bin 0 -> 2539683 bytes .../Resources/Images/meadow_flower_map.png | Bin 0 -> 2230433 bytes .../Resources/Images/meadow_texture_atlas.png | Bin 0 -> 3676312 bytes .../Resources/Images/meadow_texture_atlas1.png | Bin 0 -> 2996377 bytes engine-ocean/Resources/Images/mossyground.png | Bin 0 -> 8766302 bytes engine-ocean/Resources/Images/mossywood.png | Bin 0 -> 110014 bytes engine-ocean/Resources/Images/mouse profile.png | Bin 0 -> 101796 bytes engine-ocean/Resources/Images/mouse.png | Bin 0 -> 116172 bytes engine-ocean/Resources/Images/mouse_profile.png | Bin 0 -> 962437 bytes engine-ocean/Resources/Images/mushroom.png | Bin 0 -> 2833245 bytes engine-ocean/Resources/Images/mushroom_loot.png | Bin 0 -> 12356 bytes engine-ocean/Resources/Images/nose.png | Bin 0 -> 87232 bytes engine-ocean/Resources/Images/profileicon.png | Bin 0 -> 36478 bytes engine-ocean/Resources/Images/profilepage.png | Bin 0 -> 44223 bytes engine-ocean/Resources/Images/pupils.png | Bin 0 -> 176009 bytes engine-ocean/Resources/Images/questicon.png | Bin 0 -> 26600 bytes .../Resources/Images/sample mouse color.png | Bin 0 -> 612615 bytes engine-ocean/Resources/Images/settings_icon.png | Bin 0 -> 46238 bytes engine-ocean/Resources/Images/skybox/back.png | Bin 0 -> 552369 bytes engine-ocean/Resources/Images/skybox/back1.png | Bin 0 -> 1120111 bytes engine-ocean/Resources/Images/skybox/bottom.png | Bin 0 -> 910014 bytes engine-ocean/Resources/Images/skybox/front.png | Bin 0 -> 609574 bytes .../Resources/Images/skybox/hills2/back.png | Bin 0 -> 685944 bytes .../Resources/Images/skybox/hills2/bottom.png | Bin 0 -> 5356 bytes .../Resources/Images/skybox/hills2/front.png | Bin 0 -> 577542 bytes .../Resources/Images/skybox/hills2/left.png | Bin 0 -> 647227 bytes .../Resources/Images/skybox/hills2/right.png | Bin 0 -> 664344 bytes .../Resources/Images/skybox/hills2/top.png | Bin 0 -> 786971 bytes engine-ocean/Resources/Images/skybox/hills2/up.png | Bin 0 -> 443906 bytes engine-ocean/Resources/Images/skybox/left.png | Bin 0 -> 535208 bytes engine-ocean/Resources/Images/skybox/right.png | Bin 0 -> 568843 bytes engine-ocean/Resources/Images/skybox/top.png | Bin 0 -> 693955 bytes engine-ocean/Resources/Images/snowymountain.png | Bin 0 -> 97906 bytes engine-ocean/Resources/Images/sparkle.png | Bin 0 -> 14528 bytes engine-ocean/Resources/Images/square.png | Bin 0 -> 263098 bytes engine-ocean/Resources/Images/stone.png | Bin 0 -> 7943065 bytes engine-ocean/Resources/Images/title.png | Bin 0 -> 10880705 bytes engine-ocean/Resources/Images/water.png | Bin 0 -> 317500 bytes engine-ocean/Resources/Images/waterDUDV.png | Bin 0 -> 578656 bytes engine-ocean/Resources/Images/wind_flowmap.png | Bin 0 -> 173228 bytes engine-ocean/Resources/Images/wind_flowmap1.png | Bin 0 -> 5252 bytes engine-ocean/Resources/Meshes/floor.mtl | 12 + .../Resources/Meshes/grassfield_simple.mtl | 12 + engine-ocean/Resources/Meshes/grasslandscape.mtl | 2 + .../Resources/Meshes/howl_field_background.mtl | 22 ++ engine-ocean/Resources/Meshes/howl_field_water.mtl | 12 + engine-ocean/Resources/Meshes/meadow_ground.mtl | 12 + .../Resources/Meshes/mouse2-3materials.mtl | 92 ++++++++ engine-ocean/Resources/Meshes/mouse2-4.mtl | 92 ++++++++ engine-ocean/Resources/Meshes/mushroom_1.mtl | 12 + engine-ocean/Resources/Meshes/mushroom_2.mtl | 12 + engine-ocean/Resources/Meshes/slope.mtl | 12 + engine-ocean/Resources/Meshes/slopedground.mtl | 12 + engine-ocean/Resources/Meshes/testnavmesh.mtl | 12 + engine-ocean/Resources/Meshes/testnavmesh2.mtl | 12 + engine-ocean/Resources/Meshes/testplane.mtl | 2 + engine-ocean/Resources/Meshes/testslope.mtl | 12 + .../Resources/Shaders/InventoryShader.frag | 15 ++ engine-ocean/Resources/Shaders/UIShader.frag | 29 +++ engine-ocean/Resources/Shaders/UIShader.vert | 18 ++ engine-ocean/Resources/Shaders/grass.frag | 22 ++ engine-ocean/Resources/Shaders/grass.vert | 25 +++ engine-ocean/Resources/Shaders/grassgeom.geom | 250 +++++++++++++++++++++ engine-ocean/Resources/Shaders/phong.frag | 128 +++++++++++ engine-ocean/Resources/Shaders/phong.vert | 41 ++++ engine-ocean/Resources/Shaders/skybox.frag | 23 ++ engine-ocean/Resources/Shaders/skybox.vert | 20 ++ engine-ocean/Resources/Shaders/text.frag | 12 + engine-ocean/Resources/Shaders/text.vert | 11 + engine-ocean/Resources/Shaders/water.frag | 63 ++++++ engine-ocean/Resources/Shaders/water.vert | 45 ++++ 95 files changed, 1044 insertions(+) create mode 100644 engine-ocean/Resources/Fonts/OpenSans.ttf create mode 100644 engine-ocean/Resources/Images/amantia_loot.png create mode 100644 engine-ocean/Resources/Images/background.png create mode 100644 engine-ocean/Resources/Images/bamboo.png create mode 100644 engine-ocean/Resources/Images/bark.png create mode 100644 engine-ocean/Resources/Images/body.png create mode 100644 engine-ocean/Resources/Images/close_icon.png create mode 100644 engine-ocean/Resources/Images/enterbutton.png create mode 100644 engine-ocean/Resources/Images/eyes.png create mode 100644 engine-ocean/Resources/Images/feet.png create mode 100644 engine-ocean/Resources/Images/foliage.png create mode 100644 engine-ocean/Resources/Images/foliage1.png create mode 100644 engine-ocean/Resources/Images/grass.png create mode 100644 engine-ocean/Resources/Images/grass_texture.png create mode 100644 engine-ocean/Resources/Images/grass_texture2.png create mode 100644 engine-ocean/Resources/Images/hands.png create mode 100644 engine-ocean/Resources/Images/haori.png create mode 100644 engine-ocean/Resources/Images/hat.png create mode 100644 engine-ocean/Resources/Images/head.png create mode 100644 engine-ocean/Resources/Images/healthbar.png create mode 100644 engine-ocean/Resources/Images/inventory_bg.png create mode 100644 engine-ocean/Resources/Images/inventory_page.png create mode 100644 engine-ocean/Resources/Images/inventoryicon.png create mode 100644 engine-ocean/Resources/Images/lakebottom.png create mode 100644 engine-ocean/Resources/Images/meadow.png create mode 100644 engine-ocean/Resources/Images/meadow_flower_map.png create mode 100644 engine-ocean/Resources/Images/meadow_texture_atlas.png create mode 100644 engine-ocean/Resources/Images/meadow_texture_atlas1.png create mode 100644 engine-ocean/Resources/Images/mossyground.png create mode 100644 engine-ocean/Resources/Images/mossywood.png create mode 100644 engine-ocean/Resources/Images/mouse profile.png create mode 100644 engine-ocean/Resources/Images/mouse.png create mode 100644 engine-ocean/Resources/Images/mouse_profile.png create mode 100644 engine-ocean/Resources/Images/mushroom.png create mode 100644 engine-ocean/Resources/Images/mushroom_loot.png create mode 100644 engine-ocean/Resources/Images/nose.png create mode 100644 engine-ocean/Resources/Images/profileicon.png create mode 100644 engine-ocean/Resources/Images/profilepage.png create mode 100644 engine-ocean/Resources/Images/pupils.png create mode 100644 engine-ocean/Resources/Images/questicon.png create mode 100644 engine-ocean/Resources/Images/sample mouse color.png create mode 100644 engine-ocean/Resources/Images/settings_icon.png create mode 100644 engine-ocean/Resources/Images/skybox/back.png create mode 100644 engine-ocean/Resources/Images/skybox/back1.png create mode 100644 engine-ocean/Resources/Images/skybox/bottom.png create mode 100644 engine-ocean/Resources/Images/skybox/front.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/back.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/bottom.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/front.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/left.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/right.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/top.png create mode 100644 engine-ocean/Resources/Images/skybox/hills2/up.png create mode 100644 engine-ocean/Resources/Images/skybox/left.png create mode 100644 engine-ocean/Resources/Images/skybox/right.png create mode 100644 engine-ocean/Resources/Images/skybox/top.png create mode 100644 engine-ocean/Resources/Images/snowymountain.png create mode 100644 engine-ocean/Resources/Images/sparkle.png create mode 100644 engine-ocean/Resources/Images/square.png create mode 100644 engine-ocean/Resources/Images/stone.png create mode 100644 engine-ocean/Resources/Images/title.png create mode 100644 engine-ocean/Resources/Images/water.png create mode 100644 engine-ocean/Resources/Images/waterDUDV.png create mode 100644 engine-ocean/Resources/Images/wind_flowmap.png create mode 100644 engine-ocean/Resources/Images/wind_flowmap1.png create mode 100644 engine-ocean/Resources/Meshes/floor.mtl create mode 100644 engine-ocean/Resources/Meshes/grassfield_simple.mtl create mode 100644 engine-ocean/Resources/Meshes/grasslandscape.mtl create mode 100644 engine-ocean/Resources/Meshes/howl_field_background.mtl create mode 100644 engine-ocean/Resources/Meshes/howl_field_water.mtl create mode 100644 engine-ocean/Resources/Meshes/meadow_ground.mtl create mode 100644 engine-ocean/Resources/Meshes/mouse2-3materials.mtl create mode 100644 engine-ocean/Resources/Meshes/mouse2-4.mtl create mode 100644 engine-ocean/Resources/Meshes/mushroom_1.mtl create mode 100644 engine-ocean/Resources/Meshes/mushroom_2.mtl create mode 100644 engine-ocean/Resources/Meshes/slope.mtl create mode 100644 engine-ocean/Resources/Meshes/slopedground.mtl create mode 100644 engine-ocean/Resources/Meshes/testnavmesh.mtl create mode 100644 engine-ocean/Resources/Meshes/testnavmesh2.mtl create mode 100644 engine-ocean/Resources/Meshes/testplane.mtl create mode 100644 engine-ocean/Resources/Meshes/testslope.mtl create mode 100644 engine-ocean/Resources/Shaders/InventoryShader.frag create mode 100644 engine-ocean/Resources/Shaders/UIShader.frag create mode 100644 engine-ocean/Resources/Shaders/UIShader.vert create mode 100644 engine-ocean/Resources/Shaders/grass.frag create mode 100644 engine-ocean/Resources/Shaders/grass.vert create mode 100644 engine-ocean/Resources/Shaders/grassgeom.geom create mode 100644 engine-ocean/Resources/Shaders/phong.frag create mode 100644 engine-ocean/Resources/Shaders/phong.vert create mode 100644 engine-ocean/Resources/Shaders/skybox.frag create mode 100644 engine-ocean/Resources/Shaders/skybox.vert create mode 100644 engine-ocean/Resources/Shaders/text.frag create mode 100644 engine-ocean/Resources/Shaders/text.vert create mode 100644 engine-ocean/Resources/Shaders/water.frag create mode 100644 engine-ocean/Resources/Shaders/water.vert (limited to 'engine-ocean/Resources') diff --git a/engine-ocean/Resources/Fonts/OpenSans.ttf b/engine-ocean/Resources/Fonts/OpenSans.ttf new file mode 100644 index 0000000..db43334 Binary files /dev/null and b/engine-ocean/Resources/Fonts/OpenSans.ttf differ diff --git a/engine-ocean/Resources/Images/amantia_loot.png b/engine-ocean/Resources/Images/amantia_loot.png new file mode 100644 index 0000000..157a1d4 Binary files /dev/null and b/engine-ocean/Resources/Images/amantia_loot.png differ diff --git a/engine-ocean/Resources/Images/background.png b/engine-ocean/Resources/Images/background.png new file mode 100644 index 0000000..553a2e4 Binary files /dev/null and b/engine-ocean/Resources/Images/background.png differ diff --git a/engine-ocean/Resources/Images/bamboo.png b/engine-ocean/Resources/Images/bamboo.png new file mode 100644 index 0000000..ac1704f Binary files /dev/null and b/engine-ocean/Resources/Images/bamboo.png differ diff --git a/engine-ocean/Resources/Images/bark.png b/engine-ocean/Resources/Images/bark.png new file mode 100644 index 0000000..3a4e60e Binary files /dev/null and b/engine-ocean/Resources/Images/bark.png differ diff --git a/engine-ocean/Resources/Images/body.png b/engine-ocean/Resources/Images/body.png new file mode 100644 index 0000000..694d6a6 Binary files /dev/null and b/engine-ocean/Resources/Images/body.png differ diff --git a/engine-ocean/Resources/Images/close_icon.png b/engine-ocean/Resources/Images/close_icon.png new file mode 100644 index 0000000..a8ae9d5 Binary files /dev/null and b/engine-ocean/Resources/Images/close_icon.png differ diff --git a/engine-ocean/Resources/Images/enterbutton.png b/engine-ocean/Resources/Images/enterbutton.png new file mode 100644 index 0000000..e108112 Binary files /dev/null and b/engine-ocean/Resources/Images/enterbutton.png differ diff --git a/engine-ocean/Resources/Images/eyes.png b/engine-ocean/Resources/Images/eyes.png new file mode 100644 index 0000000..282ae56 Binary files /dev/null and b/engine-ocean/Resources/Images/eyes.png differ diff --git a/engine-ocean/Resources/Images/feet.png b/engine-ocean/Resources/Images/feet.png new file mode 100644 index 0000000..dcfada1 Binary files /dev/null and b/engine-ocean/Resources/Images/feet.png differ diff --git a/engine-ocean/Resources/Images/foliage.png b/engine-ocean/Resources/Images/foliage.png new file mode 100644 index 0000000..49e889b Binary files /dev/null and b/engine-ocean/Resources/Images/foliage.png differ diff --git a/engine-ocean/Resources/Images/foliage1.png b/engine-ocean/Resources/Images/foliage1.png new file mode 100644 index 0000000..71502ff Binary files /dev/null and b/engine-ocean/Resources/Images/foliage1.png differ diff --git a/engine-ocean/Resources/Images/grass.png b/engine-ocean/Resources/Images/grass.png new file mode 100644 index 0000000..4b41ef1 Binary files /dev/null and b/engine-ocean/Resources/Images/grass.png differ diff --git a/engine-ocean/Resources/Images/grass_texture.png b/engine-ocean/Resources/Images/grass_texture.png new file mode 100644 index 0000000..2c74141 Binary files /dev/null and b/engine-ocean/Resources/Images/grass_texture.png differ diff --git a/engine-ocean/Resources/Images/grass_texture2.png b/engine-ocean/Resources/Images/grass_texture2.png new file mode 100644 index 0000000..0f7f707 Binary files /dev/null and b/engine-ocean/Resources/Images/grass_texture2.png differ diff --git a/engine-ocean/Resources/Images/hands.png b/engine-ocean/Resources/Images/hands.png new file mode 100644 index 0000000..dcfada1 Binary files /dev/null and b/engine-ocean/Resources/Images/hands.png differ diff --git a/engine-ocean/Resources/Images/haori.png b/engine-ocean/Resources/Images/haori.png new file mode 100644 index 0000000..7ea0383 Binary files /dev/null and b/engine-ocean/Resources/Images/haori.png differ diff --git a/engine-ocean/Resources/Images/hat.png b/engine-ocean/Resources/Images/hat.png new file mode 100644 index 0000000..5f12d82 Binary files /dev/null and b/engine-ocean/Resources/Images/hat.png differ diff --git a/engine-ocean/Resources/Images/head.png b/engine-ocean/Resources/Images/head.png new file mode 100644 index 0000000..440f74e Binary files /dev/null and b/engine-ocean/Resources/Images/head.png differ diff --git a/engine-ocean/Resources/Images/healthbar.png b/engine-ocean/Resources/Images/healthbar.png new file mode 100644 index 0000000..0f767a6 Binary files /dev/null and b/engine-ocean/Resources/Images/healthbar.png differ diff --git a/engine-ocean/Resources/Images/inventory_bg.png b/engine-ocean/Resources/Images/inventory_bg.png new file mode 100644 index 0000000..a139ed6 Binary files /dev/null and b/engine-ocean/Resources/Images/inventory_bg.png differ diff --git a/engine-ocean/Resources/Images/inventory_page.png b/engine-ocean/Resources/Images/inventory_page.png new file mode 100644 index 0000000..102ee28 Binary files /dev/null and b/engine-ocean/Resources/Images/inventory_page.png differ diff --git a/engine-ocean/Resources/Images/inventoryicon.png b/engine-ocean/Resources/Images/inventoryicon.png new file mode 100644 index 0000000..aedee86 Binary files /dev/null and b/engine-ocean/Resources/Images/inventoryicon.png differ diff --git a/engine-ocean/Resources/Images/lakebottom.png b/engine-ocean/Resources/Images/lakebottom.png new file mode 100644 index 0000000..967c9eb Binary files /dev/null and b/engine-ocean/Resources/Images/lakebottom.png differ diff --git a/engine-ocean/Resources/Images/meadow.png b/engine-ocean/Resources/Images/meadow.png new file mode 100644 index 0000000..88d267a Binary files /dev/null and b/engine-ocean/Resources/Images/meadow.png differ diff --git a/engine-ocean/Resources/Images/meadow_flower_map.png b/engine-ocean/Resources/Images/meadow_flower_map.png new file mode 100644 index 0000000..0d2d947 Binary files /dev/null and b/engine-ocean/Resources/Images/meadow_flower_map.png differ diff --git a/engine-ocean/Resources/Images/meadow_texture_atlas.png b/engine-ocean/Resources/Images/meadow_texture_atlas.png new file mode 100644 index 0000000..ae70e9c Binary files /dev/null and b/engine-ocean/Resources/Images/meadow_texture_atlas.png differ diff --git a/engine-ocean/Resources/Images/meadow_texture_atlas1.png b/engine-ocean/Resources/Images/meadow_texture_atlas1.png new file mode 100644 index 0000000..85d1ce0 Binary files /dev/null and b/engine-ocean/Resources/Images/meadow_texture_atlas1.png differ diff --git a/engine-ocean/Resources/Images/mossyground.png b/engine-ocean/Resources/Images/mossyground.png new file mode 100644 index 0000000..c3f94b2 Binary files /dev/null and b/engine-ocean/Resources/Images/mossyground.png differ diff --git a/engine-ocean/Resources/Images/mossywood.png b/engine-ocean/Resources/Images/mossywood.png new file mode 100644 index 0000000..3e4909d Binary files /dev/null and b/engine-ocean/Resources/Images/mossywood.png differ diff --git a/engine-ocean/Resources/Images/mouse profile.png b/engine-ocean/Resources/Images/mouse profile.png new file mode 100644 index 0000000..f6b1a11 Binary files /dev/null and b/engine-ocean/Resources/Images/mouse profile.png differ diff --git a/engine-ocean/Resources/Images/mouse.png b/engine-ocean/Resources/Images/mouse.png new file mode 100644 index 0000000..5591a6e Binary files /dev/null and b/engine-ocean/Resources/Images/mouse.png differ diff --git a/engine-ocean/Resources/Images/mouse_profile.png b/engine-ocean/Resources/Images/mouse_profile.png new file mode 100644 index 0000000..924c689 Binary files /dev/null and b/engine-ocean/Resources/Images/mouse_profile.png differ diff --git a/engine-ocean/Resources/Images/mushroom.png b/engine-ocean/Resources/Images/mushroom.png new file mode 100644 index 0000000..8bd18cb Binary files /dev/null and b/engine-ocean/Resources/Images/mushroom.png differ diff --git a/engine-ocean/Resources/Images/mushroom_loot.png b/engine-ocean/Resources/Images/mushroom_loot.png new file mode 100644 index 0000000..1d7478a Binary files /dev/null and b/engine-ocean/Resources/Images/mushroom_loot.png differ diff --git a/engine-ocean/Resources/Images/nose.png b/engine-ocean/Resources/Images/nose.png new file mode 100644 index 0000000..4b26100 Binary files /dev/null and b/engine-ocean/Resources/Images/nose.png differ diff --git a/engine-ocean/Resources/Images/profileicon.png b/engine-ocean/Resources/Images/profileicon.png new file mode 100644 index 0000000..9e5eb74 Binary files /dev/null and b/engine-ocean/Resources/Images/profileicon.png differ diff --git a/engine-ocean/Resources/Images/profilepage.png b/engine-ocean/Resources/Images/profilepage.png new file mode 100644 index 0000000..cd830e8 Binary files /dev/null and b/engine-ocean/Resources/Images/profilepage.png differ diff --git a/engine-ocean/Resources/Images/pupils.png b/engine-ocean/Resources/Images/pupils.png new file mode 100644 index 0000000..f4f7462 Binary files /dev/null and b/engine-ocean/Resources/Images/pupils.png differ diff --git a/engine-ocean/Resources/Images/questicon.png b/engine-ocean/Resources/Images/questicon.png new file mode 100644 index 0000000..8250a45 Binary files /dev/null and b/engine-ocean/Resources/Images/questicon.png differ diff --git a/engine-ocean/Resources/Images/sample mouse color.png b/engine-ocean/Resources/Images/sample mouse color.png new file mode 100644 index 0000000..2b04879 Binary files /dev/null and b/engine-ocean/Resources/Images/sample mouse color.png differ diff --git a/engine-ocean/Resources/Images/settings_icon.png b/engine-ocean/Resources/Images/settings_icon.png new file mode 100644 index 0000000..d797465 Binary files /dev/null and b/engine-ocean/Resources/Images/settings_icon.png differ diff --git a/engine-ocean/Resources/Images/skybox/back.png b/engine-ocean/Resources/Images/skybox/back.png new file mode 100644 index 0000000..8de5963 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/back.png differ diff --git a/engine-ocean/Resources/Images/skybox/back1.png b/engine-ocean/Resources/Images/skybox/back1.png new file mode 100644 index 0000000..6dea976 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/back1.png differ diff --git a/engine-ocean/Resources/Images/skybox/bottom.png b/engine-ocean/Resources/Images/skybox/bottom.png new file mode 100644 index 0000000..8bae4d0 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/bottom.png differ diff --git a/engine-ocean/Resources/Images/skybox/front.png b/engine-ocean/Resources/Images/skybox/front.png new file mode 100644 index 0000000..dd2f57e Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/front.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/back.png b/engine-ocean/Resources/Images/skybox/hills2/back.png new file mode 100644 index 0000000..02d22fb Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/back.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/bottom.png b/engine-ocean/Resources/Images/skybox/hills2/bottom.png new file mode 100644 index 0000000..ec05a51 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/bottom.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/front.png b/engine-ocean/Resources/Images/skybox/hills2/front.png new file mode 100644 index 0000000..8c1bc93 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/front.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/left.png b/engine-ocean/Resources/Images/skybox/hills2/left.png new file mode 100644 index 0000000..e154382 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/left.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/right.png b/engine-ocean/Resources/Images/skybox/hills2/right.png new file mode 100644 index 0000000..99b77ae Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/right.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/top.png b/engine-ocean/Resources/Images/skybox/hills2/top.png new file mode 100644 index 0000000..41e4545 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/top.png differ diff --git a/engine-ocean/Resources/Images/skybox/hills2/up.png b/engine-ocean/Resources/Images/skybox/hills2/up.png new file mode 100644 index 0000000..4eb2cca Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/hills2/up.png differ diff --git a/engine-ocean/Resources/Images/skybox/left.png b/engine-ocean/Resources/Images/skybox/left.png new file mode 100644 index 0000000..4a54167 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/left.png differ diff --git a/engine-ocean/Resources/Images/skybox/right.png b/engine-ocean/Resources/Images/skybox/right.png new file mode 100644 index 0000000..7e6c8a9 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/right.png differ diff --git a/engine-ocean/Resources/Images/skybox/top.png b/engine-ocean/Resources/Images/skybox/top.png new file mode 100644 index 0000000..5035d47 Binary files /dev/null and b/engine-ocean/Resources/Images/skybox/top.png differ diff --git a/engine-ocean/Resources/Images/snowymountain.png b/engine-ocean/Resources/Images/snowymountain.png new file mode 100644 index 0000000..d557723 Binary files /dev/null and b/engine-ocean/Resources/Images/snowymountain.png differ diff --git a/engine-ocean/Resources/Images/sparkle.png b/engine-ocean/Resources/Images/sparkle.png new file mode 100644 index 0000000..be4a7b2 Binary files /dev/null and b/engine-ocean/Resources/Images/sparkle.png differ diff --git a/engine-ocean/Resources/Images/square.png b/engine-ocean/Resources/Images/square.png new file mode 100644 index 0000000..aadf22c Binary files /dev/null and b/engine-ocean/Resources/Images/square.png differ diff --git a/engine-ocean/Resources/Images/stone.png b/engine-ocean/Resources/Images/stone.png new file mode 100644 index 0000000..40996f7 Binary files /dev/null and b/engine-ocean/Resources/Images/stone.png differ diff --git a/engine-ocean/Resources/Images/title.png b/engine-ocean/Resources/Images/title.png new file mode 100644 index 0000000..3dbcba1 Binary files /dev/null and b/engine-ocean/Resources/Images/title.png differ diff --git a/engine-ocean/Resources/Images/water.png b/engine-ocean/Resources/Images/water.png new file mode 100644 index 0000000..f305f16 Binary files /dev/null and b/engine-ocean/Resources/Images/water.png differ diff --git a/engine-ocean/Resources/Images/waterDUDV.png b/engine-ocean/Resources/Images/waterDUDV.png new file mode 100644 index 0000000..88e313f Binary files /dev/null and b/engine-ocean/Resources/Images/waterDUDV.png differ diff --git a/engine-ocean/Resources/Images/wind_flowmap.png b/engine-ocean/Resources/Images/wind_flowmap.png new file mode 100644 index 0000000..5d0ee9d Binary files /dev/null and b/engine-ocean/Resources/Images/wind_flowmap.png differ diff --git a/engine-ocean/Resources/Images/wind_flowmap1.png b/engine-ocean/Resources/Images/wind_flowmap1.png new file mode 100644 index 0000000..1f9e3a7 Binary files /dev/null and b/engine-ocean/Resources/Images/wind_flowmap1.png differ diff --git a/engine-ocean/Resources/Meshes/floor.mtl b/engine-ocean/Resources/Meshes/floor.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/floor.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Meshes/grassfield_simple.mtl b/engine-ocean/Resources/Meshes/grassfield_simple.mtl new file mode 100644 index 0000000..7cf8519 --- /dev/null +++ b/engine-ocean/Resources/Meshes/grassfield_simple.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'grassy field test.blend' +# www.blender.org + +newmtl mossyground +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/mossyground.png diff --git a/engine-ocean/Resources/Meshes/grasslandscape.mtl b/engine-ocean/Resources/Meshes/grasslandscape.mtl new file mode 100644 index 0000000..46bc110 --- /dev/null +++ b/engine-ocean/Resources/Meshes/grasslandscape.mtl @@ -0,0 +1,2 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org diff --git a/engine-ocean/Resources/Meshes/howl_field_background.mtl b/engine-ocean/Resources/Meshes/howl_field_background.mtl new file mode 100644 index 0000000..fecb4fa --- /dev/null +++ b/engine-ocean/Resources/Meshes/howl_field_background.mtl @@ -0,0 +1,22 @@ +# Blender 3.4.1 MTL File: 'howl_field.blend' +# www.blender.org + +newmtl lakebottom +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/lakebottom.png + +newmtl snowymountain +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/snowymountain.png diff --git a/engine-ocean/Resources/Meshes/howl_field_water.mtl b/engine-ocean/Resources/Meshes/howl_field_water.mtl new file mode 100644 index 0000000..5b20d14 --- /dev/null +++ b/engine-ocean/Resources/Meshes/howl_field_water.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'howl_field.blend' +# www.blender.org + +newmtl water +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/water.png diff --git a/engine-ocean/Resources/Meshes/meadow_ground.mtl b/engine-ocean/Resources/Meshes/meadow_ground.mtl new file mode 100644 index 0000000..53b406a --- /dev/null +++ b/engine-ocean/Resources/Meshes/meadow_ground.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'howl_field.blend' +# www.blender.org + +newmtl meadow +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/meadow.png diff --git a/engine-ocean/Resources/Meshes/mouse2-3materials.mtl b/engine-ocean/Resources/Meshes/mouse2-3materials.mtl new file mode 100644 index 0000000..5288304 --- /dev/null +++ b/engine-ocean/Resources/Meshes/mouse2-3materials.mtl @@ -0,0 +1,92 @@ +# Blender 3.4.1 MTL File: 'mouse2-2.blend' +# www.blender.org + +newmtl body +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/body.png + +newmtl eyes +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/eyes.png + +newmtl feet +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/feet.png + +newmtl hands +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/hands.png + +newmtl haori +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl hat +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/hat.png + +newmtl head +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl nose +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/nose.png + +newmtl pupils +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/pupils.png diff --git a/engine-ocean/Resources/Meshes/mouse2-4.mtl b/engine-ocean/Resources/Meshes/mouse2-4.mtl new file mode 100644 index 0000000..5288304 --- /dev/null +++ b/engine-ocean/Resources/Meshes/mouse2-4.mtl @@ -0,0 +1,92 @@ +# Blender 3.4.1 MTL File: 'mouse2-2.blend' +# www.blender.org + +newmtl body +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/body.png + +newmtl eyes +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/eyes.png + +newmtl feet +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/feet.png + +newmtl hands +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/hands.png + +newmtl haori +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl hat +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/hat.png + +newmtl head +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 + +newmtl nose +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/nose.png + +newmtl pupils +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/pupils.png diff --git a/engine-ocean/Resources/Meshes/mushroom_1.mtl b/engine-ocean/Resources/Meshes/mushroom_1.mtl new file mode 100644 index 0000000..39042fd --- /dev/null +++ b/engine-ocean/Resources/Meshes/mushroom_1.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl mushroom +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.272727 0.272727 0.272727 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/mushroom.png diff --git a/engine-ocean/Resources/Meshes/mushroom_2.mtl b/engine-ocean/Resources/Meshes/mushroom_2.mtl new file mode 100644 index 0000000..39042fd --- /dev/null +++ b/engine-ocean/Resources/Meshes/mushroom_2.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl mushroom +Ns 0.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.272727 0.272727 0.272727 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd /Users/jesswan/Desktop/cs1950u/cs1950u-jjesswan/Resources/Images/mushroom.png diff --git a/engine-ocean/Resources/Meshes/slope.mtl b/engine-ocean/Resources/Meshes/slope.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/slope.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Meshes/slopedground.mtl b/engine-ocean/Resources/Meshes/slopedground.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/slopedground.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Meshes/testnavmesh.mtl b/engine-ocean/Resources/Meshes/testnavmesh.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/testnavmesh.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Meshes/testnavmesh2.mtl b/engine-ocean/Resources/Meshes/testnavmesh2.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/testnavmesh2.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Meshes/testplane.mtl b/engine-ocean/Resources/Meshes/testplane.mtl new file mode 100644 index 0000000..46bc110 --- /dev/null +++ b/engine-ocean/Resources/Meshes/testplane.mtl @@ -0,0 +1,2 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org diff --git a/engine-ocean/Resources/Meshes/testslope.mtl b/engine-ocean/Resources/Meshes/testslope.mtl new file mode 100644 index 0000000..be2f57b --- /dev/null +++ b/engine-ocean/Resources/Meshes/testslope.mtl @@ -0,0 +1,12 @@ +# Blender 3.4.1 MTL File: 'None' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 diff --git a/engine-ocean/Resources/Shaders/InventoryShader.frag b/engine-ocean/Resources/Shaders/InventoryShader.frag new file mode 100644 index 0000000..fc89ab1 --- /dev/null +++ b/engine-ocean/Resources/Shaders/InventoryShader.frag @@ -0,0 +1,15 @@ +#version 330 core +in vec2 texCoords; +out vec4 color; + +uniform sampler2D inventoryTexture0; + +void main() +{ + if (texCoords.x < 0.0 || texCoords.x > 1.0 || + texCoords.y < 0.0 || texCoords.y > 1.0) { + discard; + } + + color = texture(inventoryTexture0, texCoords); +} diff --git a/engine-ocean/Resources/Shaders/UIShader.frag b/engine-ocean/Resources/Shaders/UIShader.frag new file mode 100644 index 0000000..f7faef6 --- /dev/null +++ b/engine-ocean/Resources/Shaders/UIShader.frag @@ -0,0 +1,29 @@ +#version 330 core +in vec2 texCoords; +out vec4 color; + +uniform sampler2D guiTexture0; +uniform bool hovering; + + + +void main() +{ + if (texCoords.x < 0.0 || texCoords.x > 1.0 || + texCoords.y < 0.0 || texCoords.y > 1.0) { + discard; + } + + vec4 texel0, texel1; + //color = texture(guiTexture0, texCoords); + + texel0 = texture(guiTexture0, texCoords); + //texel1 = texture(guiTexture1, texCoords); + + color = texel0; + + if (hovering){ + color = mix(color, vec4(0.f, 0.f, 0.f, 1.f), .5f); + } + +} diff --git a/engine-ocean/Resources/Shaders/UIShader.vert b/engine-ocean/Resources/Shaders/UIShader.vert new file mode 100644 index 0000000..27152bd --- /dev/null +++ b/engine-ocean/Resources/Shaders/UIShader.vert @@ -0,0 +1,18 @@ +#version 330 core +layout (location = 0) in vec2 pos; // +out vec2 texCoords; +uniform mat4 transform; +uniform mat4 projection; +uniform vec2 textureScale; +uniform bool hovering; + + + + +void main() +{ + + gl_Position = transform*vec4(pos.x, pos.y, 0.f, 1.f); + texCoords = textureScale*vec2((pos.x+1.f)/2.f, (pos.y+1.f)/2.f); + //texCoords = textureScale * (pos.x - 0.5f) + 0.5f; +} diff --git a/engine-ocean/Resources/Shaders/grass.frag b/engine-ocean/Resources/Shaders/grass.frag new file mode 100644 index 0000000..ac6de94 --- /dev/null +++ b/engine-ocean/Resources/Shaders/grass.frag @@ -0,0 +1,22 @@ +#version 330 core +out vec4 fragColor; +uniform sampler2D grass_texture; +uniform vec3 skyColor; + + +in GS_OUT { + vec2 texCoord; + float visibility; +} fs_in; + +void main(void) +{ + vec4 color = texture(grass_texture, fs_in.texCoord); + if (color.a < 0.4) discard; + + + fragColor = color; + fragColor = mix(vec4(skyColor, 1.f), fragColor, fs_in.visibility); + // fragColor = vec4(0, 0, 1, 1); + +} diff --git a/engine-ocean/Resources/Shaders/grass.vert b/engine-ocean/Resources/Shaders/grass.vert new file mode 100644 index 0000000..647f171 --- /dev/null +++ b/engine-ocean/Resources/Shaders/grass.vert @@ -0,0 +1,25 @@ +#version 330 core +layout (location = 0) in vec3 pos; + +out VS_OUT { + float visibility; +} vs_out; + +uniform mat4 view, projection; +uniform vec4 plane; + +// fog +const float density = .01f; +const float gradient = 4.f; + +void main() { + + gl_ClipDistance[0]=dot(vec4(pos, 1.f), plane); + + vec4 positionRelationToCam = view * vec4(pos, 1.f); + float distance = length(positionRelationToCam.xyz); + float vis = exp(-pow((distance*density), gradient)); + vs_out.visibility = clamp(vis, 0.f, 1.f); + + gl_Position = vec4(pos, 1.0); +} diff --git a/engine-ocean/Resources/Shaders/grassgeom.geom b/engine-ocean/Resources/Shaders/grassgeom.geom new file mode 100644 index 0000000..124d6b3 --- /dev/null +++ b/engine-ocean/Resources/Shaders/grassgeom.geom @@ -0,0 +1,250 @@ +#version 330 core + +layout (points) in; +layout (triangle_strip, max_vertices = 36) out; +uniform mat4 view, projection; +uniform vec3 worldSpace_camPos; +uniform float u_time; +uniform sampler2D wind_texture; +uniform sampler2D meadow_texture; +uniform vec3 playerPos; + +uniform vec4 plane; + + + +// texture atlasing +//uniform float numRows; +//uniform vec2 atlas_offset; + +in VS_OUT { + float visibility; +} gs_in[]; + +out GS_OUT { + vec2 texCoord; + float visibility; +} gs_out; + +// grass shader referenced from: https://vulpinii.github.io/tutorials/grass-modelisation/en/ +///////// +float PI = 3.141592653589793; +mat4 windModel = mat4(1.f); +mat4 trampleModel = mat4(1.f); +int numRows = 1; + +vec2 atlas_offset = vec2(0.f); + +vec2 getOffset(int index, int numRows){ + int column = int(mod(index, numRows)); + float xoffset = float(column)/float(numRows); + + int row = index/numRows; + float yOffset = float(row)/float(numRows); + return vec2(xoffset, yOffset); +} + +mat4 rotX(float a){ + mat4 rx = mat4(1.f); + rx[1] = vec4(0.f, cos(a), -sin(a), 0.f); + rx[2] = vec4(0.f, sin(a), cos(a), 0.f); + + return rx; +} + +mat4 rotY(float a){ + mat4 ry = mat4(1.f); + ry[0] = vec4(cos(a), 0.f, sin(a), 0.f); + ry[2] = vec4(-sin(a), 0.f, cos(a), 0.f); + + return ry; +} + +mat4 rotZ(float a){ + mat4 rz = mat4(1.f); + rz[0] = vec4(cos(a), sin(a), 0.f, 0.f); + rz[1] = vec4(-sin(a), cos(a), 0.f, 0.f); + + return rz; +} + +float randomize(vec2 st){ + return fract(sin(dot(st.xy,vec2(12.9898,78.233)))*43758.5453123); +} + + +void makeQuad(vec4 grass_pos, mat4 crossmodel){ + vec4 vertexPos[4]; + vertexPos[0] = vec4(-.9f, 0.f, 0.f, 0.f); // bottom left + vertexPos[1] = vec4(0.9f, 0.f, 0.f, 0.f); // bottom right + vertexPos[2] = vec4(-0.9f, 1.f, 0.f, 0.f); // upper left + vertexPos[3] = vec4(0.9f, 1.f, 0.f, 0.f); // upper right + + vec2 texCoords[4]; + texCoords[0] = vec2(0.f, 0.f); + texCoords[1] = vec2(1.f, 0.f); + texCoords[2] = vec2(0.f, 1.f); + texCoords[3] = vec2(1.f, 1.f); + + mat4 randomY = rotY(randomize(grass_pos.zx)*PI); + + // will apply wind only to top two corners of quad + mat4 defaultWind = mat4(1.f); + mat4 defaultTrample = mat4(1.f); + + gl_ClipDistance[0]=dot(vec4(grass_pos), plane); + + + vec2 clampedOffset = atlas_offset; + for (int i=0; i<4; i++){ + if (i>=2) { + defaultWind = windModel; + defaultTrample = trampleModel; + + } + + gl_Position = projection*view*(grass_pos + (defaultTrample*defaultWind*randomY*crossmodel*vertexPos[i])); + gs_out.texCoord = (texCoords[i]/numRows) + clampedOffset; + EmitVertex(); + } + + EndPrimitive(); + +} + +struct TrampleInfo { + vec3 trampleOffset; + float windMultiplier; + +}; + + +// trample referenced from NedMakesGames: https://www.youtube.com/watch?v=AmO7k-Lr0XM +TrampleInfo calculateTrample(vec3 entityWorldPos, float maxDistance, float falloff, float pushAwayStrength, float pushDownStrength){ + vec3 offset = vec3(0.f); + float windMultiplier = 1.f; + vec3 distanceVec = gl_in[0].gl_Position.xyz-playerPos; + float distance = length(distanceVec); + + // convert to trample strength + float strength = 1 - pow(clamp(distance / maxDistance, 0.f, 1.f), falloff); + + // apply pushAway offest in xz plane + vec3 xzDistance = vec3(distanceVec.x, 0.f, distanceVec.z); + vec3 pushAwayOffset = normalize(xzDistance) * pushAwayStrength * strength; + + // pushDown offset always points downwards + vec3 squishOffset = vec3(0.f, -1.f, 0.f) * pushDownStrength * strength; + + offset += pushAwayOffset + squishOffset; + + // supress wind when this grass is being trampled + + windMultiplier = min(windMultiplier, 1-strength); + + TrampleInfo info; + info.trampleOffset = offset; + info.windMultiplier = windMultiplier; + + return info; +} + +void makeGrass(int numQuads){ + mat4 model0, model45, modelm45; + model0 = mat4(1.f); + model45 = rotY(radians(45)); + modelm45 = rotY(-radians(45)); + + + // wind calculation + vec2 windDir = vec2(1.f); + float windStrength = .05f; + + // uv coordinates of wind + vec2 uv = gl_in[0].gl_Position.xz/10.f + windDir * u_time; + uv.x = mod(uv.x, 1.0); + uv.y = mod(uv.y, 1.0); + vec4 windSpot = texture(wind_texture, uv); + + // get index in meadow texture atlas depending on where uv is + + vec2 meadow_uv = gl_in[0].gl_Position.xz * .03f; + meadow_uv.x = mod(meadow_uv.x, 1.0); + meadow_uv.y = mod(meadow_uv.y, 1.0); + vec4 meadowSpot = texture(meadow_texture, meadow_uv); + float meadowSpotAccumulate = meadowSpot.r + meadowSpot.g + meadowSpot.b; + + // convert meadowSpot to range 0-maxindex + + numRows = 4; + int index = int(((meadowSpotAccumulate) / (3.f) ) * (16.f)); + if (index < 0) index = 0; + if (index > 15) index = 15; + atlas_offset = getOffset(index, numRows); + + + // matrix that rotates top of grass away from player + TrampleInfo info = calculateTrample(playerPos, 2.f, 5.f, .52f, .51f); + trampleModel = (rotX(info.trampleOffset.x*PI*1.f) * rotZ(info.trampleOffset.z*PI*1.f)); + + // matrix that tilts quad in x and z dir, accordiing to wind dir and force + windModel = (rotX(windSpot.x*PI*.75f*info.windMultiplier - PI*.25f) * rotZ(windSpot.z*PI*.75f*info.windMultiplier - PI*.25f)); + + + // draw number of quads based on level of detail + switch(numQuads){ + case 1: { + makeQuad(gl_in[0].gl_Position, model0); + break; + } + case 2: { + makeQuad(gl_in[0].gl_Position, model45); + makeQuad(gl_in[0].gl_Position, modelm45); + break; + } + default: { + makeQuad(gl_in[0].gl_Position, model0); + makeQuad(gl_in[0].gl_Position, model45); + makeQuad(gl_in[0].gl_Position, modelm45); + break; + } + } + +} + + +const float LOD1 = 5.f; +const float LOD2 = 10.f; +const float LOD3 = 30.f; + + +void main() +{ + gs_out.visibility = gs_in[0].visibility; + + vec3 dist_to_camera = gl_in[0].gl_Position.xyz - worldSpace_camPos; + float dist_length = length(dist_to_camera); + + // add transition for smooth levels + float t = 6.f; + if (dist_length > LOD2) t*=1.5f; + dist_length += (randomize(gl_in[0].gl_Position.xz)*t - t/2.f); + + // change depending on distance + int detailLevel = 3; + if (dist_length > LOD1) detailLevel = 2; + if (dist_length > LOD2) detailLevel = 1; + if (dist_length > LOD3) detailLevel = 0; + + // make grass with transition levels + if (detailLevel != 1 + || (detailLevel == 1 && (int(gl_in[0].gl_Position.x * 10) % 1) == 0 + || (int(gl_in[0].gl_Position.z * 10) % 1) == 0) + || (detailLevel == 2 && (int(gl_in[0].gl_Position.x * 5) % 1) == 0 + || (int(gl_in[0].gl_Position.z * 5) % 1) == 0) + ) { + makeGrass(detailLevel); + } +} + + diff --git a/engine-ocean/Resources/Shaders/phong.frag b/engine-ocean/Resources/Shaders/phong.frag new file mode 100644 index 0000000..a83fc54 --- /dev/null +++ b/engine-ocean/Resources/Shaders/phong.frag @@ -0,0 +1,128 @@ +#version 330 core +// Uniforms for shape information +in vec3 worldSpace_pos; +in vec3 worldSpace_norm; +in vec2 tex_coord; + +in float visibility; + +uniform vec3 skyColor; + +// Object Material Data +uniform int colorSource; // 0 = solid color (objColor), 1 = texture color (objTexture), 2 = per-vertex color (vertColor) +uniform vec3 objColor; +uniform sampler2D objTexture; +in vec3 vertColor; +uniform float shininess; + +// Camera uniform +uniform vec3 worldSpace_camPos; + +// Global Data +uniform vec3 coeffs; // vec3(ka, kd, ks) + +// Light Data +uniform int lightType[16]; // 0 = point light, 1 = directional light +uniform vec3 lightColor[16]; +uniform vec3 lightFunction[16]; // Attenuation coefficients +uniform vec3 worldSpace_lightPos[16]; //Light Positions +uniform vec3 worldSpace_lightDir[16]; //Light Directions +uniform int numLights; // Max number of lights = 8 + +out vec4 fragColor; + +vec3 getToLight(int lightIndex) { + int LIGHT_POINT = 0; + int LIGHT_DIRECTIONAL = 1; + + if (lightType[lightIndex] == LIGHT_POINT) { + return normalize(worldSpace_lightPos[lightIndex] - worldSpace_pos); + } + else if (lightType[lightIndex] == LIGHT_DIRECTIONAL) { + return normalize(-worldSpace_lightDir[lightIndex]); + } + + return vec3(0); +} + +float attenuationFactor(int lightIndex) { + int LIGHT_POINT = 0; + + if (lightType[lightIndex] == LIGHT_POINT) { + vec3 coeffs = lightFunction[lightIndex]; + float d = length(worldSpace_lightPos[lightIndex] - worldSpace_pos); + return 1.0 / (coeffs.x + coeffs.y * d + coeffs.z * d * d); + } + + return 1; +} + +float computeDiffuseIntensity(vec3 worldSpace_toLight) { + // Dot product to get diffuse intensity + return max(dot(worldSpace_toLight, normalize(worldSpace_norm)), 0); +} + +float computeSpecularIntensity(vec3 worldSpace_toLight, vec3 worldSpace_toEye) { + // Guard against pow weirdness when exponent is 0 + if (shininess == 0) { + return 0; + } + + //reflect toLight + vec3 worldSpace_toLightReflected = reflect(-worldSpace_toLight, normalize(worldSpace_norm)); + + //Compute specular intensity using toEye, reflected light, and shininess + return pow(max(dot(worldSpace_toLightReflected, worldSpace_toEye), 0), shininess); +} + +void main() { + // Declare ambient, diffuse, and specular terms + vec3 ambi = vec3(coeffs.x); + vec3 diff = vec3(0.0); + vec3 spec = vec3(0.0); + + + // Compute worldSpace_toEye Vector for specular intensity computation; + vec3 worldSpace_toEye = normalize(worldSpace_camPos - worldSpace_pos); + + + // Compute per-light diffuse and specular contribution + for(int i = 0; i +out vec2 TexCoords; + +uniform mat4 projection; + +void main() +{ + gl_Position = projection * vec4(vertex.xy, 0.0, 1.0); + TexCoords = vertex.zw; +} diff --git a/engine-ocean/Resources/Shaders/water.frag b/engine-ocean/Resources/Shaders/water.frag new file mode 100644 index 0000000..b86e3a9 --- /dev/null +++ b/engine-ocean/Resources/Shaders/water.frag @@ -0,0 +1,63 @@ +#version 330 core +// Uniforms for shape information +//in vec3 worldSpace_pos; +//in vec3 worldSpace_norm; + +in float visibility; +in vec4 clipSpace; +in vec2 tex_coord; +in vec3 toCameraVector; + + + +// Camera uniform +uniform vec3 worldSpace_camPos; +uniform sampler2D reflect_texture; +uniform sampler2D refract_texture; +uniform sampler2D du_dv_map; +uniform float moveFactor; // offset that changes over time + +out vec4 fragColor; + +const float distortionStrength = .02f; +const vec4 waterColor = vec4(.06f, .49f, .59f, 1.f); +uniform vec3 skyColor; + + +void main() { + + // screen space coords + vec2 ndc = (clipSpace.xy/clipSpace.w)/2.f + .5f; + + vec2 refractTexCoords = ndc; + vec2 reflectTexCoords = vec2(ndc.x, ndc.y); + + // get associated rg color in the range -1,1 from du_dv map + vec2 distortion1 = (texture(du_dv_map, vec2(tex_coord.x + moveFactor, tex_coord.y)).rg*2.f - 1.f) * distortionStrength; + vec2 distortion2 = (texture(du_dv_map, vec2(-tex_coord.x + moveFactor, tex_coord.y + moveFactor)).rg*2.f - 1.f) * distortionStrength; + vec2 totalDistortion = distortion1 + distortion2; + + refractTexCoords += totalDistortion; + reflectTexCoords += totalDistortion; + + refractTexCoords = clamp(refractTexCoords, 0.001f, .999f); + reflectTexCoords = clamp(reflectTexCoords, 0.001f, .999f); + + // fresnel effect + vec3 viewVector = normalize(toCameraVector); + float refractiveFactor = dot(viewVector, vec3(0.f, 1.f, 0.f)); + refractiveFactor = pow(refractiveFactor, 5.f); // changes how reflective water is + + + + + + vec4 reflect = texture(reflect_texture, reflectTexCoords); + vec4 refract = texture(refract_texture, refractTexCoords); + + + // mix actual color with fog color + fragColor = mix(reflect, refract, refractiveFactor); + fragColor = mix(fragColor, waterColor, .2f); + fragColor = mix(vec4(skyColor, 1.f), fragColor, visibility); +} diff --git a/engine-ocean/Resources/Shaders/water.vert b/engine-ocean/Resources/Shaders/water.vert new file mode 100644 index 0000000..4cf407c --- /dev/null +++ b/engine-ocean/Resources/Shaders/water.vert @@ -0,0 +1,45 @@ +#version 330 core + +// All in object space +layout (location = 0) in vec3 pos; +layout (location = 1) in vec3 norm; +layout (location = 2) in vec2 uv; +layout (location = 3) in vec3 color; + +uniform mat4 model, view, projection; +uniform vec3 worldSpace_camPos; + +//out vec3 worldSpace_norm; +out vec2 tex_coord; +out vec3 vertColor; +out float visibility; +out vec4 clipSpace; +out vec3 toCameraVector; + +// fog +const float density = .01f; +const float gradient = 4.f; + +const float tiling = 6.f; + +vec4 worldSpace_pos; + +// water referenced from: ThinMatrix https://www.youtube.com/watch?v=qgDPSnZPGMA + +void main() { + worldSpace_pos = view*model*vec4(pos, 1.0); + //worldSpace_norm = vec3(transpose(inverse(model))*vec4(norm, 0.0)); + + vec4 positionRelationToCam = view * vec4(pos, 1.f); + float distance = length(positionRelationToCam.xyz); + visibility = exp(-pow((distance*density), gradient)); + visibility = clamp(visibility, 0.f, 1.f); + + tex_coord = uv*tiling; + vertColor = color; + + clipSpace = projection*worldSpace_pos; + gl_Position = clipSpace; + + toCameraVector = worldSpace_camPos - worldSpace_pos.xyz; +} -- cgit v1.2.3-70-g09d2