Beispiel #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();
}
void PFEngine::Draw() {
  if (current_level_ == "") return;

  //shader_.setColor(0.0f, 1.0f, 1.0f);

  DrawRect(100, 100, 50, 50, 0);
  shader_.setColor(1.0f, 1.0f, 1.0f);
  DrawRect(100, 100, 25, 25, 0);
  shader_.setColor(0.0f, 0.0f, 0.0f);
  DrawRect(150, 50, 30, 15, 45);

  DrawRect(x, y, 25, 25, angle);

  DrawTriangleFan(VertexArrayID, 4, (void *)4, 300, 300, 1, 1, 0);

  /*shader_.setModelView(glm::rotate<GLfloat>(glm::mat4(), angle, glm::vec3(0,0,1)));
  shader_.leftMultModelView(glm::translate<GLfloat>(glm::mat4(), glm::vec3(x, y, 0.0f)));
	shader_.updateModelView();

  glBindVertexArray(VertexArrayID);
  glDrawElements(GL_TRIANGLE_FAN, 4, GL_UNSIGNED_INT, NULL);*/


  //glDrawArrays(GL_TRIANGLE_FAN, 0, 4);

	//glEnableVertexAttribArray(0);
	//glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer_);
	//glVertexAttribPointer(
	//	0,                  // attribute 0. No particular reason for 0, but must match the layout in the shader.
	//	2,                  // size
	//	GL_FLOAT,           // type
	//	GL_FALSE,           // normalized?
	//	0,                  // stride
	//	(void*)0            // array buffer offset
	//);

	//glDrawArrays(GL_TRIANGLE_FAN, 0, 4); // 3 indices starting at 0 -> 1 triangle

	//glDisableVertexAttribArray(0);
}