X-Git-Url: http://git.mutantstargoat.com?a=blobdiff_plain;f=src%2Fgeom.cc;h=62e36d398702580c4e6c83b4f89a56178251dff3;hb=3ab4c732d6d2b7dccfe34f1ae7be9025ef79611b;hp=804c18f82b20064dc454c2fbcb8dd10a37ecbec9;hpb=d60954c471d6f446523bad8c4c4860aa2138da1e;p=faros-demo diff --git a/src/geom.cc b/src/geom.cc index 804c18f..62e36d3 100644 --- a/src/geom.cc +++ b/src/geom.cc @@ -114,4 +114,34 @@ void ground() void xlogo() { + static const float xlogo_varr[] = { + -0.500, 0.407, -0.113, -0.109, 0.059, -0.006, -0.251, 0.407, + -0.113, -0.109, -0.499, -0.593, -0.410, -0.593, 0.059, -0.006, + -0.058, -0.182, 0.251, -0.593, 0.500, -0.593, 0.114, -0.079, + -0.058, -0.182, 0.114, -0.079, 0.500, 0.407, 0.411, 0.407 + }; + + /* billboarding */ + float mv[16]; + glGetFloatv(GL_MODELVIEW_MATRIX, mv); + mv[0] = mv[5] = mv[10] = 1.0f; + mv[1] = mv[2] = mv[4] = mv[6] = mv[8] = mv[9] = 0.0f; + + glPushMatrix(); + glLoadMatrixf(mv); + + glPushAttrib(GL_ENABLE_BIT); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glBegin(GL_QUADS); + const float *vptr = xlogo_varr; + for(int i=0; i<(int)(sizeof xlogo_varr / sizeof *xlogo_varr) / 2; i++) { + glVertex2fv(vptr); + vptr += 2; + } + glEnd(); + + glPopAttrib(); + glPopMatrix(); }