.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R

.fi
..
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.hy 0
.if n .na
.bd B 3
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.IX Title "tex3Dproj Cg"
.TH tex3Dproj Cg "" "Cg Toolkit 2.2" "Cg Standard Library"
.UC
.SH "NAME"
\&\fBtex3Dproj\fR \- performs a texture lookup with projection in a given sampler. May perform a shadow 
comparison if argument for shadow comparison is provided.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\&  float4 tex3Dproj(sampler3D samp, float4 s)
\&  float4 tex3Dproj(sampler3D samp, float4 s, int texelOff)
.Ve
.Vb 2
\&  int4 tex3Dproj(isampler3D samp, float4 s)
\&  int4 tex3Dproj(isampler3D samp, float4 s, int texelOff)
.Ve
.Vb 2
\&  unsigned int4 tex3Dproj(usampler3D samp, float4 s)
\&  unsigned int4 tex3Dproj(usampler3D samp, float4 s, int texelOff)
.Ve
.SH "PARAMETERS"
.IX Header "PARAMETERS"
.Ip "samp" 8
.IX Item "samp"
Sampler to lookup.
.Ip "s" 8
.IX Item "s"
Coordinates to perform the lookup. The value used in the projection should be passed as the last 
component of the coordinate vector. The value used in the shadow comparison, if present, should 
be passed as the next-to-last component of the coordinate vector.
.Ip "texelOff" 8
.IX Item "texelOff"
Offset to be added to obtain the final texel.
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Performs a texture lookup in sampler \fIsamp\fR using coordinates \fIs\fR, the coordinates used in the 
lookup are first projected, that is, divided by the last component of the coordinate vector and
them used in the lookup. If an extra coordinate is present it is used to perform a shadow 
comparison, the value used in the shadow comparison is always the next-to-last component in the 
coordinate vector.
.SH "PROFILE SUPPORT"
.IX Header "PROFILE SUPPORT"
\&\fBtex3Dproj\fR is supported in all fragment profiles and all vertex profiles starting with vp40,
variants with shadow comparison are only supported in fp40 and newer profiles, variants 
with texel offsets are only supported in gp4 and newer profiles.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
tex3D
