From b6f8536d355ccbc438b5f45ea569efd8097d339f Mon Sep 17 00:00:00 2001 From: floralrainfall Date: Mon, 17 Jul 2023 03:16:19 -0400 Subject: [PATCH] 6 sided part materials, but stud tiling doesnt work --- Content/RNR/fonts/BackMaterial.material | 15 ++++++++ Content/RNR/fonts/BottomMaterial.material | 15 ++++++++ Content/RNR/fonts/Cube.mesh | Bin 1039 -> 1290 bytes Content/RNR/fonts/FrontMaterial.material | 15 ++++++++ Content/RNR/fonts/LeftMaterial.material | 15 ++++++++ Content/RNR/fonts/RightMaterial.material | 15 ++++++++ Content/RNR/fonts/TopMaterial.material | 15 ++++++++ Content/RNR/fonts/part_mesh.scene | 32 ++++++++++------- Content/RNR/textures/stud_top.png | Bin 0 -> 4498 bytes Content/RNR/textures/surfaces.png | Bin 0 -> 16477 bytes Dependencies/Luau | 2 +- .../Source/App/V8/DataModel/Workspace.cpp | 33 ++++++++++++++++-- 12 files changed, 141 insertions(+), 16 deletions(-) create mode 100644 Content/RNR/fonts/BackMaterial.material create mode 100644 Content/RNR/fonts/BottomMaterial.material create mode 100644 Content/RNR/fonts/FrontMaterial.material create mode 100644 Content/RNR/fonts/LeftMaterial.material create mode 100644 Content/RNR/fonts/RightMaterial.material create mode 100644 Content/RNR/fonts/TopMaterial.material create mode 100644 Content/RNR/textures/stud_top.png create mode 100644 Content/RNR/textures/surfaces.png diff --git a/Content/RNR/fonts/BackMaterial.material b/Content/RNR/fonts/BackMaterial.material new file mode 100644 index 0000000..69d9665 --- /dev/null +++ b/Content/RNR/fonts/BackMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material BackMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/BottomMaterial.material b/Content/RNR/fonts/BottomMaterial.material new file mode 100644 index 0000000..608d795 --- /dev/null +++ b/Content/RNR/fonts/BottomMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material BottomMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/Cube.mesh b/Content/RNR/fonts/Cube.mesh index 5eefe5e57aa82ecafe72d16c9afc003cfcb9bf7c..618fb9bb1ca4093b89309520295930df7e836f63 100644 GIT binary patch literal 1290 zcmZ`(OHLa>5PkmO5Qo5!@X0dDnjo`b!(v)2vI-KI>>?CdkpU|qj*OK>RmI6~g5>GF(QP*QbOzfaBdSZ!oqkA~Nmr^Cr;@N@KcIQjNxZ+EZPJL{tN*aqYH zxCOjZce2kVJIU0eiH6l`-^L0N-#750boDd(f%nMz9qVwWF`Gx1t@Xm>6nw~8RW{C6MOYH(LS@g+k=TlV_%n*6{jE|go#53$1!j;l7=6p!} zDeqe0%ABbvqED@`gtuoBR#@*|YU|un=PzAR7vg+>hWzSlVe^D}vNcV?CfJ;?!}iPg z_t9W#m#*9B5I_rUEOC9ynuTQ|ynW$-^>93$j;|`YZW&&pi&t1fhIRIv+^u1oyUMyt zReyAGIjx-bpcTBvDzEAmYo-23_2=PvD(>(WFQbDE)=I3=pC;p9sT%xGXp(!wI#=I* zAi}t>rGK6L;qENQzZ>zhO)g6~9DM&Ve`CzH2sV>*l+xDX`(n0DX(Rnw<%D+fx|nTH Iy!bQx2Tua8R&wfP#iW3lS_%&_)L_ sPSM2~&e20337rdC1_N3am$W(<((2-hRu3ce<)Jklj(pvZ_y4Wg1I%JW$^ZZW diff --git a/Content/RNR/fonts/FrontMaterial.material b/Content/RNR/fonts/FrontMaterial.material new file mode 100644 index 0000000..da97fcc --- /dev/null +++ b/Content/RNR/fonts/FrontMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material FrontMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/LeftMaterial.material b/Content/RNR/fonts/LeftMaterial.material new file mode 100644 index 0000000..eefafd4 --- /dev/null +++ b/Content/RNR/fonts/LeftMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material LeftMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/RightMaterial.material b/Content/RNR/fonts/RightMaterial.material new file mode 100644 index 0000000..a33bdad --- /dev/null +++ b/Content/RNR/fonts/RightMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material RightMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/TopMaterial.material b/Content/RNR/fonts/TopMaterial.material new file mode 100644 index 0000000..91b3370 --- /dev/null +++ b/Content/RNR/fonts/TopMaterial.material @@ -0,0 +1,15 @@ +// generated by blender2ogre 0.8.3 on 2023-07-17 02:58:22 +material TopMaterial { + receive_shadows on + technique { + pass { + diffuse 0.8 0.8 0.8 1.0 + specular 0.5 0.0 0 0 0 + rtshader_system { + lighting_stage metal_roughness + texturing_stage late_add_blend + } + + } + } +} diff --git a/Content/RNR/fonts/part_mesh.scene b/Content/RNR/fonts/part_mesh.scene index 62b1ab7..9f1cc37 100644 --- a/Content/RNR/fonts/part_mesh.scene +++ b/Content/RNR/fonts/part_mesh.scene @@ -1,28 +1,36 @@ - + + - + - + - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Content/RNR/textures/stud_top.png b/Content/RNR/textures/stud_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4909d66ef1df55aab9df3c640efbf3b40155f1db GIT binary patch literal 4498 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 literal 0 HcmV?d00001 diff --git a/Content/RNR/textures/surfaces.png b/Content/RNR/textures/surfaces.png new file mode 100644 index 0000000000000000000000000000000000000000..2207cbde2d126e809f0f2351e5099406ed44677e GIT binary patch literal 16477 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 MC}_yn$XbT|4_4j%cmMzZ literal 0 HcmV?d00001 diff --git a/Dependencies/Luau b/Dependencies/Luau index 2181591..e25de95 160000 --- a/Dependencies/Luau +++ b/Dependencies/Luau @@ -1 +1 @@ -Subproject commit 218159140c7d79ae745e646da721d12331f536f5 +Subproject commit e25de95445f2d635a125ab463426bb7fda017093 diff --git a/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp b/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp index ebc0001..de65c9e 100644 --- a/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp +++ b/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp @@ -13,6 +13,12 @@ namespace RNR m_geom->setCastShadows(true); m_partEntity = world->getOgreSceneManager()->createEntity("fonts/Cube.mesh"); m_partEntity->setCastShadows(true); + + for(int i = 0; i < m_partEntity->getNumSubEntities(); i++) + { + Ogre::SubEntity* surface = m_partEntity->getSubEntity(i); + Ogre::TextureUnitState* texture = surface->getMaterial()->getTechnique(0)->getPass(0)->createTextureUnitState("textures/stud_top.png"); + } } void Workspace::onChildAdded(Instance* childAdded) @@ -25,9 +31,30 @@ namespace RNR PartInstance* child_part = dynamic_cast(instance); if(child_part) { -#ifndef DONT_USE_BRICKCOLOR_MATERIAL - m_partEntity->setMaterial(BrickColor::material(child_part->getBrickColor())); -#endif + Ogre::Vector3 part_size = child_part->getSize(); + for(int i = 0; i < m_partEntity->getNumSubEntities(); i++) + { + Ogre::SubEntity* surface = m_partEntity->getSubEntity(i); + Ogre::TextureUnitState* texture = surface->getMaterial()->getTechnique(0)->getPass(0)->getTextureUnitState(0); + + Ogre::Vector2 uvs; + + std::string surf_name = std::string(surface->getMaterialName().c_str()); + if(surf_name == "TopMaterial") + uvs = Ogre::Vector2(part_size.x, part_size.z); + else if(surf_name == "BottomMaterial") + uvs = Ogre::Vector2(-part_size.x, part_size.z); + else if(surf_name == "LeftMaterial") + uvs = Ogre::Vector2(part_size.y, part_size.z); + else if(surf_name == "RightMaterial") + uvs = Ogre::Vector2(-part_size.y, part_size.z); + else if(surf_name == "BackMaterial") + uvs = Ogre::Vector2(part_size.x, part_size.z); + else if(surf_name == "FrontMaterial") + uvs = Ogre::Vector2(-part_size.x, part_size.z); + + texture->setTextureScale(uvs.x,uvs.y); + } m_geom->addEntity(m_partEntity, child_part->getCFrame().getPosition(), Ogre::Quaternion(child_part->getCFrame().getRotation()),