wglMakeCurrent(m_hDC, m_hRC);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
RECT rc;
::GetClientRect(m_hWnd, &rc);
Frustum frustum;
frustum.SetOrthographic(rc.left, rc.right, rc.top, rc.bottom, 0.f, 1.f);
m_scene.GetShaderManager().UseStockShader(AGL_STOCK_SHADER::AGL_SHADER_FLAT,
frustum.GetProjectionMatrix().data());
GLuint pBuffer;
glGenBuffers(1, &pBuffer);
M3DVector3f box[5] = {
{ 100, 200, 0.f },
{ 200, 200, 0.f },
{ 200, 100, 0.f },
{ 100, 100, 0.f },
{ 100, 200, 0.f }
};
glBindBuffer(GL_ARRAY_BUFFER, pBuffer);
glEnableVertexAttribArray(AGL_ATTRIBUTE_VERTEX);
glBufferData(GL_ARRAY_BUFFER, sizeof(M3DVector3f)*5, box, GL_STATIC_DRAW);
glVertexAttribPointer(AGL_ATTRIBUTE_VERTEX, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
glColor3f(0.f, 1.f, 1.f);
glLineWidth(2.f);
glDrawArrays(GL_LINES, 0, 5);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
glDisableVertexAttribArray(AGL_ATTRIBUTE_VERTEX);
glDeleteBuffers(1, &pBuffer);
SwapBuffers(m_hDC);