From 1ce214bf7f160bd65a000064e0565e0e2f2949a4 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 15 May 2020 14:59:51 +0100 Subject: [PATCH] Started complete rewrite, i learned an awful lot but this is unsalvegable --- CMakeLists.txt | 7 ++--- legacy/resources/shaders/simple.frag | 27 ++++++++++++++++++ legacy/resources/shaders/simple.vert | 26 +++++++++++++++++ legacy/resources/textures/bedrock.png | Bin 0 -> 225 bytes legacy/resources/textures/cobblestone.png | Bin 0 -> 568 bytes legacy/resources/textures/dirt.png | Bin 0 -> 266 bytes legacy/resources/textures/grass_side.png | Bin 0 -> 660 bytes legacy/resources/textures/grass_top.png | Bin 0 -> 766 bytes legacy/resources/textures/stone.png | Bin 0 -> 223 bytes {src => legacy/src}/common.hpp | 1 + {src => legacy/src}/config.hpp | 0 {src => legacy/src}/game.cpp | 0 {src => legacy/src}/game.hpp | 0 {src => legacy/src}/main.cpp | 1 - {src => legacy/src}/renderer/camera.cpp | 0 {src => legacy/src}/renderer/camera.hpp | 0 {src => legacy/src}/renderer/renderer.cpp | 0 {src => legacy/src}/renderer/renderer.hpp | 0 {src => legacy/src}/renderer/shader.cpp | 0 {src => legacy/src}/renderer/shader.hpp | 0 {src => legacy/src}/renderer/texture.cpp | 0 {src => legacy/src}/renderer/texture.hpp | 0 {src => legacy/src}/util/fastnoise.cpp | 0 {src => legacy/src}/util/fastnoise.hpp | 0 {src => legacy/src}/util/filereader.cpp | 0 {src => legacy/src}/util/filereader.hpp | 0 {src => legacy/src}/util/glad.c | 0 {src => legacy/src}/util/stb_image.hpp | 0 {src => legacy/src}/util/stb_image_write.hpp | 0 {src => legacy/src}/world/block.cpp | 0 {src => legacy/src}/world/block.hpp | 0 {src => legacy/src}/world/chunk/chunk.cpp | 0 {src => legacy/src}/world/chunk/chunk.hpp | 0 {src => legacy/src}/world/chunk/face.hpp | 0 {src => legacy/src}/world/chunk/voxel.cpp | 0 {src => legacy/src}/world/chunk/voxel.hpp | 0 {src => legacy/src}/world/entity.cpp | 0 {src => legacy/src}/world/entity.hpp | 0 .../src}/world/generator/chunkgenerator.cpp | 0 .../src}/world/generator/chunkgenerator.hpp | 0 {src => legacy/src}/world/world.cpp | 0 {src => legacy/src}/world/world.hpp | 0 42 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 legacy/resources/shaders/simple.frag create mode 100644 legacy/resources/shaders/simple.vert create mode 100644 legacy/resources/textures/bedrock.png create mode 100644 legacy/resources/textures/cobblestone.png create mode 100644 legacy/resources/textures/dirt.png create mode 100644 legacy/resources/textures/grass_side.png create mode 100644 legacy/resources/textures/grass_top.png create mode 100644 legacy/resources/textures/stone.png rename {src => legacy/src}/common.hpp (92%) rename {src => legacy/src}/config.hpp (100%) rename {src => legacy/src}/game.cpp (100%) rename {src => legacy/src}/game.hpp (100%) rename {src => legacy/src}/main.cpp (99%) rename {src => legacy/src}/renderer/camera.cpp (100%) rename {src => legacy/src}/renderer/camera.hpp (100%) rename {src => legacy/src}/renderer/renderer.cpp (100%) rename {src => legacy/src}/renderer/renderer.hpp (100%) rename {src => legacy/src}/renderer/shader.cpp (100%) rename {src => legacy/src}/renderer/shader.hpp (100%) rename {src => legacy/src}/renderer/texture.cpp (100%) rename {src => legacy/src}/renderer/texture.hpp (100%) rename {src => legacy/src}/util/fastnoise.cpp (100%) rename {src => legacy/src}/util/fastnoise.hpp (100%) rename {src => legacy/src}/util/filereader.cpp (100%) rename {src => legacy/src}/util/filereader.hpp (100%) rename {src => legacy/src}/util/glad.c (100%) rename {src => legacy/src}/util/stb_image.hpp (100%) rename {src => legacy/src}/util/stb_image_write.hpp (100%) rename {src => legacy/src}/world/block.cpp (100%) rename {src => legacy/src}/world/block.hpp (100%) rename {src => legacy/src}/world/chunk/chunk.cpp (100%) rename {src => legacy/src}/world/chunk/chunk.hpp (100%) rename {src => legacy/src}/world/chunk/face.hpp (100%) rename {src => legacy/src}/world/chunk/voxel.cpp (100%) rename {src => legacy/src}/world/chunk/voxel.hpp (100%) rename {src => legacy/src}/world/entity.cpp (100%) rename {src => legacy/src}/world/entity.hpp (100%) rename {src => legacy/src}/world/generator/chunkgenerator.cpp (100%) rename {src => legacy/src}/world/generator/chunkgenerator.hpp (100%) rename {src => legacy/src}/world/world.cpp (100%) rename {src => legacy/src}/world/world.hpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a85e8d..2c460a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,10 @@ cmake_minimum_required(VERSION 3.7) -project(OpenGLPlayground) +project(MingeCraft) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} CMakeModules/) -cmake_policy(SET CMP0037 OLD) -set(CMAKE_BUILD_TYPE Debug) -# set(CMAKE_CXX_FLAGS "-Ofast") +# set(CMAKE_BUILD_TYPE Debug) +set(CMAKE_CXX_FLAGS "-Ofast") set(executable output) set(SrcDIR ./src) diff --git a/legacy/resources/shaders/simple.frag b/legacy/resources/shaders/simple.frag new file mode 100644 index 0000000..949c2ec --- /dev/null +++ b/legacy/resources/shaders/simple.frag @@ -0,0 +1,27 @@ +#version 450 + +vec3 SkyColour = vec3(186.0f / 255.0f, 214.0f / 255.0f, 254.0f / 255.0f); + +in vec3 TexCoord; +in float Distance; + +out vec4 outColour; + +uniform sampler2DArray tex; + +void main() { + + outColour = texture(tex, TexCoord); + //outColour = vec4(.9, .9, .9, 1); + + if (outColour.w == .0) + discard; + + float fogMax = 60000; + + vec3 colour = mix(outColour.xyz, SkyColour, min(1.0f, Distance / fogMax)); + + // Retain fragment transparency + outColour = vec4(colour, outColour.w); + +} diff --git a/legacy/resources/shaders/simple.vert b/legacy/resources/shaders/simple.vert new file mode 100644 index 0000000..bad13e0 --- /dev/null +++ b/legacy/resources/shaders/simple.vert @@ -0,0 +1,26 @@ +#version 450 + +layout (location = 0) in vec3 position; +layout (location = 1) in vec3 texcoord; + +out vec3 TexCoord; +out float Distance; + +uniform mat4 model; +uniform mat4 view; +uniform mat4 proj; + +void main() { + + TexCoord = texcoord; + + gl_Position = proj * view * model * vec4(position, 1.0); + + // Makes no sense but it works + Distance = ( + gl_Position.x * gl_Position.x + + gl_Position.y * gl_Position.y + + gl_Position.z * gl_Position.z + ); + +} diff --git a/legacy/resources/textures/bedrock.png b/legacy/resources/textures/bedrock.png new file mode 100644 index 0000000000000000000000000000000000000000..1643c9958fa499aa6a57a36efbde0c479e00fe6a GIT binary patch literal 225 zcmV<703QE|P)F#%PL-74aEz1~lKyIiDiVXa7M##mtc# z%Zg3STy?z)`(m#A!{X~9<&Lv_W@UB83}8|6RqkoxpZOmj5{fI&u##0A$Ed6X1#0Hi bBT~ROrseuXuHE=G00000NkvXXu0mjfLQ-Os literal 0 HcmV?d00001 diff --git a/legacy/resources/textures/cobblestone.png b/legacy/resources/textures/cobblestone.png new file mode 100644 index 0000000000000000000000000000000000000000..da3498c5c8d0f279a5e8f62e254241debe421344 GIT binary patch literal 568 zcmV-80>}M{P)N)G@VZQ44>2Kr1SYq5@WSmNv+pwt_HxbB@zh^G?`3fx7!)B*=%%2 zNRY{7NWI^0s#dF%&*$m&dNFCw=aT`F===TBe!u5H=?GlmpDL9~eDVAJwA<~d)oL*x zU|w2As zy3CzSCV5U_9{+;DpbiFK3bVqAFTeNzyLZLurvsovFYFH`|sW%Z4VIQzvE|-fJ z3hN5V?)N)alLR<-IvqAv0oCv@u7w`V=NDEI+d2EruJ8Nt`?O29*Y((K z=DVK`tGLh7MTtz%ds&v@Ga&DZ$;xQ1!Z)iihj}Hm*4l8eo1~Im3;+ie&}VWdpbDk0 z+*Vd{tJH?~A!2frcub(;r0KIVImhR2X8sP4PM&T#KQlJngXEsPNu_c;# zj2A0tbfmyB_f1S^g6x^QT2YWaZ|9A0rZL;l$|NdG{#j@PkULH z+3fY7k(rU<-=BXB-#+|e00DMx7KYDne=u+furu(9aWee+_J`s7$6pM8|NdiOVqygI zKfU?EAg;{EzyyR0Kfe41E9MpDVBnMBWOzB@5d%9nD_H!+tq%3Zzewm+w}3}cZM%OlR>Uv<6>d>GXDjGpd>fgAdo9X6nGiF zEPToE;n`P)-{1c-yq)rdficon^S`jZGsD}9d%@0^D3)h<(fg1A2DoCy7``oj#UPp| z%kX;AV+I8YL52q}-h-tds37$`9??re?uf8fGB zxRd#ed>KBS+YIJ|6o42Yd1N-oGMKBGWrcYfK#D*LK&F0sc9VghhlAnM*B@ZN{{8=- z;nLmb47}VN4DY{u2aAK`K!$+yF~JxhTR>ib`5opB5FZpKAU?7jC=5V+7MN2&0x*BT z*f75%Yee@76HF55tN$RAVQ~)&6HuB!jvWRx0P_mi z3&;uQ-kV?GL;BhEp3evn`jpnYGF^DuTM`Ky(w`6a;l0ff3PN_uY0G2zD(|B2pJ2 zUX+E$tenTqX>(3@a?Hc@i|38};N$22zxR9I=kWfj>%%o|Fc`46w}(t71Fq82QY4c} zn9XL`Y&L9dZDDhBQ)*bt_e3HAm&*n9wC}pk<#MPq*MLtJ%xx^8q@)BpJ3DeIaMUl) zrOj1rY;2&ctPH!myC^IygnISqo_07K*xug8m+27{6%|2iEdX3B;sv|GEN5e(pTdqT zFST|+-Fe-jEf$L$k}|vUawHPL{{FrIaGOjf*`%M(=TT5lATrd;!Mi#X3JJ~ca}zk# z;1e0aU=VJ%8x<85csJNDEZXXu1?+2ZRKVC&Js-HGNqKQ`5$%m9F&_Sfs;VlHVbvyt zGf@Gd!PK42W?{8jQCwUsTit&X(BA3>(G*Jmk?yHf3Pz(*irIy92~Lw|;vv*q4q+u1 zhar`Rdfaf zgKx9rIO91XCRJBgOXrb=A3~i{YK%5v%cY+6-_&bsYq;n?Cni$6qsS@)#CJ-eVM-|h zTV7s9Yu#~7Ed540orZex@wPVSjYuFX$di$2T=2C^N6UUGd_Es~Klj1!_hWW;7UkvT zGBb>rzNv>j9h%XNE>5A*aRjm5B-Yp0MJuWEN%yIrk{BZw0XR3RXR=GPYb+KML=M&e z*=Gtgw7I!ix>A3O^O(dpJToS2RQK2u&De&fh7U%Vu~GAl&a0T8pNGfeK{y=7>P|vZ zibkVos&)UH1O5x7GoOfvDVN*M3xkE^vH;Rxn#aX+GGJPa{BT7r)T6hZy0WrT4v8EH w1f+oT?ss`5iO#0ect137FjS<@Cj1Hi0=0vO8h?Sj)c^nh07*qoM6N<$f;^FEhyVZp literal 0 HcmV?d00001 diff --git a/legacy/resources/textures/stone.png b/legacy/resources/textures/stone.png new file mode 100644 index 0000000000000000000000000000000000000000..87e19ff46b57f2bb86553459b2ebb2805ebbc55a GIT binary patch literal 223 zcmV<503iQ~P)`Q z@@yAK5Xrp8Ww0?B)}a6jDz5Sm3r@C%T7;e8YL1N+@fol{wcN}(? #include +#define GLM_ENABLE_EXPERIMENTAL #include #include diff --git a/src/config.hpp b/legacy/src/config.hpp similarity index 100% rename from src/config.hpp rename to legacy/src/config.hpp diff --git a/src/game.cpp b/legacy/src/game.cpp similarity index 100% rename from src/game.cpp rename to legacy/src/game.cpp diff --git a/src/game.hpp b/legacy/src/game.hpp similarity index 100% rename from src/game.hpp rename to legacy/src/game.hpp diff --git a/src/main.cpp b/legacy/src/main.cpp similarity index 99% rename from src/main.cpp rename to legacy/src/main.cpp index 03951d5..6fc4fe4 100644 --- a/src/main.cpp +++ b/legacy/src/main.cpp @@ -2,7 +2,6 @@ #include "game.hpp" - int main(int argc, char** argv) { Game game; diff --git a/src/renderer/camera.cpp b/legacy/src/renderer/camera.cpp similarity index 100% rename from src/renderer/camera.cpp rename to legacy/src/renderer/camera.cpp diff --git a/src/renderer/camera.hpp b/legacy/src/renderer/camera.hpp similarity index 100% rename from src/renderer/camera.hpp rename to legacy/src/renderer/camera.hpp diff --git a/src/renderer/renderer.cpp b/legacy/src/renderer/renderer.cpp similarity index 100% rename from src/renderer/renderer.cpp rename to legacy/src/renderer/renderer.cpp diff --git a/src/renderer/renderer.hpp b/legacy/src/renderer/renderer.hpp similarity index 100% rename from src/renderer/renderer.hpp rename to legacy/src/renderer/renderer.hpp diff --git a/src/renderer/shader.cpp b/legacy/src/renderer/shader.cpp similarity index 100% rename from src/renderer/shader.cpp rename to legacy/src/renderer/shader.cpp diff --git a/src/renderer/shader.hpp b/legacy/src/renderer/shader.hpp similarity index 100% rename from src/renderer/shader.hpp rename to legacy/src/renderer/shader.hpp diff --git a/src/renderer/texture.cpp b/legacy/src/renderer/texture.cpp similarity index 100% rename from src/renderer/texture.cpp rename to legacy/src/renderer/texture.cpp diff --git a/src/renderer/texture.hpp b/legacy/src/renderer/texture.hpp similarity index 100% rename from src/renderer/texture.hpp rename to legacy/src/renderer/texture.hpp diff --git a/src/util/fastnoise.cpp b/legacy/src/util/fastnoise.cpp similarity index 100% rename from src/util/fastnoise.cpp rename to legacy/src/util/fastnoise.cpp diff --git a/src/util/fastnoise.hpp b/legacy/src/util/fastnoise.hpp similarity index 100% rename from src/util/fastnoise.hpp rename to legacy/src/util/fastnoise.hpp diff --git a/src/util/filereader.cpp b/legacy/src/util/filereader.cpp similarity index 100% rename from src/util/filereader.cpp rename to legacy/src/util/filereader.cpp diff --git a/src/util/filereader.hpp b/legacy/src/util/filereader.hpp similarity index 100% rename from src/util/filereader.hpp rename to legacy/src/util/filereader.hpp diff --git a/src/util/glad.c b/legacy/src/util/glad.c similarity index 100% rename from src/util/glad.c rename to legacy/src/util/glad.c diff --git a/src/util/stb_image.hpp b/legacy/src/util/stb_image.hpp similarity index 100% rename from src/util/stb_image.hpp rename to legacy/src/util/stb_image.hpp diff --git a/src/util/stb_image_write.hpp b/legacy/src/util/stb_image_write.hpp similarity index 100% rename from src/util/stb_image_write.hpp rename to legacy/src/util/stb_image_write.hpp diff --git a/src/world/block.cpp b/legacy/src/world/block.cpp similarity index 100% rename from src/world/block.cpp rename to legacy/src/world/block.cpp diff --git a/src/world/block.hpp b/legacy/src/world/block.hpp similarity index 100% rename from src/world/block.hpp rename to legacy/src/world/block.hpp diff --git a/src/world/chunk/chunk.cpp b/legacy/src/world/chunk/chunk.cpp similarity index 100% rename from src/world/chunk/chunk.cpp rename to legacy/src/world/chunk/chunk.cpp diff --git a/src/world/chunk/chunk.hpp b/legacy/src/world/chunk/chunk.hpp similarity index 100% rename from src/world/chunk/chunk.hpp rename to legacy/src/world/chunk/chunk.hpp diff --git a/src/world/chunk/face.hpp b/legacy/src/world/chunk/face.hpp similarity index 100% rename from src/world/chunk/face.hpp rename to legacy/src/world/chunk/face.hpp diff --git a/src/world/chunk/voxel.cpp b/legacy/src/world/chunk/voxel.cpp similarity index 100% rename from src/world/chunk/voxel.cpp rename to legacy/src/world/chunk/voxel.cpp diff --git a/src/world/chunk/voxel.hpp b/legacy/src/world/chunk/voxel.hpp similarity index 100% rename from src/world/chunk/voxel.hpp rename to legacy/src/world/chunk/voxel.hpp diff --git a/src/world/entity.cpp b/legacy/src/world/entity.cpp similarity index 100% rename from src/world/entity.cpp rename to legacy/src/world/entity.cpp diff --git a/src/world/entity.hpp b/legacy/src/world/entity.hpp similarity index 100% rename from src/world/entity.hpp rename to legacy/src/world/entity.hpp diff --git a/src/world/generator/chunkgenerator.cpp b/legacy/src/world/generator/chunkgenerator.cpp similarity index 100% rename from src/world/generator/chunkgenerator.cpp rename to legacy/src/world/generator/chunkgenerator.cpp diff --git a/src/world/generator/chunkgenerator.hpp b/legacy/src/world/generator/chunkgenerator.hpp similarity index 100% rename from src/world/generator/chunkgenerator.hpp rename to legacy/src/world/generator/chunkgenerator.hpp diff --git a/src/world/world.cpp b/legacy/src/world/world.cpp similarity index 100% rename from src/world/world.cpp rename to legacy/src/world/world.cpp diff --git a/src/world/world.hpp b/legacy/src/world/world.hpp similarity index 100% rename from src/world/world.hpp rename to legacy/src/world/world.hpp