X-Git-Url: https://git.ucc.asn.au/?p=atyndall%2Fcits2231.git;a=blobdiff_plain;f=helper.c;h=460c44a59a8ee32f5730dca4909b32098821fcf5;hp=4e03e1fb81247314b0d6fd334d382d4f303a515e;hb=2d7a16e7d0297d354fcc98be4626ec8a8331fb0d;hpb=fc880a0c6714b7cf04a869f84419ef52f823cd01 diff --git a/helper.c b/helper.c index 4e03e1f..460c44a 100644 --- a/helper.c +++ b/helper.c @@ -235,7 +235,7 @@ void drawSquare(int recurseLevel, float x1, float z1, float x2, float z2) { // **NOTE: We're drawing large strips, instead of squares, which might cause a lighting problem glBegin(GL_QUADS); //glNormal3f(0,1,0); - glColor3f(0.0, 0.0, 0.0); + glColor3f(1.0, 1.0, 1.0); glVertex3f(x1, 0.0, z1); glVertex3f(x1, 0.0, z2); glVertex3f(x2, 0.0, z2); @@ -254,23 +254,40 @@ void drawFloor() { /** * Draw x, z axis on floor */ -void drawLine() { +void drawAxisLines() { // **NOTE: Function does not currently draw arrow-heads glDisable(GL_TEXTURE_2D); glDisable(GL_LIGHTING); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_LINE_SMOOTH); glColor3f( 0.0, 0.0, 0.0 ); + float arrowLength = 1.0; + glBegin(GL_LINES); + // x arrow glVertex3i( lineLength, 0.0, 0.0 ); glVertex3i( -lineLength, 0.0, 0.0 ); - glEnd(); + + // x arrowheads + glVertex3i( lineLength, 0.0, 0.0 ); + glVertex3i( lineLength - arrowLength, 0.0, 1.0 ); - glBegin(GL_LINES); - glVertex3i( 0.0, 0.0, lineLength ); - glVertex3i( 0.0, 0.0, -lineLength ); + glVertex3i( lineLength, 0.0, 0.0 ); + glVertex3i( lineLength - arrowLength, 0.0, -1.0 ); + + // z arrow + glVertex3i( 0.0, 0.0, lineLength ); + glVertex3i( 0.0, 0.0, -lineLength ); + + // z arrowheads + glVertex3i( 0.0, 0.0, lineLength ); + glVertex3i( 1.0, 0.0, lineLength - arrowLength ); + + glVertex3i( 0.0, 0.0, lineLength ); + glVertex3i( -1.0, 0.0, lineLength - arrowLength ); glEnd(); glDisable(GL_BLEND);