【发布时间】:2010-11-04 19:55:02
【问题描述】:
你好友好的计算机人,
我一直在用iPhone 3D programming from O'Reilly 这本书学习openGL。下面我从文本中发布了一个示例,该示例显示了如何绘制圆锥。我仍在努力解决它,这有点困难,因为我对 C++ 不是很熟悉。
无论如何,我想做的是画一个立方体。谁能建议用绘制一个简单立方体的代码替换以下代码的最佳方法?
const float coneRadius = 0.5f;
const float coneHeight = 1.866f;
const int coneSlices = 40;
{
// Allocate space for the cone vertices.
m_cone.resize((coneSlices + 1) * 2);
// Initialize the vertices of the triangle strip.
vector<Vertex>::iterator vertex = m_cone.begin();
const float dtheta = TwoPi / coneSlices;
for (float theta = 0; vertex != m_cone.end(); theta += dtheta) {
// Grayscale gradient
float brightness = abs(sin(theta));
vec4 color(brightness, brightness, brightness, 1);
// Apex vertex
vertex->Position = vec3(0, 1, 0);
vertex->Color = color;
vertex++;
// Rim vertex
vertex->Position.x = coneRadius * cos(theta);
vertex->Position.y = 1 - coneHeight;
vertex->Position.z = coneRadius * sin(theta);
vertex->Color = color;
vertex++;
}
}
感谢所有帮助。
【问题讨论】: