Simon
2003-03-09, 15:59:08
Hallo,
also, so langsam verzweifel ich wirklich. Ich versuche eine Landschaft darzustellen und die Indices zu den Vertices zu erstellen, aber irgendwie krieg ich das nicht hin. Kann vielleicht auch daran liegen, dass ich generell keine Ahnung hab, wie man Indices für größere Meshes generiert.
Also, wenn mir jemand dazu eine gute Seite nennen kann oder mir bei folgendem Code helfen könnte, wär ich ihm sehr verbunden ;D
Höhen berechen:
for (i = 0 ; i < terrainGridLength; i++)
for (j = 0;j < terrainGridWidth; j++)
{
// compute the height as a value between 0.0 and 1.0
pointHeight = info->imageData[mode*(i*terrainGridWidth + j)+(mode-1)] / 256.0;
terrainHeights[i*terrainGridWidth + j] = pointHeight;
}
//zeichnen
startW = terrainGridWidth / 2.0 - terrainGridWidth;
startL = - terrainGridLength / 2.0 + terrainGridLength;
for (i = 0 ; i < terrainGridLength-1; i++) {
glBegin(GL_TRIANGLE_STRIP);
for (j = 0;j < terrainGridWidth; j++)
{
x = startW + j + xOffset;
y = terrainHeights[(i+1)*terrainGridWidth + (j)] + yOffset;
z = startL - (i+1) + zOffset;
x*= scale;
z*= scale;
glVertex3f(x,y,z);
x = startW + j + xOffset;
y = terrainHeights[(i)*terrainGridWidth + j] + yOffset;
z = startL - i + zOffset;
x*= scale;
z*= scale;
glVertex3f(x,y,z);
}
glEnd();
}
Ich hab keine Ahnung, wie man daraus Indices erstellt ...
Danke im Voraus und bye, Enrico
also, so langsam verzweifel ich wirklich. Ich versuche eine Landschaft darzustellen und die Indices zu den Vertices zu erstellen, aber irgendwie krieg ich das nicht hin. Kann vielleicht auch daran liegen, dass ich generell keine Ahnung hab, wie man Indices für größere Meshes generiert.
Also, wenn mir jemand dazu eine gute Seite nennen kann oder mir bei folgendem Code helfen könnte, wär ich ihm sehr verbunden ;D
Höhen berechen:
for (i = 0 ; i < terrainGridLength; i++)
for (j = 0;j < terrainGridWidth; j++)
{
// compute the height as a value between 0.0 and 1.0
pointHeight = info->imageData[mode*(i*terrainGridWidth + j)+(mode-1)] / 256.0;
terrainHeights[i*terrainGridWidth + j] = pointHeight;
}
//zeichnen
startW = terrainGridWidth / 2.0 - terrainGridWidth;
startL = - terrainGridLength / 2.0 + terrainGridLength;
for (i = 0 ; i < terrainGridLength-1; i++) {
glBegin(GL_TRIANGLE_STRIP);
for (j = 0;j < terrainGridWidth; j++)
{
x = startW + j + xOffset;
y = terrainHeights[(i+1)*terrainGridWidth + (j)] + yOffset;
z = startL - (i+1) + zOffset;
x*= scale;
z*= scale;
glVertex3f(x,y,z);
x = startW + j + xOffset;
y = terrainHeights[(i)*terrainGridWidth + j] + yOffset;
z = startL - i + zOffset;
x*= scale;
z*= scale;
glVertex3f(x,y,z);
}
glEnd();
}
Ich hab keine Ahnung, wie man daraus Indices erstellt ...
Danke im Voraus und bye, Enrico