Zadanie 4 make ball 3d
This commit is contained in:
parent
81ec3695cb
commit
98ac748dbe
@ -1,10 +1,10 @@
|
|||||||
#version 330 core
|
#version 330 core
|
||||||
layout (location = 0) in vec2 aPos;
|
layout (location = 0) in vec3 aPos;
|
||||||
|
|
||||||
uniform mat4 model;
|
uniform mat4 model;
|
||||||
uniform mat4 view;
|
uniform mat4 view;
|
||||||
uniform mat4 projection;
|
uniform mat4 projection;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
gl_Position = projection * view * model * vec4(aPos, 0.0, 1.0);
|
gl_Position = projection * view * model * vec4(aPos, 1.0);
|
||||||
}
|
}
|
||||||
|
@ -56,14 +56,18 @@ GLuint bezierVAO, bezierVBO;
|
|||||||
GLuint sphereVAO, sphereVBO, sphereEBO;
|
GLuint sphereVAO, sphereVBO, sphereEBO;
|
||||||
|
|
||||||
std::vector<glm::vec3> controlPoints = {
|
std::vector<glm::vec3> controlPoints = {
|
||||||
glm::vec3(-1.0f, 0.0f, 0.0f),
|
glm::vec3(-1.0f, -1.0f, 0.0f),
|
||||||
glm::vec3(-0.5f, 5.0f, 0.0f),
|
glm::vec3(-0.5f, 4.0f, 0.0f),
|
||||||
glm::vec3(0.5f, -5.0f, 0.0f),
|
glm::vec3(0.5f, -6.0f, 0.0f),
|
||||||
glm::vec3(1.0f, 3.0f, 0.0f)
|
glm::vec3(1.0f, 2.0f, 0.0f)
|
||||||
};
|
};
|
||||||
|
|
||||||
float easingFn(float t) {
|
float easingFn(float t) {
|
||||||
return pow(t, 3);
|
// return 1 - pow(1 - t, 3);
|
||||||
|
return t < 0.5
|
||||||
|
? (1 - pow(1 - 2*t, 3)) / 2
|
||||||
|
: (pow(2*t - 1, 3) + 1) / 2;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
glm::vec3 cubicBezier(const glm::vec3& P0, const glm::vec3& P1, const glm::vec3& P2, const glm::vec3& P3, float t) {
|
glm::vec3 cubicBezier(const glm::vec3& P0, const glm::vec3& P1, const glm::vec3& P2, const glm::vec3& P3, float t) {
|
||||||
|
Loading…
Reference in New Issue
Block a user