16 for (
size_t i = 0; i <
m_scenes.size(); i++)
37 for (
auto obj : objects)
59 auto& plane = *(meshPlane->createInstance(
false));
61 plane.getTransform().setPosition(vec3(0.0f, -20.0f, 0.0f));
62 plane.getTransform().setScale(1000.0f);
63 plane.uniform(
"color", vec3(1.0f) * 0.4f);
66 list<SceneInstance*> bobs;
70 for (
size_t i = 0; i < 100; i++)
72 auto& boblamp = *(meshBoblamp->createInstance());
74 boblamp.getTransform().setScale(
Util::rand(0.1f, 0.2f));
75 boblamp.getTransform().setRotation(vec3(0.0f,
Util::rand(0.0f, glm::radians(360.0f)), 0.0f));
79 boblamp.getTransform().setPosition(vec3(
Util::rand(-1.0f, 1.0f)*200.0f,
82 }
while (any_of(bobs.begin(), bobs.end(), [&boblamp](
SceneInstance * instance)
84 return glm::distance(boblamp.getTransform().getPosition(), instance->getTransform().getPosition()) <= (boblamp.getTransform().getScale() * 20 + instance->getTransform().getScale() * 20);
87 bobs.push_back(&boblamp);
96 cam.setRotation(vec3(-0.7f, 0.94f, 0.0f));
107 auto& plane = *(meshPlane->createInstance(
false));
109 plane.getTransform().setPosition(vec3(0.0f, -20.0f, 0.0f));
110 plane.getTransform().setScale(1000.0f);
111 plane.uniform(
"color", vec3(1.0f) * 0.3f);
114 list<SceneInstance*> bobs;
118 for (
size_t i = 0; i < 100; i++)
120 auto& boblamp = *(meshBoblamp->createInstance());
122 boblamp.getTransform().setScale(
Util::rand(0.1f, 0.2f));
123 boblamp.getTransform().setRotation(vec3(0.0f,
Util::rand(0.0f, glm::radians(360.0f)), 0.0f));
127 boblamp.getTransform().setPosition(vec3(
Util::rand(-1.0f, 1.0f)*200.0f,
130 }
while (any_of(bobs.begin(), bobs.end(), [&boblamp](
SceneInstance * instance)
132 return glm::distance(boblamp.getTransform().getPosition(), instance->getTransform().getPosition()) <= (boblamp.getTransform().getScale() * 20 + instance->getTransform().getScale() * 20);
136 boblamp.queueAnimation(
Util::rand(-5.0f, 0.0f), 0u);
138 bobs.push_back(&boblamp);
147 cam.setRotation(vec3(-0.7f, 0.94f, 0.0f));
155 list<SceneInstance*> bobs;
159 for (
size_t i = 0; i < 100; i++)
161 auto& boblamp = *(meshBoblamp->createInstance());
163 boblamp.getTransform().setScale(
Util::rand(0.1f, 0.2f));
164 boblamp.getTransform().setRotation(vec3(0.0f,
Util::rand(0.0f, glm::radians(360.0f)), 0.0f));
168 boblamp.getTransform().setPosition(vec3(
Util::rand(-1.0f, 1.0f)*200.0f,
171 }
while (any_of(bobs.begin(), bobs.end(), [&boblamp](
SceneInstance * instance)
173 return glm::distance(boblamp.getTransform().getPosition(), instance->getTransform().getPosition()) <= (boblamp.getTransform().getScale() * 20 + instance->getTransform().getScale() * 20);
177 boblamp.queueAnimation(
Util::rand(-5.0f, 0.0f), 0u);
179 bobs.push_back(&boblamp);
188 cam.setRotation(vec3(-0.7f, 0.94f, 0.0f));
196 list<SceneInstance*> bobs;
200 for (
size_t i = 0; i < 100; i++)
202 auto& boblamp = *(meshBoblamp->createInstance());
204 boblamp.getTransform().setScale(
Util::rand(0.1f, 0.2f));
205 boblamp.getTransform().setRotation(vec3(0.0f,
Util::rand(0.0f, glm::radians(360.0f)), 0.0f));
209 boblamp.getTransform().setPosition(vec3(
Util::rand(-1.0f, 1.0f)*200.0f,
212 }
while (any_of(bobs.begin(), bobs.end(), [&boblamp](
SceneInstance * instance)
214 return glm::distance(boblamp.getTransform().getPosition(), instance->getTransform().getPosition()) <= (boblamp.getTransform().getScale() * 20 + instance->getTransform().getScale() * 20);
218 bobs.push_back(&boblamp);
227 cam.setRotation(vec3(-0.7f, 0.94f, 0.0f));
232 if (!pressed)
return;
234 if (key == GLFW_KEY_TAB)
string const & sceneName() const
Configuration & getConfig()
void onKeyStateChanged(int key, bool pressed)
SimpleMeshes & getSimpleMeshes()
object_list::iterator begin()
void remove(ISceneObject *&object)
Transformation & getTransform()
Scene * get(string const &name)
SimpleMesh * get(string const &name)
object_list::iterator end()
SceneGraph & getSceneGraph()
GameLogic(Application *app)
vector< string > m_scenes
void update(double time, double timeDelta)