Merge branch 'master' of github.com:sippeangelo/Escape-the-Dawn

Conflicts:
	Escape-the-Dawn/GameWorld.cpp
This commit is contained in:
Adam
2014-03-13 03:01:53 +01:00
25 changed files with 410 additions and 36304 deletions
+15 -18
View File
@@ -5,7 +5,7 @@ void GameWorld::Initialize()
{
World::Initialize();
//AddSystem("LevelGenerationSystem");
AddSystem("LevelGenerationSystem");
AddSystem("InputSystem");
AddSystem("CollisionSystem");
//AddSystem("ParticleSystem");
@@ -26,12 +26,12 @@ void GameWorld::Initialize()
SetProperty(entcamera, "Name", std::string("Camera"));
transform = AddComponent<Components::Transform>(entcamera, "Transform");
AddComponent<Components::Input>(entcamera, "Input");
transform->Position = glm::vec3(0.f, 2.f, 10.f);
transform->Position = glm::vec3(0.f, 10.f, 14.f);
camera = AddComponent<Components::Camera>(entcamera, "Camera");
camera->FOV = 45.f;
camera->FarClip = 1000.f;
camera->NearClip = 0.01f;
transform->Orientation = glm::angleAxis<float>(glm::radians(25.0f),glm::vec3(1,0,0));
transform->Orientation = glm::angleAxis<float>(glm::radians(15.0f),glm::vec3(1,0,0));
collision = AddComponent<Components::Collision>(entcamera, "Collision");
collision->Phantom = false;
bounds = AddComponent<Components::Bounds>(entcamera, "Bounds");
@@ -51,7 +51,7 @@ void GameWorld::Initialize()
pointLight->quadraticAttenuation = 0.f;
pointLight->spotExponent = 0.0f;
model = AddComponent<Components::Model>(ent, "Model");
model->ModelFile = "sphere.obj";
model->ModelFile = "Models/sphere.obj";
ent = CreateEntity();
transform = AddComponent<Components::Transform>(ent, "Transform");
transform->Position = glm::vec3(10.f, 4.f, 0.f);
@@ -66,7 +66,7 @@ void GameWorld::Initialize()
pointLight->quadraticAttenuation = 0.f;
pointLight->spotExponent = 0.0f;
model = AddComponent<Components::Model>(ent, "Model");
model->ModelFile = "sphere.obj";
model->ModelFile = "Models/sphere.obj";
ent = CreateEntity();
transform = AddComponent<Components::Transform>(ent, "Transform");
transform->Position = glm::vec3(0.f, -4.f, 0.f);
@@ -80,23 +80,23 @@ void GameWorld::Initialize()
pointLight->quadraticAttenuation = 0.f;
pointLight->spotExponent = 0.0f;
model = AddComponent<Components::Model>(ent, "Model");
model->ModelFile = "sphere.obj";
model->ModelFile = "Models/sphere.obj";
//ground
ent = CreateEntity();
transform = AddComponent<Components::Transform>(ent, "Transform");
transform->Position = glm::vec3(0.f, 0.f, 0.f);
model = AddComponent<Components::Model>(ent, "Model");
model->ModelFile = "plane.obj";
model->ModelFile = "Models/plane.obj";
// Player
m_Player = CreateEntity();
SetProperty(m_Player, "Name", std::string("PlayerShip"));
transform = AddComponent<Components::Transform>(m_Player, "Transform");
transform->Position = glm::vec3(0.f, 4.f, -5.f);
transform->Scale = glm::vec3(2.0f);
transform->Scale = glm::vec3(1.0f);
model = AddComponent<Components::Model>(m_Player, "Model");
model->ModelFile = "ship.obj";
model->ModelFile = "Models/ship.obj";
AddComponent<Components::Input>(m_Player, "Input");
collision = AddComponent<Components::Collision>(m_Player, "Collision");
collision->Phantom = false;
@@ -104,12 +104,11 @@ void GameWorld::Initialize()
bounds->Origin = glm::vec3(transform->Position.x, transform->Position.y - 4, transform->Position.z + 3);
bounds->VolumeVector = glm::vec3(4.f,0.7f,4);
player2 = CreateEntity();
transform = AddComponent<Components::Transform>(player2, "Transform");
transform->Position = glm::vec3(10.f, 0.f, 0.f);
model = AddComponent<Components::Model>(player2, "Model");
model->ModelFile = "ship.obj";
ent = CreateEntity();
transform = AddComponent<Components::Transform>(ent, "Transform");
transform->Position = glm::vec3(10.f, 4.f, 0.f);
model = AddComponent<Components::Model>(ent, "Model");
model->ModelFile = "Models/ship.obj";
collision = AddComponent<Components::Collision>(player2, "Collision");
collision->Phantom = false;
bounds = AddComponent<Components::Bounds>(player2, "Bounds");
@@ -120,8 +119,6 @@ void GameWorld::Initialize()
void GameWorld::Update(double dt)
{
World::Update(dt);
/*if(GetSystem<Systems::CollisionSystem>("CollisionSystem")->Intersects(m_Player, entcamera))
assert(false);*/
}
void GameWorld::RegisterComponents()
@@ -144,7 +141,7 @@ void GameWorld::RegisterComponents()
void GameWorld::RegisterSystems()
{
//m_SystemFactory.Register("LevelGenerationSystem", [this]() { return new Systems::LevelGenerationSystem(this); });
m_SystemFactory.Register("LevelGenerationSystem", [this]() { return new Systems::LevelGenerationSystem(this); });
m_SystemFactory.Register("InputSystem", [this]() { return new Systems::InputSystem(this, m_Renderer); });
m_SystemFactory.Register("CollisionSystem", [this]() { return new Systems::CollisionSystem(this); });
//m_SystemFactory.Register("ParticleSystem", [this]() { return new Systems::ParticleSystem(this); });

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

@@ -0,0 +1,36 @@
# Blender v2.69 (sub 0) OBJ File: 'obstaclesandstuff.blend'
# www.blender.org
mtllib obstacle_cube_1.mtl
o Cube.001_Cube.018
v -1.000000 -0.019077 1.000000
v -1.000000 -0.019077 -1.000000
v 1.000000 -0.019077 -1.000000
v 1.000000 -0.019077 1.000000
v -1.000000 1.980923 1.000000
v -1.000000 1.980923 -1.000000
v 1.000000 1.980923 -1.000000
v 1.000000 1.980923 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
usemtl Material.001
s off
f 5/1/1 6/2/1 1/3/1
f 6/1/2 7/2/2 2/3/2
f 7/1/3 8/2/3 3/3/3
f 8/1/4 5/2/4 4/3/4
f 1/1/5 2/2/5 4/3/5
f 8/1/6 7/2/6 5/3/6
f 6/2/1 2/4/1 1/3/1
f 7/2/2 3/4/2 2/3/2
f 8/2/3 4/4/3 3/3/3
f 5/2/4 1/4/4 4/3/4
f 2/2/5 3/4/5 4/3/5
f 7/2/6 6/4/6 5/3/6
@@ -0,0 +1,12 @@
# Blender MTL File: 'obstaclesandstuff.blend'
# Material Count: 1
newmtl Material
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.559600 0.559600 0.559600
Ks 0.500000 0.500000 0.500000
Ni 1.000000
d 1.000000
illum 2
map_Kd ObstacleTexture.png
@@ -0,0 +1,127 @@
# Blender v2.69 (sub 0) OBJ File: 'obstaclesandstuff.blend'
# www.blender.org
mtllib obstacle_mountain_1.mtl
o Cube.004
v 1.698819 0.000000 2.036847
v 1.698819 0.000000 5.330842
v -1.595176 0.000000 5.330841
v -1.595175 0.000000 2.036846
v 0.051821 8.843084 3.683845
v 1.278842 0.000000 4.358418
v 10.046223 0.000000 4.358419
v 10.046223 0.000000 -4.408960
v 1.278844 0.000000 -4.408961
v 5.662531 17.390135 -0.025270
v -6.655907 0.000000 1.637957
v 2.108382 0.000000 1.637958
v 2.108382 0.000000 -7.126330
v -6.655905 0.000000 -7.126331
v -2.273763 25.648932 -2.744185
v -0.900829 0.000000 0.659354
v 5.318377 0.000000 0.659354
v 5.318377 0.000000 -5.559852
v -0.900827 0.000000 -5.559853
v 2.208774 24.324408 -2.450248
v -2.753737 0.000000 -1.359767
v -2.753737 0.000000 4.431494
v -8.544997 0.000000 4.431493
v -8.544996 0.000000 -1.359768
v -5.649367 18.211798 1.535864
vt 0.465364 0.552468
vt 0.391639 0.552468
vt 0.465364 0.478743
vt 0.239247 0.239247
vt 0.000250 0.000250
vt 0.478243 0.000250
vt 0.677193 0.198700
vt 0.478743 0.000250
vt 0.875642 0.000250
vt 0.875643 0.397149
vt 0.478743 0.397149
vt 0.674971 0.725248
vt 0.674971 0.921475
vt 0.478743 0.725248
vt 0.806342 0.397649
vt 0.892489 0.483796
vt 0.806342 0.569944
vt 0.978636 0.569944
vt 0.978636 0.397649
vt 0.478243 0.478243
vt 0.000250 0.478243
vt 0.871629 0.921406
vt 0.675471 0.921406
vt 0.871629 0.725248
vt 0.195695 0.674188
vt 0.000250 0.478743
vt 0.391139 0.478743
vt 0.391139 0.869632
vt 0.000250 0.869633
vt 0.945537 0.724748
vt 0.806342 0.724748
vt 0.945537 0.585552
vt 0.129867 0.999750
vt 0.000250 0.999750
vt 0.129867 0.870133
vt 0.805842 0.397649
vt 0.642293 0.561199
vt 0.478743 0.397649
vt 0.478743 0.724748
vt 0.805842 0.724748
vt 0.391639 0.478743
vt 0.478743 0.921475
vt 0.675471 0.725248
vt 0.806342 0.585552
vt 0.000250 0.870133
vn 0.000000 -1.000000 0.000000
vn 0.000000 0.168411 -0.985717
vn 0.000000 0.244433 -0.969666
vn -0.969666 0.244432 -0.000000
vn -0.000000 0.244433 0.969666
vn 0.969666 0.244433 0.000000
vn 0.983095 0.183098 0.000000
vn -0.000001 0.183098 0.983095
vn -0.983095 0.183098 -0.000000
vn 0.000000 0.183098 -0.983095
vn -0.985717 0.168411 -0.000000
vn -0.000000 0.168411 0.985717
vn 0.985717 0.168411 0.000000
vn 0.000000 0.126807 -0.991927
vn -0.991927 0.126807 -0.000000
vn -0.000000 0.126807 0.991928
vn 0.991928 0.126807 0.000000
vn 0.987595 0.157025 0.000000
vn -0.000000 0.157025 0.987595
vn -0.987595 0.157025 -0.000000
vn 0.000000 0.157025 -0.987595
usemtl Material
s off
f 1/1/1 2/2/1 4/3/1
f 15/4/2 13/5/2 14/6/2
f 10/7/3 8/8/3 9/9/3
f 6/10/4 10/7/4 9/9/4
f 7/11/5 10/7/5 6/10/5
f 8/8/6 10/7/6 7/11/6
f 8/12/1 7/13/1 9/14/1
f 1/15/7 5/16/7 2/17/7
f 2/17/8 5/16/8 3/18/8
f 3/18/9 5/16/9 4/19/9
f 5/16/10 1/15/10 4/19/10
f 11/20/11 15/4/11 14/6/11
f 12/21/12 15/4/12 11/20/12
f 13/5/13 15/4/13 12/21/13
f 13/22/1 12/23/1 14/24/1
f 20/25/14 18/26/14 19/27/14
f 16/28/15 20/25/15 19/27/15
f 17/29/16 20/25/16 16/28/16
f 18/26/17 20/25/17 17/29/17
f 18/30/1 17/31/1 19/32/1
f 21/33/1 22/34/1 24/35/1
f 21/36/18 25/37/18 22/38/18
f 22/38/19 25/37/19 23/39/19
f 23/39/20 25/37/20 24/40/20
f 25/37/21 21/36/21 24/40/21
f 2/2/1 3/41/1 4/3/1
f 7/13/1 6/42/1 9/14/1
f 12/23/1 11/43/1 14/24/1
f 17/31/1 16/44/1 19/32/1
f 22/34/1 23/45/1 24/35/1
@@ -0,0 +1,12 @@
# Blender MTL File: 'obstaclesandstuff.blend'
# Material Count: 1
newmtl Material
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.559600 0.559600 0.559600
Ks 0.500000 0.500000 0.500000
Ni 1.000000
d 1.000000
illum 2
map_Kd ObstacleTexture.png
@@ -0,0 +1,31 @@
# Blender v2.69 (sub 0) OBJ File: 'obstaclesandstuff.blend'
# www.blender.org
mtllib obstacle_mountain_2.mtl
o Cube.011_Cube.026
v -3.450152 0.000000 3.450150
v 3.450150 0.000000 3.450151
v 3.450150 0.000000 -3.450150
v -3.450150 0.000000 -3.450152
v -0.000001 15.531238 0.000001
vt 0.341102 0.341102
vt 0.682105 0.000100
vt 0.682105 0.682105
vt 0.000100 0.682105
vt 0.000100 0.000100
vt 0.999900 0.317695
vt 0.682305 0.317695
vt 0.999900 0.000100
vt 0.682305 0.000100
vn 0.000000 0.216857 -0.976204
vn -0.976204 0.216856 -0.000000
vn -0.000000 0.216856 0.976204
vn 0.976204 0.216856 0.000000
vn 0.000000 -1.000000 0.000000
usemtl Material
s off
f 5/1/1 3/2/1 4/3/1
f 1/4/2 5/1/2 4/3/2
f 2/5/3 5/1/3 1/4/3
f 3/2/4 5/1/4 2/5/4
f 3/6/5 2/7/5 4/8/5
f 2/7/5 1/9/5 4/8/5

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

+12
View File
@@ -0,0 +1,12 @@
# Blender MTL File: 'obstaclesandstuff.blend'
# Material Count: 1
newmtl Material.001
Ns 96.078431
Ka 0.000000 0.000000 0.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ni 1.000000
d 1.000000
illum 2
map_Kd ObstacleTexture.png

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

@@ -0,0 +1,93 @@
#include "LevelGenerationSystem.h"
Systems::LevelGenerationSystem::LevelGenerationSystem( World* world )
: System(world)
{
elapsedtime = 0;
startyz = glm::vec2(0, -1000);
}
void Systems::LevelGenerationSystem::SpawnObstacle()
{
typeRandom = 0 + (rand() % 3);
EntityID ent;
ent = m_World->CreateEntity();
obstacles.push_back(ent);
m_World->SetProperty(ent, "Name", std::string("Obstacle"));
transform = m_World->AddComponent<Components::Transform>(ent, "Transform");
bounds = m_World->AddComponent<Components::Bounds>(ent, "Bounds");
collision = m_World->AddComponent<Components::Collision>(ent, "Collision");
model = m_World->AddComponent<Components::Model>(ent, "Model");
positionRandom = -500 + (rand() % 1000);
switch (typeRandom)
{
case 0:
transform->Position = glm::vec3( positionRandom, startyz); // fix position
bounds->VolumeVector = glm::vec3(9, 12, 7);
bounds->Origin = glm::vec3(1,11,-1);
model->ModelFile = "Models/obstacle_mountain_1.obj";
break;
case 1:
transform->Position = glm::vec3( positionRandom, startyz); // fix position
bounds->VolumeVector = glm::vec3(3.5f, 7.5f, 3.5f);
bounds->Origin = glm::vec3(0,7.5f,0);
model->ModelFile = "Models/obstacle_mountain_2.obj";
break;
case 2:
transform->Position = glm::vec3( positionRandom, startyz); // fix position
bounds->VolumeVector = glm::vec3(1, 1, 1);
bounds->Origin = glm::vec3(0,1,0);
model->ModelFile = "Models/obstacle_cube_1.obj";
break;
default:
break;
}
}
void Systems::LevelGenerationSystem::Update( double dt )
{
elapsedtime += dt;
if(elapsedtime > 0.1){
SpawnObstacle();
elapsedtime = 0;
}
std::vector<EntityID> removethis;
for(auto ent : obstacles)
{
auto transformComponent = m_World->GetComponent<Components::Transform>(ent, "Transform");
transformComponent->Position.z += 100.f * dt;
if(transformComponent->Position.z > 100)
{
removethis.push_back(ent);
}
}
for(auto ent : removethis)
{
m_World->RemoveEntity(ent);
obstacles.remove(ent);
}
removethis.clear();
}
@@ -0,0 +1,41 @@
#ifndef LevelGenerationSystem_h__
#define LevelGenerationSystem_h__
#include "System.h"
#include "World.h"
#include "Components/Transform.h"
#include "Components/Bounds.h"
#include "Components/Collision.h"
#include "Components/Model.h"
namespace Systems
{
class LevelGenerationSystem : public System
{
public:
LevelGenerationSystem(World* world);
void SpawnObstacle();
void Update(double dt) override;
private:
int typeRandom;
int positionRandom;
glm::vec2 startyz;
double elapsedtime;
std::list<EntityID> obstacles;
std::shared_ptr<Components::Transform> transform;
std::shared_ptr<Components::Bounds> bounds;
std::shared_ptr<Components::Collision> collision;
std::shared_ptr<Components::Model> model;
};
}
#endif // LevelGenerationSystem_h__
+22 -8
View File
@@ -18,7 +18,7 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
if (input == nullptr)
return;
float speed = 10.0f;
float speed = 20.0f;
auto name = m_World->GetProperty<std::string>(entity, "Name");
if (name == "Camera") {
@@ -26,7 +26,6 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
glm::vec3 Camera_Right = glm::vec3(glm::vec4(1, 0, 0, 0) * transform->Orientation);
glm::vec3 Camera_Forward = glm::vec3(glm::vec4(0, 0, 1, 0) * transform->Orientation);
if(input->KeyState[GLFW_KEY_LEFT_SHIFT]) {
speed *= 4.0f;
}
@@ -36,7 +35,7 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
if(input->KeyState[GLFW_KEY_A] || input->KeyState[GLFW_KEY_LEFT]) {
transform->Position -= Camera_Right * (float)dt * speed;
}
if(input->KeyState[GLFW_KEY_D] || input->KeyState[GLFW_KEY_RIGHT]) {
else if(input->KeyState[GLFW_KEY_D] || input->KeyState[GLFW_KEY_RIGHT]) {
transform->Position += Camera_Right * (float)dt * speed;
}
if(input->KeyState[GLFW_KEY_W]) {
@@ -77,27 +76,42 @@ void Systems::PlayerSystem::UpdateEntity(double dt, EntityID entity, EntityID pa
float TurnSpeed = 2.0f;
glm::vec3 Euler = glm::eulerAngles(transform->Orientation);
LOG_DEBUG("Euler: %f", Euler.z);
if(input->KeyState[GLFW_KEY_LEFT]) {
transform->Position -= Ship_Right * (float)dt * speed;
if(Euler.z < 25.f)
if(Euler.z < 10.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed,glm::vec3(0,0,1));
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed,glm::vec3(0,0,1));
}
else if(Euler.z < 20.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed/2,glm::vec3(0,0,1));
}
else if (Euler.z < 25.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed/4,glm::vec3(0,0,1));
}
}
else if(input->KeyState[GLFW_KEY_RIGHT]) {
transform->Position += Ship_Right * (float)dt * speed;
if(Euler.z > -25.f)
if(Euler.z > -10.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed,glm::vec3(0,0,-1));
}
else if(Euler.z > -20.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed/2,glm::vec3(0,0,-1));
}
else if (Euler.z > -25.f)
{
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt * TurnSpeed/4,glm::vec3(0,0,-1));
}
}
else
{
if(Euler.z < 0.5f && Euler.z > -0.5f)
if(Euler.z < 1.5f && Euler.z > -1.5f)
transform->Orientation = glm::angleAxis<float>(0,glm::vec3(0,0,1));
else if(Euler.z < 0.f)
transform->Orientation = transform->Orientation * glm::angleAxis<float>((float)dt,glm::vec3(0,0,1));
+1 -1
View File
@@ -32,7 +32,7 @@ void Systems::RenderSystem::UpdateEntity( double dt, EntityID entity, EntityID p
#ifdef DEBUG
auto bounds = m_World->GetComponent<Components::Bounds>(entity, "Bounds");
if (bounds != nullptr) {
glm::vec3 origin = transformComponent->Position + bounds->Origin;
glm::vec3 origin = transformComponent->Scale * (transformComponent->Position + bounds->Origin);
glm::vec3 volumeVector = transformComponent->Scale * bounds->VolumeVector;
m_Renderer->AddAABBToDraw(origin, volumeVector);
}
+1 -1
View File
@@ -19,7 +19,7 @@ namespace Systems
{
public:
RenderSystem(World* world, std::shared_ptr<Renderer> renderer)
: System(world), m_Renderer(renderer) {}
: System(world), m_Renderer(renderer){ }
std::unordered_map<std::string, std::shared_ptr<Model>> m_CachedModels;
+6
View File
@@ -61,6 +61,12 @@ bool World::ValidEntity(EntityID entity)
void World::RemoveEntity(EntityID entity)
{
m_EntityParents.erase(entity);
m_EntityComponents.erase(entity);
for (auto pair : m_EntityComponents[entity]) {
auto type = pair.first;
auto component = pair.second;
m_ComponentsOfType[type].remove(component);
}
RecycleEntityID(entity);
}
+1 -1
View File
@@ -82,7 +82,7 @@ protected:
std::unordered_map<EntityID, EntityID> m_EntityParents ;
std::unordered_map<EntityID, std::unordered_map<std::string, boost::any>> m_EntityProperties;
std::unordered_map<std::string, std::vector<std::shared_ptr<Component>>> m_ComponentsOfType;
std::unordered_map<std::string, std::list<std::shared_ptr<Component>>> m_ComponentsOfType;
std::unordered_map<EntityID, std::map<std::string, std::shared_ptr<Component>>> m_EntityComponents;
EntityID GenerateEntityID();
-115
View File
@@ -1,115 +0,0 @@
# Max2Mtl Version 4.0 Mar 10th, 2001
#
# Multi/Sub Material__10791 (9) to come
#
newmtl Material__46
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__47
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__48
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__49
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__50
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__51
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__52
Ka 0.1 0.1 0.1
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.5
illum 2
#
newmtl Material__10657
Ka 0.6 0.6 0.6
Kd 0.6 0.6 0.6
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
newmtl Material__10658
Ka 0.6 0.6 0.6
Kd 0.6 0.6 0.6
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
# Multi/Sub Material__10791 done
#
# Multi/Sub Material__10737 (3) to come
#
newmtl Material__10678
Ka 1.0 1.0 1.0
Kd 1.0 1.0 1.0
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
newmtl Material__69
Ka 0.6 0.6 0.6
Kd 0.6 0.6 0.6
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
newmtl Material__10677
Ka 0.6 0.6 0.6
Kd 0.6 0.6 0.6
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
# Multi/Sub Material__10737 done
#
newmtl 03_-_Default
Ka 0.5 0.5 0.5
Kd 0.5 0.5 0.5
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
# EOF
File diff suppressed because it is too large Load Diff