}
msurf_set_threshold(priv->msurf, 8);
msurf_set_inside(priv->msurf, MSURF_GREATER);
- msurf_set_bounds(priv->msurf, -3.5, 3.5, -3.5, 3.5, -3.5, 3.5);
+ msurf_set_bounds(priv->msurf, -3.5, -3.5, -3.5, 3.5, 3.5, 3.5);
msurf_enable(priv->msurf, MSURF_NORMALIZE);
priv->tex = texman.get_texture("data/sphmap.jpg");
+
return true;
}
float max_energy = 0.0f;
-//#pragma omp parallel for
+#pragma omp parallel for
for(int i=0; i<zres; i++) {
float z = zmin + i * zstep;
float *voxptr = msurf_slice(priv->msurf, i);
- if(!voxptr) break;
for(int j=0; j<yres; j++) {
float y = ymin + j * ystep;
glLoadIdentity();
glScalef(1, -1, 1);
- glFrontFace(GL_CW);
-
-
int nverts = msurf_vertex_count(priv->msurf);
float *varr = msurf_vertices(priv->msurf);
float *narr = msurf_normals(priv->msurf);
- glBegin(GL_TRIANGLES);
glColor3f(1, 1, 1);
- for(int i=0; i<nverts; i++) {
- glNormal3f(narr[0], narr[1], narr[2]);
- glVertex3f(varr[0], varr[1], varr[2]);
- varr += 3;
- narr += 3;
- }
- glEnd();
- glFrontFace(GL_CCW);
+ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glEnableClientState(GL_NORMAL_ARRAY);
+ glVertexPointer(3, GL_FLOAT, 0, varr);
+ glNormalPointer(GL_FLOAT, 0, narr);
+
+ glDrawArrays(GL_TRIANGLES, 0, nverts);
+
+ glDisableClientState(GL_VERTEX_ARRAY);
+ glDisableClientState(GL_NORMAL_ARRAY);
+ /*
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
narr += 3;
}
glEnd();
+ */
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);