000
10.05.2006, 11:23 Uhr
~SvenK
Gast
|
Hallo,
ich erstelle mir mit Hilfe glMap2f ein Beizier Fläche aus 8*8*3 CtrlPoints
C++: |
GLfloat ctrl_points[8][8][3]; int Y_run=0,X_run=0; for (int i = BeginY; i<BeginY +8/*EndeY*/; i++) { for (int j = BeginX; j<BeginX +8/*EndeX*/ ;j++) {
ctrl_points[Y_run][X_run][0] = (float)j; ctrl_points[Y_run][X_run][1] = (float)i; ctrl_points[Y_run][X_run][2] = m_DrawInfo->m_ST_WorkData[j][i].Z_Koordinate; X_run++; } X_run = 0; Y_run++; }
glColor3f(1.0,0.0,0.0);
glMap2f(GL_MAP2_VERTEX_3, 0.0, 1.0,8*3, 8, 0.0, 1.0, 3, 8, &ctrl_points[0][0][0]); glEnable(GL_MAP2_VERTEX_3); glEnable(GL_AUTO_NORMAL); glEnable(GL_NORMALIZE); glMapGrid2f(8, 0.0, 1.0, 8, 0.0, 1.0); glEvalMesh2(GL_POINT, 0, 8, 0, 8);
|
Dieses klappt auch sehr gut, jedoch benötige ich eigentlich eine Bezier Fläche von 16*16*3, komischerweise sobald ich die Werte erhöhe:
C++: |
GLfloat ctrl_points[9][9][3]; .. for (int i = BeginY; i<BeginY +9/*EndeY*/; i++) { for (int j = BeginX; j<BeginX +9/*EndeX*/ ;j++) { .. glMap2f(GL_MAP2_VERTEX_3, 0.0, 1.0,9*3, 9, 0.0, 1.0, 3, 9, &ctrl_points[0][0][0]);
|
passiert nix mehr! Was mache ich falsch??
Sven |