<?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 &#8212; 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>) &#8594; <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>&#8970;</mml:mo>
						<mml:msub>
							<mml:mi>x</mml:mi>
							<mml:mi>w</mml:mi>
						</mml:msub>
						<mml:mo>&#8971;</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>&#8970;</mml:mo>
						<mml:msub>
							<mml:mi>y</mml:mi>
							<mml:mi>w</mml:mi>
						</mml:msub>
						<mml:mo>&#8971;</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>&#8970;</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>&#8971;</mml:mo>
					</mml:mrow>
				</mml:math>, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" overflow="scroll">
					<mml:mrow>
						<mml:mo>&#8970;</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>&#8971;</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>