From 9bf9885e8637dedd4fe8a272803741e812dcb085 Mon Sep 17 00:00:00 2001 From: Anselme Date: Fri, 25 Aug 2017 17:22:14 +0200 Subject: [PATCH] added high quality potator projectiles --- deploy/data/leather-normal.jpg | 3 +++ deploy/data/leather.jpg | 4 +-- deploy/data/slipperystonework_albedo.png | 3 +++ deploy/data/slipperystonework_metallic.png | 3 +++ deploy/data/slipperystonework_normal.png | 3 +++ deploy/data/slipperystonework_roughness.png | 3 +++ deploy/data/steel.jpg | 3 --- deploy/data/streakedmetal_albedo.png | 3 +++ deploy/data/streakedmetal_metallic.png | 3 +++ deploy/data/streakedmetal_roughness.png | 3 +++ deploy/data/sword.mtl | 4 +-- deploy/data/woodframe_albedo.png | 3 +++ deploy/data/woodframe_metallic.png | 3 +++ deploy/data/woodframe_normal.png | 3 +++ deploy/data/woodframe_roughness.png | 3 +++ src/guitools.cpp | 9 ++++++- src/guitools.h | 1 + src/sparrowshell/scriptnode.cpp | 5 ++++ src/sparrowshell/scriptnode.h | 2 +- src/test/main.cpp | 2 ++ src/test/potator.cpp | 28 ++++++++++++++------- 21 files changed, 76 insertions(+), 18 deletions(-) create mode 100644 deploy/data/leather-normal.jpg create mode 100644 deploy/data/slipperystonework_albedo.png create mode 100644 deploy/data/slipperystonework_metallic.png create mode 100644 deploy/data/slipperystonework_normal.png create mode 100644 deploy/data/slipperystonework_roughness.png delete mode 100644 deploy/data/steel.jpg create mode 100644 deploy/data/streakedmetal_albedo.png create mode 100644 deploy/data/streakedmetal_metallic.png create mode 100644 deploy/data/streakedmetal_roughness.png create mode 100644 deploy/data/woodframe_albedo.png create mode 100644 deploy/data/woodframe_metallic.png create mode 100644 deploy/data/woodframe_normal.png create mode 100644 deploy/data/woodframe_roughness.png diff --git a/deploy/data/leather-normal.jpg b/deploy/data/leather-normal.jpg new file mode 100644 index 0000000..a0a89ad --- /dev/null +++ b/deploy/data/leather-normal.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2744d10d39572868f161f77fee1e6c6114348b31bd735d0535119d956df330e +size 442368 diff --git a/deploy/data/leather.jpg b/deploy/data/leather.jpg index 929af90..a759ddb 100644 --- a/deploy/data/leather.jpg +++ b/deploy/data/leather.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdfb67810a152660d7ddaa702e1bf8ead86cefe3f44cef45f97b34f2f8d8e00b -size 9673 +oid sha256:5d2bc01b2b7aaf394acb0ec5338516465e1c9e2780cd8452330f5d287c6a271e +size 90112 diff --git a/deploy/data/slipperystonework_albedo.png b/deploy/data/slipperystonework_albedo.png new file mode 100644 index 0000000..25807b0 --- /dev/null +++ b/deploy/data/slipperystonework_albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:162ceea8b3cc087aa4bcb25db70a88b433649e6e8a7f491ba50cc2581585bf47 +size 7314341 diff --git a/deploy/data/slipperystonework_metallic.png b/deploy/data/slipperystonework_metallic.png new file mode 100644 index 0000000..fa88b15 --- /dev/null +++ b/deploy/data/slipperystonework_metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16ab4394f49880fe64b2a6405592a0325367f184d4829d8219612aef91c05f18 +size 15009 diff --git a/deploy/data/slipperystonework_normal.png b/deploy/data/slipperystonework_normal.png new file mode 100644 index 0000000..c88630f --- /dev/null +++ b/deploy/data/slipperystonework_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce7fa8504ccc7ef77e9dcb16bd1e1043797de43783dfbe472bf52ffb6e65da56 +size 7533234 diff --git a/deploy/data/slipperystonework_roughness.png b/deploy/data/slipperystonework_roughness.png new file mode 100644 index 0000000..6bd8a2c --- /dev/null +++ b/deploy/data/slipperystonework_roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c3f730b52ba57e9b5f64490b27a702b38222d043264d3e414722dbe5bac6bd1 +size 4799103 diff --git a/deploy/data/steel.jpg b/deploy/data/steel.jpg deleted file mode 100644 index d57cafc..0000000 --- a/deploy/data/steel.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40ba8f1ef59a9cfda99149b0aca367e9211f130da99a9fdfc547cedfa1a4bcb4 -size 6474 diff --git a/deploy/data/streakedmetal_albedo.png b/deploy/data/streakedmetal_albedo.png new file mode 100644 index 0000000..2cecab1 --- /dev/null +++ b/deploy/data/streakedmetal_albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c21a445fb923a8c0afe279135470f1da0290dd43b4f0ebcdcad458374fcb536 +size 1335112 diff --git a/deploy/data/streakedmetal_metallic.png b/deploy/data/streakedmetal_metallic.png new file mode 100644 index 0000000..fb50e22 --- /dev/null +++ b/deploy/data/streakedmetal_metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07f3c88595d842cf1cd40d4c9bebb4e82e97ae850d9a80500d4fd56a785e902b +size 19626 diff --git a/deploy/data/streakedmetal_roughness.png b/deploy/data/streakedmetal_roughness.png new file mode 100644 index 0000000..a1bd67c --- /dev/null +++ b/deploy/data/streakedmetal_roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c7f0e3e6fc1725c71257cf4192792ef03c79d98cf0fa515189dadb04bb785cd +size 2982336 diff --git a/deploy/data/sword.mtl b/deploy/data/sword.mtl index 88e8262..c2fa908 100644 --- a/deploy/data/sword.mtl +++ b/deploy/data/sword.mtl @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21173927cb0e81a2acbc0e4e8382293c08d8e633f47caa3ce76f870b56b6d561 -size 129 +oid sha256:076919d060d12a120970903fea60f4ee9979602fd7eb705b1e9d4bc78024a583 +size 227 diff --git a/deploy/data/woodframe_albedo.png b/deploy/data/woodframe_albedo.png new file mode 100644 index 0000000..b4d73c6 --- /dev/null +++ b/deploy/data/woodframe_albedo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bad25466e6184902ee2c2ec7d47f8ae112943d3c92fca387a5b41da0b42a2a5 +size 6976127 diff --git a/deploy/data/woodframe_metallic.png b/deploy/data/woodframe_metallic.png new file mode 100644 index 0000000..68da9ea --- /dev/null +++ b/deploy/data/woodframe_metallic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:289e65cf6fa41d6c00a62cde57ffb20dbe5f1de6b3e6a3ef4d8a7de8f41524bd +size 15007 diff --git a/deploy/data/woodframe_normal.png b/deploy/data/woodframe_normal.png new file mode 100644 index 0000000..984fed4 --- /dev/null +++ b/deploy/data/woodframe_normal.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c6e56846639f176e8d9ef756b5df8329cba6cd0117812dc79dfa2892ccf560 +size 6869334 diff --git a/deploy/data/woodframe_roughness.png b/deploy/data/woodframe_roughness.png new file mode 100644 index 0000000..532fb92 --- /dev/null +++ b/deploy/data/woodframe_roughness.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f714f443197a22e6f7148004b344f0081f9c7667b85429472d38b9190af43d79 +size 1822076 diff --git a/src/guitools.cpp b/src/guitools.cpp index 5a95aae..3fd8d50 100644 --- a/src/guitools.cpp +++ b/src/guitools.cpp @@ -8,6 +8,7 @@ #include #include +#include #include @@ -48,7 +49,7 @@ void GuiTools::materialGui() options += "None\n"; meshes.push_back(nullptr); int i = 1; - for(SceneIterator* geometryIt = getEngine().getScene()->getGeometry(); geometryIt->isValid(); geometryIt->next()) + for(SceneIterator* geometryIt = m_scene->getGeometry(); geometryIt->isValid(); geometryIt->next()) { options += geometryIt->getItem()->mesh->getName(); options += '\n'; @@ -91,3 +92,9 @@ void GuiTools::toggleMaterialEditor() { m_materialEditorEnabled = !m_materialEditorEnabled; } + +void GuiTools::toggleRenderingPipelineGui() +{ + DeferredPipeline* pipeline = dynamic_cast(m_scene->getPipeline()); + pipeline->toggleDebugGui(); +} diff --git a/src/guitools.h b/src/guitools.h index 685175a..ded58ef 100644 --- a/src/guitools.h +++ b/src/guitools.h @@ -20,6 +20,7 @@ public: void materialGui(); void togglePicker(); void toggleMaterialEditor(); + void toggleRenderingPipelineGui(); }; #endif // GUITOOLS_H diff --git a/src/sparrowshell/scriptnode.cpp b/src/sparrowshell/scriptnode.cpp index b214de3..096e0d6 100644 --- a/src/sparrowshell/scriptnode.cpp +++ b/src/sparrowshell/scriptnode.cpp @@ -21,6 +21,7 @@ ScriptNode::ScriptNode() LUA_SET_FUN(clear); LUA_SET_FUN(picker); LUA_SET_FUN(materialEditor); + LUA_SET_FUN(rendering); } void ScriptNode::update(){ @@ -92,3 +93,7 @@ void ScriptNode::picker(){ void ScriptNode::materialEditor(){ this->getEngine().getGuiTools()->toggleMaterialEditor(); } + +void ScriptNode::rendering(){ + this->getEngine().getGuiTools()->toggleRenderingPipelineGui(); +} diff --git a/src/sparrowshell/scriptnode.h b/src/sparrowshell/scriptnode.h index 2410cba..1f1d48b 100644 --- a/src/sparrowshell/scriptnode.h +++ b/src/sparrowshell/scriptnode.h @@ -24,7 +24,7 @@ public: void testfunc(int, float,float,float); void picker(); void materialEditor(); - + void rendering(); }; #endif // SCRIPTNODE_H diff --git a/src/test/main.cpp b/src/test/main.cpp index b2f2da4..a270375 100644 --- a/src/test/main.cpp +++ b/src/test/main.cpp @@ -90,6 +90,8 @@ void generateTerrain(SceneTree *scene, btDiscreteDynamicsWorld *world) TestGen gen; PBRMaterial *mat = new PBRMaterial(); mat->albedo = glm::vec3(0.1f, 0.4f, 0.2f); + mat->metallic = 0.2f; + mat->roughness = 0.95f; for(int x=-3; x<3; ++x) for(int y=-2; y<2; ++y) diff --git a/src/test/potator.cpp b/src/test/potator.cpp index 11a7a54..40efa6f 100644 --- a/src/test/potator.cpp +++ b/src/test/potator.cpp @@ -66,14 +66,18 @@ Potator::Potator(PlayerCharacterNode * player, m_cubeMesh->addTriangle(id+7, id+5, id+6); } - Image* wood = Loader::loadImage("woodbox.jpg", 24); PBRMaterial *mat = new PBRMaterial(); - mat->setTexture(PBRMaterial::ALBEDO_SLOT, new Texture(wood), "wood_texture"); - mat->roughness = 0.95f; - mat->metallic = 0.01f; + Image* img = Loader::loadImage("woodframe_albedo.png", 24); + mat->setTexture(PBRMaterial::ALBEDO_SLOT, new Texture(img)); + img = Loader::loadImage("woodframe_metallic.png", 8); + mat->setTexture(PBRMaterial::METALLIC_SLOT, new Texture(img)); + img = Loader::loadImage("woodframe_roughness.png", 8); + mat->setTexture(PBRMaterial::ROUGHNESS_SLOT, new Texture(img)); + img = Loader::loadImage("woodframe_normal.png", 24); + mat->setTexture(PBRMaterial::NORMALS_SLOT, new Texture(img)); m_cubeMesh->setMaterial(mat); - + m_cubeMesh->computeTangents(); m_cubeMesh->initGL(); btVector3 halfExtents(s.x+PHYSICS_OFFSET, s.y+PHYSICS_OFFSET, s.z+PHYSICS_OFFSET); @@ -83,13 +87,19 @@ Potator::Potator(PlayerCharacterNode * player, // creating sphere mat = new PBRMaterial(); - mat->albedo = glm::vec3(0.1f, 0.1f, 0.2f); - mat->roughness = 0.01f; - mat->metallic = 0.95f; + img = Loader::loadImage("slipperystonework_albedo.png", 24); + mat->setTexture(PBRMaterial::ALBEDO_SLOT, new Texture(img)); + img = Loader::loadImage("slipperystonework_metallic.png", 8); + mat->setTexture(PBRMaterial::METALLIC_SLOT, new Texture(img)); + img = Loader::loadImage("slipperystonework_roughness.png", 8); + mat->setTexture(PBRMaterial::ROUGHNESS_SLOT, new Texture(img)); + img = Loader::loadImage("slipperystonework_normal.png", 24); + mat->setTexture(PBRMaterial::NORMALS_SLOT, new Texture(img)); SphereGenerator sphereGen; - m_sphereMesh = sphereGen.generateGeodesicMesh(mat, 2, sphereRadius); + m_sphereMesh = sphereGen.generateParametricMesh(mat, 20, 20, sphereRadius); m_sphereMesh->computeNormals(); + m_sphereMesh->computeTangents(); m_sphereMesh->mergeVertices(); m_sphereMesh->initGL();