@@ -59,7 +59,7 @@ void Application::setup() {
5959 m_scene = new Scene (camera);
6060
6161 Mesh* lightDummy = new Mesh ();
62- Tools::Loaders::load_3D_file (lightDummy, ENGINE_MESH_PATH + " sphere.obj" , false );
62+ Tools::Loaders::load_3D_file (lightDummy, ENGINE_MESH_PATH + " sphere.obj" );
6363 lightDummy->push_material (new UnlitMaterial ());
6464 lightDummy->set_scale (0 .5f );
6565 lightDummy->ray_hittable (false );
@@ -96,7 +96,7 @@ void Application::setup() {
9696 toriiMat->set_roughness (0.5 );
9797 toriiMesh->push_material (toriiMat);
9898
99- Tools::Loaders::load_3D_file (toriiMesh, MESH_PATH + " torii.obj" , false );
99+ Tools::Loaders::load_3D_file (toriiMesh, MESH_PATH + " torii.obj" );
100100 toriiMesh->set_name (" Torii" );
101101 toriiMesh->set_scale (0 .2f );
102102 toriiMesh->set_position ({0.0 , -2.3 , 0.0 });
@@ -115,17 +115,19 @@ void Application::setup() {
115115 Tools::Loaders::load_texture (floorRoughText, TEXTURE_PATH + " floor_roughness.jpg" );
116116 terrainMat->set_albedo ({0 .43f , 0 .28f , 0 .23f });
117117 terrainMat->set_albedo_texture (floorText);
118- // terrainMat->set_normal_texture(floorNormalText);
119- terrainMat->set_roughness_texture (floorRoughText);
120- terrainMat->set_tile ({3 .0f , 3 .0f });
118+ terrainMat->set_normal_texture (floorNormalText);
119+ // terrainMat->set_roughness_texture(floorRoughText);
120+ terrainMat->set_roughness (0 .2f );
121+ terrainMat->set_tile ({10 .0f , 10 .0f });
122+ terrainMat->reflective (true );
121123 plane->push_material (terrainMat);
122124 plane->set_name (" Floor" );
123125 plane->set_position ({0.0 , -2.3 , 0.0 });
124126 plane->set_rotation ({-90 .0f , 0 .0f , 0 .0f });
125- plane->set_scale (5 .0f );
127+ plane->set_scale (20 .0f );
126128
127129 Mesh* stoneMesh = new Mesh ();
128- Tools::Loaders::load_3D_file (stoneMesh, MESH_PATH + " moisturizer.obj" , false );
130+ Tools::Loaders::load_3D_file (stoneMesh, MESH_PATH + " moisturizer.obj" );
129131 auto stoneMat = new PhysicallyBasedMaterial ();
130132 Texture* stonelanternT = new Texture ();
131133 Tools::Loaders::load_texture (stonelanternT, TEXTURE_PATH + " moisturizer_color.png" );
@@ -143,7 +145,7 @@ void Application::setup() {
143145 m_scene->add (stoneMesh);
144146
145147 Mesh* droidMesh = new Mesh ();
146- Tools::Loaders::load_3D_file (droidMesh, MESH_PATH + " droid.obj" , false );
148+ Tools::Loaders::load_3D_file (droidMesh, MESH_PATH + " droid.obj" );
147149 auto droidMat = new PhysicallyBasedMaterial ();
148150 Texture* droidText0 = new Texture ();
149151 Tools::Loaders::load_texture (droidText0, TEXTURE_PATH + " DROID_Body_BaseColor.jpg" );
@@ -170,7 +172,7 @@ void Application::setup() {
170172 m_scene->add (droidMesh);
171173
172174 Mesh* stormtrooper = new Mesh ();
173- Tools::Loaders::load_3D_file (stormtrooper, MESH_PATH + " stormtrooper.obj" , false );
175+ Tools::Loaders::load_3D_file (stormtrooper, MESH_PATH + " stormtrooper.obj" );
174176 auto stormtrooperMat = new PhysicallyBasedMaterial ();
175177 Texture* stormtrooperText = new Texture ();
176178 Tools::Loaders::load_texture (stormtrooperText, TEXTURE_PATH + " stormtrooper_color.png" );
@@ -187,17 +189,24 @@ void Application::setup() {
187189 stormtrooper->set_position ({-1 .8f , -2 .3f , 0 .4f });
188190 stormtrooper->set_rotation ({0.0 , -136 .0f , 0 .0f });
189191 stormtrooper->set_scale (.7f );
190- // stormtrooper->push_material(new PhysicallyBasedMaterial(Vec4(1.0,0.0,0.0,1.0)));
191- // stormtrooper->set_material_ID(1,1);
192- // Mesh* eyesMesh = new Mesh();
193- // Tools::Loaders::load_3D_file(eyesMesh, MESH_PATH + "eyes.obj", false);
194- // auto droidMat1 = new PhysicallyBasedMaterial();
195- // droidMat1->set_emissive_color(Vec3(1.0));
196- // droidMat1->set_emission_intensity(10.0);
197- // eyesMesh->push_material(droidMat1);
198- // eyesMesh->set_name("Eyes");
199- // droidMesh->add_child(eyesMesh);
192+ Mesh* stormtrooperHead = new Mesh ();
193+ Tools::Loaders::load_3D_file (stormtrooperHead, MESH_PATH + " stormtrooper_helm.obj" , false );
194+ auto stormtrooperMat1 = new PhysicallyBasedMaterial ();
195+ Texture* stormtrooperText11 = new Texture ();
196+ Tools::Loaders::load_texture (stormtrooperText11, TEXTURE_PATH + " stormtrooper_head_color.png" );
197+ stormtrooperMat1->set_albedo_texture (stormtrooperText11);
198+ Texture* stormtrooperText12 = new Texture ();
199+ Tools::Loaders::load_texture (
200+ stormtrooperText12, TEXTURE_PATH + " stormtrooper_head_normal.png" , TEXTURE_FORMAT_TYPE_NORMAL);
201+ stormtrooperMat1->set_normal_texture (stormtrooperText12);
202+ Texture* stormtrooperText13 = new Texture ();
203+ Tools::Loaders::load_texture (stormtrooperText13, TEXTURE_PATH + " stormtrooper_head_mask.png" , TEXTURE_FORMAT_TYPE_NORMAL);
204+ stormtrooperMat1->set_mask_texture (stormtrooperText13, MaskType::UNREAL_ENGINE);
205+ stormtrooperHead->push_material (stormtrooperMat1);
206+ stormtrooperHead->set_name (" Head" );
207+ stormtrooper->add_child (stormtrooperHead);
200208 m_scene->add (stormtrooper);
209+
201210
202211 m_scene->add (plane);
203212
0 commit comments