summaryrefslogtreecommitdiff
path: root/src/gallium/docs/build/html/cso/rasterizer.html
blob: b8309247cc33e33f11c94cf389ea38c83337bf3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Rasterizer &mdash; Gallium v0.3 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.3',
        COLLAPSE_MODINDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="top" title="Gallium v0.3 documentation" href="../index.html" />
    <link rel="up" title="CSO" href="../cso.html" />
    <link rel="next" title="Sampler" href="sampler.html" />
    <link rel="prev" title="Depth, Stencil, & Alpha" href="dsa.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="sampler.html" title="Sampler"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="dsa.html" title="Depth, Stencil, & Alpha"
             accesskey="P">previous</a> |</li>
        <li><a href="../index.html">Gallium v0.3 documentation</a> &raquo;</li>
          <li><a href="../cso.html" accesskey="U">CSO</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="rasterizer">
<h1>Rasterizer<a class="headerlink" href="#rasterizer" title="Permalink to this headline">¶</a></h1>
<p>The rasterizer is the main chunk of state controlling how vertices are
interpolated into fragments.</p>
<div class="section" id="members">
<h2>Members<a class="headerlink" href="#members" title="Permalink to this headline">¶</a></h2>
<p>XXX undocumented light_twoside, front_winding, cull_mode, fill_cw, fill_ccw, offset_cw, offset_ccw
XXX moar undocumented poly_smooth, line_stipple_factor, line_last_pixel, offset_units, offset_scale
XXX sprite_coord_mode</p>
<dl class="docutils">
<dt>flatshade</dt>
<dd>If set, the provoking vertex of each polygon is used to determine the
color of the entire polygon. If not set, the color fragments will be
interpolated from each vertex&#8217;s color.</dd>
<dt>scissor</dt>
<dd>Whether the scissor test is enabled.</dd>
<dt>poly_stipple_enable</dt>
<dd>Whether polygon stippling is enabled.</dd>
<dt>point_smooth</dt>
<dd>Whether points should be smoothed. Point smoothing turns rectangular
points into circles or ovals.</dd>
<dt>point_sprite</dt>
<dd>Whether point sprites are enabled.</dd>
<dt>point_size_per_vertex</dt>
<dd>Whether vertices have a point size element.</dd>
<dt>multisample</dt>
<dd>Whether MSAA is enabled.</dd>
<dt>line_smooth</dt>
<dd>Whether lines should be smoothed. Line smoothing is simply anti-aliasing.</dd>
<dt>line_stipple_enable</dt>
<dd>Whether line stippling is enabled.</dd>
<dt>line_stipple_pattern</dt>
<dd>16-bit bitfield of on/off flags, used to pattern the line stipple.</dd>
<dt>bypass_vs_clip_and_viewport</dt>
<dd>Whether the entire TCL pipeline should be bypassed. This implies that
vertices are pre-transformed for the viewport, and will not be run
through the vertex shader. Note that implementations may still clip away
vertices that are not in the viewport.</dd>
<dt>flatshade_first</dt>
<dd>Whether the first vertex should be the provoking vertex, for most
primitives. If not set, the last vertex is the provoking vertex.</dd>
<dt>gl_rasterization_rules</dt>
<dd>Whether the rasterizer should use (0.5, 0.5) pixel centers. When not set,
the rasterizer will use (0, 0) for pixel centers.</dd>
<dt>line_width</dt>
<dd>The width of lines.</dd>
<dt>point_size</dt>
<dd>The size of points, if not specified per-vertex.</dd>
<dt>point_size_min</dt>
<dd>The minimum size of points.</dd>
<dt>point_size_max</dt>
<dd>The maximum size of points.</dd>
</dl>
</div>
<div class="section" id="notes">
<h2>Notes<a class="headerlink" href="#notes" title="Permalink to this headline">¶</a></h2>
<div class="section" id="flatshade">
<h3>flatshade<a class="headerlink" href="#flatshade" title="Permalink to this headline">¶</a></h3>
<p>The actual interpolated shading algorithm is obviously
implementation-dependent, but will usually be Gourard for most hardware.</p>
</div>
<div class="section" id="bypass-vs-clip-and-viewport">
<h3>bypass_vs_clip_and_viewport<a class="headerlink" href="#bypass-vs-clip-and-viewport" title="Permalink to this headline">¶</a></h3>
<p>When set, this implies that vertices are pre-transformed for the viewport, and
will not be run through the vertex shader. Note that implementations may still
clip away vertices that are not visible.</p>
</div>
<div class="section" id="flatshade-first">
<h3>flatshade_first<a class="headerlink" href="#flatshade-first" title="Permalink to this headline">¶</a></h3>
<p>There are several important exceptions to the specification of this rule.</p>
<ul class="simple">
<li>PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first vertex.
If the caller wishes to change the provoking vertex, they merely need to
rotate the vertices themselves.</li>
<li>PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no effect.</li>
<li>PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the second
vertex, not the first. This permits each segment of the fan to have a
different color.</li>
</ul>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <h3><a href="../index.html">Table Of Contents</a></h3>
            <ul>
<li><a class="reference external" href="">Rasterizer</a><ul>
<li><a class="reference external" href="#members">Members</a></li>
<li><a class="reference external" href="#notes">Notes</a><ul>
<li><a class="reference external" href="#flatshade">flatshade</a></li>
<li><a class="reference external" href="#bypass-vs-clip-and-viewport">bypass_vs_clip_and_viewport</a></li>
<li><a class="reference external" href="#flatshade-first">flatshade_first</a></li>
</ul>
</li>
</ul>
</li>
</ul>

            <h4>Previous topic</h4>
            <p class="topless"><a href="dsa.html"
                                  title="previous chapter">Depth, Stencil, &amp; Alpha</a></p>
            <h4>Next topic</h4>
            <p class="topless"><a href="sampler.html"
                                  title="next chapter">Sampler</a></p>
            <h3>This Page</h3>
            <ul class="this-page-menu">
              <li><a href="../_sources/cso/rasterizer.txt"
                     rel="nofollow">Show Source</a></li>
            </ul>
          <div id="searchbox" style="display: none">
            <h3>Quick search</h3>
              <form class="search" action="../search.html" method="get">
                <input type="text" name="q" size="18" />
                <input type="submit" value="Go" />
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </form>
              <p class="searchtip" style="font-size: 90%">
              Enter search terms or a module, class or function name.
              </p>
          </div>
          <script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="sampler.html" title="Sampler"
             >next</a> |</li>
        <li class="right" >
          <a href="dsa.html" title="Depth, Stencil, & Alpha"
             >previous</a> |</li>
        <li><a href="../index.html">Gallium v0.3 documentation</a> &raquo;</li>
          <li><a href="../cso.html" >CSO</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
      &copy; Copyright 2009, VMWare, X.org, Nouveau.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 0.6.3.
    </div>
  </body>
</html>