Lines Matching refs:glm
26 #include <glm/gtc/matrix_transform.hpp>
85 glm::vec3 pick()
87 return glm::vec3{ red_(rng_),
110 current_.axis = glm::normalize(glm::vec3(x, y, z));
115 current_.matrix = glm::scale(glm::mat4(1.0f), glm::vec3(current_.scale));
118 glm::mat4 Animation::transformation(float t)
120 current_.matrix = glm::rotate(current_.matrix, current_.speed * t, current_.axis);
128 virtual glm::vec3 evaluate(float t) = 0;
148 glm::vec3 evaluate(float t)
163 segment_direction_ = glm::vec3(direction_(rng_),
179 glm::vec3 segment_start_;
180 glm::vec3 segment_direction_;
184 glm::vec3 unit_dir_;
185 glm::vec3 pos_;
191 CircleCurve(float radius, glm::vec3 axis)
194 glm::vec3 a;
210 a_ = glm::normalize(a);
211 b_ = glm::normalize(glm::cross(a_, axis));
214 glm::vec3 evaluate(float t)
216 return (a_ * (glm::vec3(std::cos(t)) - glm::vec3(1.0f)) + b_ * glm::vec3(std::sin(t))) *
217 glm::vec3(r_);
222 glm::vec3 a_;
223 glm::vec3 b_;
236 glm::vec3 Path::position(float t)
256 current_.origin = glm::vec3(origin(rng_), origin(rng_), origin(rng_));
271 glm::vec3 axis(dir(rng_), dir(rng_), dir(rng_));
301 glm::vec3(0.5 + 0.5 * (float) i / object_count),
323 glm::vec3 pos = obj.path.position(time);
324 glm::mat4 trans = obj.animation.transformation(time);
325 obj.model = glm::translate(glm::mat4(1.0f), pos) * trans;