| Name |
| |
| SGIX_cylinder_texgen |
| |
| Name Strings |
| |
| GL_SGIX_cylinder_texgen |
| |
| Version |
| |
| $Date: 1999/04/03 08:40:44 $ $Revision: 1.3 $ |
| |
| Number |
| |
| 140 |
| |
| Dependencies |
| |
| Overview |
| |
| This extension adds two texture coordinate generation modes, both |
| of which generate a texture coordinate based on an intersection |
| of the reflected ray with a local cylinder. The difference between |
| the two modes lies in the coordinate space in which the reflected |
| ray is assumed to reside. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <params> parameters of TexGeni, TexGenf, TexGend, |
| TexGeniv, TexGenfv, and TexGendv: |
| |
| EYE_CYLINDER_SGIX |
| OBJECT_CYLINDER_SGIX |
| EYE_CYLINDER_RADIUS_SGIX |
| OBJECT_CYLINDER_RADIUS_SGIX |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| If TEXTURE_GEN_MODE indicates OBJECT_CYLINDER_SGIX, then the |
| generating function for the coordinate indicated by <coord> is |
| |
| XXX |
| |
| In other words, compute the reflection vector in object space from |
| the point P in object space, and find the intersection of this |
| reflection vector with a cylinder of radius r oriented along the x |
| axis in object space. If the cylinder is cut perpendicular to its |
| axis at the point where the reflected ray intersects the cylinder, |
| g is the normalized arclength of the arc from the xy plane to the |
| intersection point along this cross section. |
| |
| r is specified by calling TexGeni, TexGenf, or TexGend with <pname> |
| set to OBJECT_CYLINDER_SGIX and <params> set to r or by calling |
| TexGeniv, TexGenfv, or TexGendv set to OBJECT_CYLINDER_SGIX and |
| <params> pointing to an array containing r. |
| |
| If TEXTURE_GEN_MODE indicates EYE_DISTANCE_TO_POINT_SGIS, then the |
| generating function for the coordinate indicated by <coord> is the |
| same as above, but ... |
| |
| XXX |
| |
| In other words, compute the reflection vector in eye space from the |
| point P in eye space, and find the intersection of this reflection |
| vector with a cylinder of radius r oriented along the x axis in |
| eye space. If the cylinder is cut perpendicular to its axis at the |
| point where the reflected ray intersects the cylinder, g is the |
| normalized arclength of the arc from the xy plane to the intersection |
| point along this cross section. |
| |
| r is specified by calling TexGeni, TexGenf, or TexGend with <pname> |
| set to EYE_CYLINDER_SGIX and <params> set to r or by calling |
| TexGeniv, TexGenfv, or TexGendv set to EYE_CYLINDER_SGIX and <params> |
| pointing to an array containing r. |
| |
| Additions to Chapter 3 of the 1.1 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations |
| and the Frame Buffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.1 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.1 Specification (State and State Requests) |
| |
| None |
| |
| New State |
| Initial |
| Get Value Get Command Type Value Attrib |
| --------- ----------- ---- ------- ------ |
| EYE_CYLINDER_SGIX GetTexGeniv 1 x R {0} texture |
| OBJECT_CYLINDER_SGIX GetTexGeniv 1 x R {0} texture |
| EYE_CYLINDER_RADIUS_SGIX GetTexGeniv 1 x R {1} texture |
| OBJECT_CYLINDER_RADIUS_SGIX GetTexGeniv 1 x R {1} texture |
| |
| |