GlWireSpongeBob

Sangat disayangkan, materi yang diberikan oleh dosen sangat terbatas.
Mulai dari proses instalasi openGL, cara membuat objek, operasi-operasi matrix, textures, pencahayaan semua harus di’ulik’ sendiri.
Untungnya ada ‘mbah gugel’, akhirnya jadi juga, walau tampangnya agak “horor” karena full menggunakan wireframe (belum sempat ngulik textures and lighting). 🙂


Berikut isi method displaynya:

 

  //kepala
        gl.glPushMatrix();//save current matrix
        gl.glScalef(1.0f, 1.0f, 0.4f); //untuk mengubah ukuran benda
        glut.glutWireCube(1.0f);//wireframe kubus dengan ukuran 1
        gl.glPopMatrix();//pop biar reset
  //baju
        gl.glPushMatrix();
        gl.glTranslatef(0.0f, -0.58f, 0.0f);//mentranslate titik koordinat start
        gl.glScalef(1.0f, 0.15f, 0.4f);
        gl.glColor3d(1.0, 1.0, 1.0);
        glut.glutWireCube(1.0f);
        gl.glPopMatrix();
  //celana
        gl.glPushMatrix();
        gl.glTranslatef(0.0f, -0.73f, 0.0f);// -0.58-0.15=-0.73
        gl.glScalef(1.0f, 0.15f, 0.4f);
        gl.glColor3d(1.0, 0.0, 0.0);
        glut.glutWireCube(1.0f);
        gl.glPopMatrix();
   //celana kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.2f, -0.84f, 0.0f);// -0.73-0.15=-0.88
        gl.glRotatef(90, 1.0f, 0.0f, 0.0f);
        gl.glColor3d(1.0, 0.0, 0.0);
        glut.glutWireCylinder(0.1, 0.05, 10, 10);
        gl.glPopMatrix();
   //celanan kanan
        gl.glPushMatrix();
        gl.glTranslatef(0.2f, -0.84f, 0.0f);// -0.73-0.15=-0.88
        gl.glRotatef(90, 1.0f, 0.0f, 0.0f);
        gl.glColor3d(1.0, 0.0, 0.0);
        glut.glutWireCylinder(0.1, 0.05, 10, 10);
        gl.glPopMatrix();
   //kaki kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.2f, -0.84f, 0.0f);// -0.73-0.15=-0.88
        gl.glRotatef(90, 1.0f, 0.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 0.0);
        glut.glutWireCylinder(0.02, 0.5, 5, 5);
        gl.glPopMatrix();
  //kakikanan
        gl.glPushMatrix();
        gl.glTranslatef(0.2f, -0.84f, 0.0f);// -0.73-0.15=-0.88
        gl.glRotatef(90, 1.0f, 0.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 0.0);
        glut.glutWireCylinder(0.02, 0.5, 5, 5);
        gl.glPopMatrix();
  //lengan baju kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.5f, -0.2f, 0.0f);
        gl.glRotatef(90, 0.0f, -1.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 1.0);
        glut.glutWireCone(0.1, 0.3, 10, 10);
        gl.glPopMatrix();
  //lengan baju kanan
        gl.glPushMatrix();
        gl.glTranslatef(0.5f, -0.2f, 0.0f);
        gl.glRotatef(90, 0.0f, 1.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 1.0);
        glut.glutWireCone(0.1, 0.3, 10, 10);
        gl.glPopMatrix();
  //lengan kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.5f, -0.2f, 0.0f);
        gl.glRotatef(90, 0.0f, -1.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 0.0);
        glut.glutWireCylinder(0.02, 1, 5, 5);
        gl.glPopMatrix();
  //lengan kanan
        gl.glPushMatrix();
        gl.glTranslatef(0.5f, -0.2f, 0.0f);
        gl.glRotatef(90, 0.0f, 1.0f, 0.0f);
        gl.glColor3d(1.0, 1.0, 0.0);
        glut.glutWireCylinder(0.02, 1, 5, 5);
        gl.glPopMatrix();
  //mata kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.2f, 0.0f, 0.2f);
        gl.glScalef(1.0f, 1.0f, 0.4f);
        gl.glColor3d(0.5, 0.7, 1.0);
        glut.glutWireSphere(0.2, 10, 10);
        gl.glPopMatrix();
  //mata kanan
        gl.glPushMatrix();
        gl.glTranslatef(0.2f, 0.0f, 0.2f);
        gl.glScalef(1.0f, 1.0f, 0.4f);
        gl.glColor3d(0.5, 0.7, 1.0);
        glut.glutWireSphere(0.2, 10, 10);
        gl.glPopMatrix();
   //hidung
        gl.glPushMatrix();
        gl.glTranslatef(0.0f, -0.15f, 0.26f);
        gl.glScalef(1.0f, 1.0f, 1.5f);
        gl.glColor3d(1.0, 1.0, 0.0);
        glut.glutWireSphere(0.06, 10, 10);
        gl.glPopMatrix();
   //mulut
        gl.glPushMatrix();
        gl.glTranslatef(0.0f, -0.35f, 0.2f);
        gl.glScalef(3.5f, 1.0f, 0.0f);
        gl.glColor3d(1.0, 0.0, 0.0);
        glut.glutWireSphere(0.06, 10, 10);
        gl.glPopMatrix();
   //gigi kiri
        gl.glPushMatrix();
        gl.glTranslatef(-0.04f, -0.34f, 0.2f);
        gl.glScalef(0.8f, 1.1f, 0.5f);
        gl.glColor3d(1.0, 1.0, 1.0);
        glut.glutWireCube(0.08f);
        gl.glPopMatrix();
    //gigi kanan
        gl.glPushMatrix();
        gl.glTranslatef(0.04f, -0.34f, 0.2f);
        gl.glScalef(0.8f, 1.1f, 0.5f);
        gl.glColor3d(1.0, 1.0, 1.0);
        glut.glutWireCube(0.08f);
        gl.glPopMatrix();
        gl.glFlush();