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
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
><head><title>glPointSize</title><link rel="stylesheet" href="style.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.59.1"/><link rel="home" href="index.xml" title="PyOpenGL 2.0.1.07 Man Pages"/><link rel="up" href="reference-GL.xml" title="GL"/><link rel="previous" href="glPixelZoom.3G.xml" title="glPixelZoom"/><link rel="next" href="glPolygonMode.3G.xml" title="glPolygonMode"/></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">glPointSize</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="glPixelZoom.3G.xml">Prev</a></td><th width="60%" align="center">GL</th><td width="20%" align="right"><a accesskey="n" href="glPolygonMode.3G.xml">Next</a></td></tr></table><hr/></div><div class="refentry" lang="en"><a name="glPointSize.3G"/><div class="titlepage"/><div class="refnamediv"><a name="glPointSize.3G-name"/><h2>Name</h2><p>glPointSize — specify the diameter of rasterized points</p></div><div class="refsynopsisdiv"><a name="glPointSize.3G-c_spec"/><h2>C Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code>void<tt>glPointSize</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code>GLfloat<i><tt>size</tt></i>);</code></td></tr></table></div><div class="refsynopsisdiv"><a name="glPointSize.3G-python_spec"/><h2>Python Specification</h2><table class="funcprototype" border="0" cellpadding="0" cellspacing="0"><tr><td valign="top"><code><tt>glPointSize</tt></code></td><td valign="top"><code>(</code></td><td valign="top"><code><i><tt>size</tt></i>) →<tt>None</tt></code></td></tr></table></div><div class="refsect1" lang="en"><a name="glPointSize.3G-parameters"/><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><i><tt>size</tt></i></span></dt><dd>
Specifies the diameter of rasterized points. The initial value is 1.
</dd></dl></div></div><div class="refsect1" lang="en"><a name="glPointSize.3G-description"/><h2>Description</h2><p>
<tt>glPointSize</tt> specifies the rasterized diameter of both aliased and antialiased points. Using a
point size other than 1 has different effects, depending on whether point antialiasing is enabled. To enable and
disable point antialiasing, call <a href="glEnable.3G.xml"><tt>glEnable</tt></a> and <a href="glEnable.3G.xml"><tt>glDisable</tt></a> with argument <tt>GL_POINT_SMOOTH</tt>. Point antialiasing is
initially disabled.
</p><p>
If point antialiasing is disabled, the actual size is determined by rounding the supplied size to the nearest integer.
(If the rounding results in the value 0, it is as if the point size were 1.) If the rounded size is odd, then the
center point (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>x</mml:mi>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>y</mml:mi>
</mml:math>) of the pixel fragment that represents the point is computed as ( <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>⌋</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>.5</mml:mn>
</mml:mrow>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>⌋</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>.5</mml:mn>
</mml:mrow>
</mml:math>) where <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>w</mml:mi>
</mml:math> subscripts indicate window coordinates. All pixels that lie within the square grid of the rounded
size centered at (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>x</mml:mi>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>y</mml:mi>
</mml:math>) make up the fragment. If the size is even, the center point is ( <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>.5</mml:mn>
<mml:mo>⌋</mml:mo>
</mml:mrow>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mrow>
<mml:mo>⌊</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>.5</mml:mn>
<mml:mo>⌋</mml:mo>
</mml:mrow>
</mml:math>) and the rasterized fragment's centers are the half-integer window coordinates within the square of
the rounded size centered at (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>x</mml:mi>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:mi>y</mml:mi>
</mml:math>). All pixel fragments produced in rasterizing a nonantialiased point are assigned the same associated
data, that of the vertex corresponding to the point.
</p><p>
If antialiasing is enabled, then point rasterization produces a fragment for each pixel square that intersects the
region lying within the circle having diameter equal to the current point size and centered at the point's
(<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>w</mml:mi>
</mml:msub>
</mml:math>). The coverage value for each fragment is the window coordinate area of the intersection of the
circular region with the corresponding pixel square. This value is saved and used in the final rasterization step. The
data associated with each fragment is the data associated with the point being rasterized.
</p><p>
Not all sizes are supported when point antialiasing is enabled. If an unsupported size is requested, the nearest
supported size is used. Only size 1 is guaranteed to be supported; others depend on the implementation. To query the
range of supported sizes and the size difference between supported sizes within the range, call <tt>glGet</tt> with arguments <tt>GL_SMOOTH_POINT_SIZE_RANGE</tt> and
<tt>GL_SMOOTH_POINT_SIZE_GRANULARITY</tt>. For aliased points, query the supported ranges and granularity
with <tt>glGet</tt> with arguments <tt>GL_ALIASED_POINT_SIZE_RANGE</tt> and
<tt>GL_ALIASED_POINT_SIZE_GRANULARITY</tt>.
</p></div><div class="refsect1" lang="en"><a name="glPointSize.3G-notes"/><h2>Notes</h2><p>
The point size specified by <tt>glPointSize</tt> is always returned when <tt>GL_POINT_SIZE</tt>
is queried. Clamping and rounding for aliased and antialiased points have no effect on the specified value.
</p><p>
A non-antialiased point size may be clamped to an implementation-dependent maximum. Although this maximum cannot be
queried, it must be no less than the maximum value for antialiased points, rounded to the nearest integer value.
</p><p>
<tt>GL_POINT_SIZE_RANGE</tt> and <tt>GL_POINT_SIZE_GRANULARITY</tt> are deprecated in GL
versions 1.2 and greater. Their functionality has been replaced by <tt>GL_SMOOTH_POINT_SIZE_RANGE</tt> and
<tt>GL_SMOOTH_POINT_SIZE_GRANULARITY</tt>.
</p></div><div class="refsect1" lang="en"><a name="glPointSize.3G-errors"/><h2>Errors</h2><p>
<tt>GL_INVALID_VALUE</tt> is generated if <i><tt>size</tt></i> is less than or equal to 0.
</p><p>
<tt>GL_INVALID_OPERATION</tt> is generated if <tt>glPointSize</tt> is executed between the
execution of <a href="glBegin.3G.xml"><tt>glBegin</tt></a> and the corresponding execution of <a href="glBegin.3G.xml"><tt>glEnd</tt></a>.
</p></div><div class="refsect1" lang="en"><a name="glPointSize.3G-associated_gets"/><h2>Associated Gets</h2><p>
<tt>glGet</tt> with argument <tt>GL_POINT_SIZE</tt>
</p><p>
<tt>glGet</tt> with argument <tt>GL_ALIASED_POINT_SIZE_RANGE</tt>
</p><p>
<tt>glGet</tt> with argument <tt>GL_ALIASED_POINT_SIZE_GRANULARITY</tt>
</p><p>
<tt>glGet</tt> with argument <tt>GL_SMOOTH_POINT_SIZE_RANGE</tt>
</p><p>
<tt>glGet</tt> with argument <tt>GL_SMOOTH_POINT_SIZE_GRANULARITY</tt>
</p><p>
<a href="glIsEnabled.3G.xml"><tt>glIsEnabled</tt></a> with argument <tt>GL_POINT_SMOOTH</tt>
</p></div><div class="refsect1" lang="en"><a name="glPointSize.3G-see_also"/><h2>See Also</h2><p>
<span class="simplelist"><a href="glEnable.3G.xml">glEnable</a></span>
</p></div></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="glPixelZoom.3G.xml">Prev</a></td><td width="20%" align="center"><a accesskey="u" href="reference-GL.xml">Up</a></td><td width="40%" align="right"><a accesskey="n" href="glPolygonMode.3G.xml">Next</a></td></tr><tr><td width="40%" align="left" valign="top">glPixelZoom</td><td width="20%" align="center"><a accesskey="h" href="index.xml">Home</a></td><td width="40%" align="right" valign="top">glPolygonMode</td></tr></table></div></body></html>
|