HP Workstation zx2000 HP OpenGL Implementation Guide for HP-UX 11.X (IPF versi - Page 15
glTexParameterfGL_TEXTURE_3D_EXT, GL_TEXTURE_WRAP_T, GL_CLAMP
View all HP Workstation zx2000 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 15 highlights
overview of OpenGL GLubyte purpleRGBA[]= {255.0, 0.0, 255.0, 255.0}; GLubyte cyanRGBA[]= {0.0, 255.0, 255.0, 255.0}; GLubyte greyRGBA[] = {125.0, 125.0, 125.0, 255.0}; main(int argc, char *argv[]) { /* Open window for displaying.Put your favorite code here to open a window and perform perspective setup */ glEnable(GL_TEXTURE_3D_EXT); checkerPattern(TEXTURE_WIDTH, TEXTURE_HEIGHT, blueRGBA, whiteRGBA, &texture1[0][0][0], 4); checkerPattern(TEXTURE_WIDTH, TEXTURE_HEIGHT, redRGBA, yellowRGBA, &texture2[0][0][0], 4); checkerPattern(TEXTURE_WIDTH, TEXTURE_HEIGHT, greenRGBA, blackRGBA, &texture3[0][0][0], 4); checkerPattern(TEXTURE_WIDTH, TEXTURE_HEIGHT, purpleRGBA, cyanRGBA, &texture4[0][0][0], 4); /* create a 3D texture, textureConcat, which has a different checker pattern at each depth */ memcpy(&textureConcat[0][0][0], texture1, sizeof(texture1)); memcpy(&textureConcat[1][0][0], texture2, sizeof(texture2)); memcpy(&textureConcat[2][0][0], texture3, sizeof(texture3)); memcpy(&textureConcat[3][0][0], texture4, sizeof(texture4)); glTexParameterf(GL_TEXTURE_3D_EXT, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameterf(GL_TEXTURE_3D_EXT, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameterf(GL_TEXTURE_3D_EXT, GL_TEXTURE_WRAP_R_EXT, GL_CLAMP); glTexParameterf(GL_TEXTURE_3D_EXT, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_3D_EXT, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexImage3DEXT(GL_TEXTURE_3D_EXT, 0, GL_RGBA, TEXTURE_WIDTH, TEXTURE_HEIGHT, TEXTURE_DEPTH, 0, GL_RGBA, GL_UNSIGNED_BYTE, &textureConcat); /* Fill a quad with depth of r = 0.125, passed into glTexCoord for every vertex. */ Add your quad code here /* Fill a quad with depth of r = 0.375, passed into glTexCoord for every vertex. */ Add your quad code here /* Fill a quad with depth of r = 0.625, passed into glTexCoord for every vertex. */ Add your quad code here /* Fill a quad with depth of r = 0.875, passed into glTexCoord for every vertex. */ Add your quad code here /* Now get a slice across the quad. Here's some quad code for a sample. Make sure you have appropriate viewing perspectives. */ glBegin(GL_QUADS); glNormal3f(0., 0., 1.); glTexCoord3f(0.0, 0.0, 0.0); glVertex3f(0.5, 0.5, 0.); glNormal3f(0., 0., 1.); glTexCoord3f(0.0, 1.0, 0.0); OpenGL implementation guide 1-11