tumba
05-17-2009, 10:55 AM
Hi guys! Maybe who knows or can help me find how to create zebra stripes analysis tool using opengl, like Rhino.
Zebra - Maps stripes onto surfaces and meshes for analysis.
Rhino -> Rhinoceros aplication for NURBS modeling.
I want to get a tool like in the picture and use it in Maya.
http://img51.imageshack.us/img51/6034/zebra002.png
I try rewrite example from devkit folder hwManagedTextureShader.
hwManagedTextureShader::glBind(const MDagPath& path)
{
glPushAttrib(GL_LIGHTING_BIT);
glClearDepth(1.0f);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glEnable(GL_AUTO_NORMAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
float xPlane[4]={1.0f, 0.0f, 0.0f, 0.0f};
static GLuint id = 0;
if (id == 0)
{
GLubyte texture_data[32][1][4];
int i, j, c;
for(i=0;i<32;i++)
{
for(j=0;j<1;j++)
{
c = ((i<=16) ? 255: 0);
texture_data[i][j][0]= (GLubyte) c;
texture_data[i][j][1]= (GLubyte) c;
texture_data[i][j][2]= (GLubyte) c;
texture_data[i][j][3]= (GLubyte) 0;
}
}
glGenTextures(1, &id);
glEnable(GL_TEXTURE_1D);
glBindTexture(GL_TEXTURE_2D, id);
glEnable(GL_TEXTURE_GEN_S);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR);
glTexGenfv(GL_S, GL_EYE_PLANE, xPlane);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture_data);
}
else
{
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, id);
glEnable(GL_TEXTURE_GEN_S);
}
boundTexture = true;
if(boundTexture)
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
}
glEnableClientState(GL_VERTEX_ARRAY);
return MS::kSuccess; }
In maya viewport (press 6):
http://img36.imageshack.us/img36/2725/myzebra.jpg
But i want horizontal line i cant make this please help. And maybe you can help me with corect matrix in model viewport. How can I do to May curvature on the surface more visible through zebra stripes!
Big thanx! And sorry for my bad english!
Zebra - Maps stripes onto surfaces and meshes for analysis.
Rhino -> Rhinoceros aplication for NURBS modeling.
I want to get a tool like in the picture and use it in Maya.
http://img51.imageshack.us/img51/6034/zebra002.png
I try rewrite example from devkit folder hwManagedTextureShader.
hwManagedTextureShader::glBind(const MDagPath& path)
{
glPushAttrib(GL_LIGHTING_BIT);
glClearDepth(1.0f);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glEnable(GL_AUTO_NORMAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
float xPlane[4]={1.0f, 0.0f, 0.0f, 0.0f};
static GLuint id = 0;
if (id == 0)
{
GLubyte texture_data[32][1][4];
int i, j, c;
for(i=0;i<32;i++)
{
for(j=0;j<1;j++)
{
c = ((i<=16) ? 255: 0);
texture_data[i][j][0]= (GLubyte) c;
texture_data[i][j][1]= (GLubyte) c;
texture_data[i][j][2]= (GLubyte) c;
texture_data[i][j][3]= (GLubyte) 0;
}
}
glGenTextures(1, &id);
glEnable(GL_TEXTURE_1D);
glBindTexture(GL_TEXTURE_2D, id);
glEnable(GL_TEXTURE_GEN_S);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR);
glTexGenfv(GL_S, GL_EYE_PLANE, xPlane);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture_data);
}
else
{
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, id);
glEnable(GL_TEXTURE_GEN_S);
}
boundTexture = true;
if(boundTexture)
{
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
}
glEnableClientState(GL_VERTEX_ARRAY);
return MS::kSuccess; }
In maya viewport (press 6):
http://img36.imageshack.us/img36/2725/myzebra.jpg
But i want horizontal line i cant make this please help. And maybe you can help me with corect matrix in model viewport. How can I do to May curvature on the surface more visible through zebra stripes!
Big thanx! And sorry for my bad english!
