cube tower
This commit is contained in:
parent
1db1b9378b
commit
1e2adcfe37
44
src/main.c
44
src/main.c
|
@ -264,8 +264,8 @@ void draw(void) {
|
||||||
mat4 viewMatrix;
|
mat4 viewMatrix;
|
||||||
|
|
||||||
// mat4Identity(viewMatrix);
|
// mat4Identity(viewMatrix);
|
||||||
vec3 cameraPos = {0.0f, 0.0f, 2.0f};
|
vec3 cameraPos = {0.0f, 1.0f, 1.3f};
|
||||||
vec3 cameraLookAt = {0.0f, 0.0f, -1.0f};
|
vec3 cameraLookAt = {0.0f, 0.2f, 0.0f};
|
||||||
vec3 cameraUp = {0.0f, 1.0f, 0.0f};
|
vec3 cameraUp = {0.0f, 1.0f, 0.0f};
|
||||||
mat4BuildLookAt(viewMatrix, cameraPos, cameraLookAt, cameraUp);
|
mat4BuildLookAt(viewMatrix, cameraPos, cameraLookAt, cameraUp);
|
||||||
|
|
||||||
|
@ -277,38 +277,24 @@ void draw(void) {
|
||||||
mat4 modelMatrix;
|
mat4 modelMatrix;
|
||||||
vec3 scale;
|
vec3 scale;
|
||||||
vec3 position;
|
vec3 position;
|
||||||
mat4 scaledMatrix;
|
|
||||||
|
|
||||||
mat4Identity(scaledMatrix);
|
float scales[] = {0.5f, 0.4f, 0.3f, 0.2f, 0.1f, 0.09f, 0.08f, 0.07f, 0.06f, 0.05f};
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
mat4Identity(modelMatrix);
|
||||||
|
|
||||||
vec3Set(scale, 0.2f, 0.2f, 0.2f);
|
vec3Set(scale, scales[i], 0.05f, scales[i]);
|
||||||
mat4Scale(scaledMatrix, scaledMatrix, scale);
|
mat4Scale(modelMatrix, modelMatrix, scale);
|
||||||
|
|
||||||
|
mat4RotateY(modelMatrix, modelMatrix, currentHue * 2 * M_PI + (i / 5.0f * M_PI));
|
||||||
|
|
||||||
|
vec3Set(position, 0.0f, i * 0.05f, 0.0f);
|
||||||
|
mat4Translate(modelMatrix, modelMatrix, position);
|
||||||
|
|
||||||
|
drawCube(position, modelMatrix, viewMatrix);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// draw cubes
|
|
||||||
// cube 1
|
|
||||||
vec3Set(position, -1.0f, 0.0f, 0.0f);
|
|
||||||
|
|
||||||
mat4RotateZ(modelMatrix, scaledMatrix, currentHue * PI * 4);
|
|
||||||
mat4RotateY(modelMatrix, modelMatrix, currentHue * PI * 2);
|
|
||||||
|
|
||||||
drawCube(position, modelMatrix, viewMatrix);
|
|
||||||
|
|
||||||
// cube 2
|
|
||||||
vec3Set(position, 0.0f, 0.0f, 0.0f);
|
|
||||||
|
|
||||||
mat4RotateY(modelMatrix, scaledMatrix, currentHue * PI * 4);
|
|
||||||
mat4RotateX(modelMatrix, modelMatrix, currentHue * PI * 2);
|
|
||||||
|
|
||||||
drawCube(position, modelMatrix, viewMatrix);
|
|
||||||
|
|
||||||
// cube 3
|
|
||||||
vec3Set(position, 1.0f, 0.0f, 0.0f);
|
|
||||||
|
|
||||||
mat4RotateX(modelMatrix, scaledMatrix, currentHue * PI * 4);
|
|
||||||
mat4RotateZ(modelMatrix, modelMatrix, currentHue * PI * 2);
|
|
||||||
|
|
||||||
drawCube(position, modelMatrix, viewMatrix);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void framebuffer_size_callback(GLFWwindow* window, int width, int height) {
|
void framebuffer_size_callback(GLFWwindow* window, int width, int height) {
|
||||||
|
|
Loading…
Reference in New Issue