From 04978fdbbb9f796ef355f7b37f9ea9fbc43403f5 Mon Sep 17 00:00:00 2001 From: Andy Killorin <37423245+Speedy6451@users.noreply.github.com> Date: Fri, 3 Jan 2025 13:20:21 -0500 Subject: [PATCH] slice of cake --- src/main.rs | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/src/main.rs b/src/main.rs index 7e930c3..026f803 100644 --- a/src/main.rs +++ b/src/main.rs @@ -163,6 +163,9 @@ fn main() { glEnd(); + glTranslatef(0.0, 0.0, -3.); + slice(tex_exterior, tex_top, tex_interior); + //xrot += 56.0; yrot += 44.0; //zrot += 72.0; @@ -199,3 +202,72 @@ fn main() { println!("Bye!"); } + +unsafe fn slice(tex_exterior: u32, tex_top: u32, tex_interior: u32) { + // left face + glBindTexture(GL_TEXTURE_2D, tex_interior); + glBegin(GL_QUADS); + glColor3f(1.0, 1.0, 1.0); + glTexCoord2f(1.0, 0.0); + glVertex3f(0., -1.0, 1.0); + glTexCoord2f(0.0, 0.0); + glVertex3f(1.0, -1.0, 1.5); + glTexCoord2f(0.0, 1.0); + glVertex3f(1.0, 1.0, 1.5); + glTexCoord2f(1.0, 1.0); + glVertex3f(0.0, 1.0, 1.0); + glEnd(); + + // right face + glBindTexture(GL_TEXTURE_2D, tex_interior); + glBegin(GL_QUADS); + glColor3f(1.0, 1.0, 1.0); + glTexCoord2f(1.0, 0.0); + glVertex3f(0., -1.0, 1.0); + glTexCoord2f(0.0, 0.0); + glVertex3f(1.0, -1.0, 0.5); + glTexCoord2f(0.0, 1.0); + glVertex3f(1.0, 1.0, 0.5); + glTexCoord2f(1.0, 1.0); + glVertex3f(0.0, 1.0, 1.0); + glEnd(); + + // top face + glBindTexture(GL_TEXTURE_2D, tex_top); + glBegin(GL_TRIANGLES); + glColor3f(1.0, 1.0, 1.0); + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 0.5); + glTexCoord2f(1.0, 1.0); + glVertex3f(0.0, 1.0, 1.0); + glTexCoord2f(0.0, 0.0); + glVertex3f(1.0, 1.0, 1.5); + glEnd(); + + // bottom face + glBindTexture(GL_TEXTURE_2D, tex_exterior); + glBegin(GL_TRIANGLES); + glColor3f(1.0, 1.0, 1.0); + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, -1.0, 0.5); + glTexCoord2f(1.0, 1.0); + glVertex3f(0.0, -1.0, 1.0); + glTexCoord2f(0.0, 0.0); + glVertex3f(1.0, -1.0, 1.5); + glEnd(); + + // outer face + glBindTexture(GL_TEXTURE_2D, tex_exterior); + glBegin(GL_QUADS); + glColor3f(1.0, 1.0, 1.0); + + glTexCoord2f(1.0, 0.0); + glVertex3f(1.0, 1.0, 0.5); + glTexCoord2f(0.0, 0.0); + glVertex3f(1.0, 1.0, 1.5); + glTexCoord2f(0.0, 1.0); + glVertex3f(1.0, -1.0, 1.5); + glTexCoord2f(1.0, 1.0); + glVertex3f(1.0, -1.0, 0.5); + glEnd(); +}