示例#1
0
void COglshapeView::DrawWithOpenGL() {
    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.0f, 0.0f, 0.0f);

    switch(m_shape) {
    case Points        :
        DrawPoints();
        break;

    case Lines         :
        DrawLines();
        break;

    case LineStrip     :
        DrawLineStrip();
        break;

    case LineLoop      :
        DrawLineLoop();
        break;

    case Polygons      :
        DrawPolygons();
        break;

    case Triangles     :
        DrawTriangles();
        break;

    case TriangleStrip :
        DrawTriangleStrip();
        break;

    case TriangleFan   :
        DrawTriangleFan();
        break;

    case Quads         :
        DrawQuads();
        break;

    case QuadStrip     :
        DrawQuadStrip();
        break;

    case Nonconvex     :
        DrawNonconvex();
        break;
    }

    glFlush();
}
示例#2
0
void nuiSoftwarePainter::DrawArray(nuiRenderArray* pArray)
{
  if (!mEnableDrawArray)
  {
    pArray->Release();
    return;
  }
  
  switch (pArray->GetMode())
  {
  case GL_POINTS:
    //NGL_OUT(_T("GL_POINTS Not Implemented\n"));
    break;
  case GL_LINES:
    DrawLines(pArray);
    break;
  case GL_LINE_STRIP:
    DrawLineStrip(pArray);
    break;
  case GL_LINE_LOOP:
    DrawLineLoop(pArray);
    break;
  case GL_TRIANGLES:
    DrawTriangles(pArray);
    break;
  case GL_TRIANGLE_FAN:
    DrawTrianglesFan(pArray);
    break;
  case GL_TRIANGLE_STRIP:
    DrawTrianglesStrip(pArray);
    break;
//  case GL_QUADS:
//    DrawQuads(pArray);
//    break;
//  case GL_QUAD_STRIP:
//    DrawQuadStrip(pArray);
//    break;
//  case GL_POLYGON:
//    //NGL_OUT(_T("GL_POLYGON Not Implemented\n"));
//    break;
  }

  pArray->Release();
}