我需要做以下事情,我不确定如何归档这个。
我需要它看起来像这样:
这是我到目前为止所做的:
float tempHeight = height * 0.20f;
float tempWidth = width * 0.20f;
float increase = 0;
float colour = 0.20f;
float temp = 0;
tempHeight = tempHeight / 3;
for(int y = 0; y < 5; y++) {
gl2.glBegin(GL2.GL_QUADS);
gl2.glColor3f(colour, colour, colour); // Set the current drawing color
gl2.glVertex3f(0, height * 0.20f + temp, 0.0f); // Top Left
gl2.glVertex3f(width * 0.20f , height * 0.20f + temp, 0.0f); // Top Right
gl2.glVertex3f(width * 0.20f , temp, 0.0f); // Bottom Right
gl2.glVertex3f(0, temp, 0.0f); // Bottom Left
gl2.glEnd();
for(int a = 0; a < 4; a++) {
gl2.glBegin(GL2.GL_QUADS);
gl2.glColor3f(colour,colour,colour);
if (a == 0 || a == 2 || a == 3) {
gl2.glColor3f(1f, 0f, 0f);
}
gl2.glVertex3f(tempWidth, tempHeight + increase, 0.0f); // Top Left
gl2.glVertex3f(tempWidth * 2 , tempHeight + increase, 0.0f); // Top Right
gl2.glVertex3f(tempWidth * 2 , tempHeight * a , 0.0f); // Bottom Right
gl2.glVertex3f(tempWidth, tempHeight * a , 0.0f); // Bottom Left
gl2.glEnd();
}
increase = tempHeight;
colour = colour + 0.20f;
// tempWidth = tempWidth + width * 0.20f;
temp = temp + height * 0.20f;
// tempHeight = tempHeight + height * 0.20f;
for(int b = 0; b < 5; b++) {
}
}
}
答案 0 :(得分:0)
首先,你应该避免deprecated OpenGL。如果你想要,你可以从mine的问候三角形开始并进行实验。
其次,你要问的是相对容易的,你必须声明你想要的那个形状的顶点几何,即:
然后,您需要渲染五次(在此示例中),并且每次需要:
通过上传一个矩阵来改变位置,该矩阵将与几何体的每个顶点相乘
设置片段着色器用于遮蔽几何体的不同颜色
如果您有任何其他问题,请随时提出