#### Archived

This topic is now archived and is closed to further replies.

# glTexGen problem

This topic is 5587 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi,all In the blue book,it said: " If the texture generation function is GL_OBJECT_LINEAR, the function g = p1 * xo + p2 * yo + p3 * zo + p4 * wo is used, where g is the value computed for the coordinate named in coord, p1, p2, p3, and p4 are the four values supplied in params, and xo, yo, zo, and wo are the object coordinates of the vertex. This function can be used to texture-map terrain using sea level as a reference plane (defined by p1, p2, p3, and p4). The altitude of a terrain vertex is computed by the GL_OBJECT_LINEAR coordinate generation function as its distance from sea level; that altitude is used to index the texture image to map white snow onto peaks and green grass onto foothills, for example. " But how to use it?I tried many times but failed. Thank you.

##### Share on other sites
To use OBJECT_LINEAR, call :
GLfloat eq[4]={0,0,1.f,0}; /* set your equation here */
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
glTexGenfv(GL_S, GL_OBJECT_PLANE, eq);
glEnable(GL_TEXTURE_GEN_S);

You may also do something equivalent with the T texture coordinate (if your texture is 2D).

Then you don''t need to call glTexCoord before glVertex. That''s the call of glVertex that will provoke texture coordinate computation.

##### Share on other sites
To simplify

g = p1 * xo + p2 * yo + p3 * zo + p4 * wo

can also be writen as

g = p1 * xo + p2 * yo + p3 * zo + p4

becouse wo will always be 1 if you don''t specify it yourself (glVertex4f(...))

Another thing to note is that you may experience a (small) performance hit when using automatic texture generation. Depends on where your bottlenecks are.

You should never let your fears become the boundaries of your dreams.

1. 1
Rutin
28
2. 2
3. 3
4. 4
5. 5

• 11
• 11
• 10
• 13
• 20
• ### Forum Statistics

• Total Topics
632948
• Total Posts
3009398
• ### Who's Online (See full list)

There are no registered users currently online

×