mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
82 lines
86 KiB
HTML
82 lines
86 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
|
|
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Rendering Functions</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
|
|
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
|
|
|
<!-- Generated by Natural Docs, version 1.52 -->
|
|
<!-- http://www.naturaldocs.org -->
|
|
|
|
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
|
|
|
|
|
|
|
|
|
<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Rendering_Functions"></a>Rendering Functions</h1><div class=CBody><p>There is a rendering function for each supported geometric shape.</p><p>Rendering functions are the only functions that cause entries into the <a href="dave_rbuffer-c.html#Render_Buffers" class=LSection id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">Render Buffers</a>. Material and mode changes translate into hardware register access only when something is actually rendered.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Rendering_Functions" >Rendering Functions</a></td><td class=SDescription>There is a rendering function for each supported geometric shape.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Direct_Rendering" >Direct Rendering</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_clear" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">d2_clear</a></td><td class=SDescription>Render fill the entire framebuffer with a single color.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderbox" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">d2_renderbox</a></td><td class=SDescription>Render a rectangle.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_renderline" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">d2_renderline</a></td><td class=SDescription>Render a wide line.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderline2" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">d2_renderline2</a></td><td class=SDescription>Render a wide line with 2 different widths.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_rendertri" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">d2_rendertri</a></td><td class=SDescription>Render a triangle.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderquad" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">d2_renderquad</a></td><td class=SDescription>Render a quadrangle.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_rendercircle" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">d2_rendercircle</a></td><td class=SDescription>Render a circle or circle ring.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderwedge" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">d2_renderwedge</a></td><td class=SDescription>Render a circle arc or circle ring arc.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Buffer_Rendering" >Buffer Rendering</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_renderpolyline" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">d2_renderpolyline</a></td><td class=SDescription>Render a polyline</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderpolyline2" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">d2_renderpolyline2</a></td><td class=SDescription>Render a polyline with multiple width</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_rendertrilist" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">d2_rendertrilist</a></td><td class=SDescription>Render a polygon from a triangle list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_rendertristrip" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">d2_rendertristrip</a></td><td class=SDescription>Render a polygon from a triangle strip.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_rendertrifan" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">d2_rendertrifan</a></td><td class=SDescription>Render a polygon from a triangle fan</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_renderpolygon" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">d2_renderpolygon</a></td><td class=SDescription>Render a convex polygon</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
|
|
|
|
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Direct_Rendering"></a>Direct Rendering</h3></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_clear"></a>d2_clear</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_clear(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_color </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render fill the entire framebuffer with a single color.</p><p>The current cliprect is used to determine framebuffer dimensions. Clearing is the only function that bypasses the current solid context and renders plain color - regardless of blendmodes, fillmodes and other attributes.</p><p>Because clearing does bypass the context material settings it is the only function that includes both alpha and color in the 32bit ‘color’ argument. The most significant byte is used to fill the framebuffer alpha channel if one is present.</p><p>To clear using all context attributes simply use <a href="#d2_renderbox" class=LFunction id=link16 onMouseOver="ShowTip(event, 'tt2', 'link16')" onMouseOut="HideTip('tt2')">d2_renderbox</a>.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>fill color and alpha</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link18 onMouseOver="ShowTip(event, 'tt17', 'link18')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderbox"></a>d2_renderbox</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderbox(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a rectangle.</p><p>Nothing is rendered if width or height are 0. Subpixel positions and fractional sizes are supported.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link19 onMouseOver="ShowTip(event, 'tt16', 'link19')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x1,y1</td><td class=CDLDescription>top left corner (fixedpoint)</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>width of rectangle in pixels (fixedpoint)</td></tr><tr><td class=CDLEntry>h</td><td class=CDLDescription>height of rectangle in pixels (fixedpoint)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link20 onMouseOver="ShowTip(event, 'tt17', 'link20')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderline"></a>d2_renderline</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderline(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a wide line.</p><p>Subpixel positions and fractional widths are supported.</p><p>To modify the lineend styles use <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link21 onMouseOver="ShowTip(event, 'tt18', 'link21')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>, but note that only included endpoints will get a cap. So if d2_lf_exclude_end is specified and linecap is set to round - the endpoint will not get rounded.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link22 onMouseOver="ShowTip(event, 'tt16', 'link22')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x1,y1</td><td class=CDLDescription>startpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>x2,y2</td><td class=CDLDescription>endpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>width of line in pixels (fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>additional lineend flags</td></tr></table><h4 class=CHeading>lineend flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_le_exclude_start</td><td class=CDLDescription>startpoint is not part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_end</td><td class=CDLDescription>endpoint is not part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_none</td><td class=CDLDescription>start and endpoint are part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_both</td><td class=CDLDescription>start and endpoint are not part of the line</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link23 onMouseOver="ShowTip(event, 'tt17', 'link23')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_renderline2" class=LFunction id=link24 onMouseOver="ShowTip(event, 'tt4', 'link24')" onMouseOut="HideTip('tt4')">d2_renderline2</a>, <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt18', 'link25')" onMouseOut="HideTip('tt18')">d2_setlinecap</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderline2"></a>d2_renderline2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderline2(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a wide line with 2 different widths.</p><p>Line can have two different width at start and endpoint, forming a trapezoid. If both widths are equal it is faster to use <a href="#d2_renderline" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt3', 'link26')" onMouseOut="HideTip('tt3')">d2_renderline</a> instead. Subpixel positions and fractional widths are supported.</p><p>To modify the lineend styles use <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link27 onMouseOver="ShowTip(event, 'tt18', 'link27')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>, but note that only included endpoints will get a cap. So if d2_lf_exclude_end is specified and linecap is set to round - the endpoint will not get rounded.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link28 onMouseOver="ShowTip(event, 'tt16', 'link28')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x1,y1</td><td class=CDLDescription>startpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>x2,y2</td><td class=CDLDescription>endpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>w1</td><td class=CDLDescription>width of line in pixels at startpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>w2</td><td class=CDLDescription>width of line in pixels at endpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>additional lineend flags</td></tr></table><h4 class=CHeading>lineend flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_le_exclude_start</td><td class=CDLDescription>startpoint is not part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_end</td><td class=CDLDescription>endpoint is not part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_none</td><td class=CDLDescription>start and endpoint are part of the line</td></tr><tr><td class=CDLEntry>d2_le_exclude_both</td><td class=CDLDescription>start and endpoint are not part of the line</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link29 onMouseOver="ShowTip(event, 'tt17', 'link29')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_renderline" class=LFunction id=link30 onMouseOver="ShowTip(event, 'tt3', 'link30')" onMouseOut="HideTip('tt3')">d2_renderline</a>, <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link31 onMouseOver="ShowTip(event, 'tt18', 'link31')" onMouseOut="HideTip('tt18')">d2_setlinecap</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_rendertri"></a>d2_rendertri</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertri(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a triangle.</p><p>Triangles must be specified with clockwise orientation. Subpixel positions are supported. In order to get correct antialiasing and outlines shared edges must be specified using edge flags.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link32 onMouseOver="ShowTip(event, 'tt16', 'link32')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x1,y1</td><td class=CDLDescription>first point (fixedpoint)</td></tr><tr><td class=CDLEntry>x2,y2</td><td class=CDLDescription>second point (fixedpoint)</td></tr><tr><td class=CDLEntry>x3,y3</td><td class=CDLDescription>third point (fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>triangle edge flags</td></tr></table><h4 class=CHeading>triangle edge flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_edge0_shared</td><td class=CDLDescription>edge from (x1,y1) - (x2,y2) is shared</td></tr><tr><td class=CDLEntry>d2_edge1_shared</td><td class=CDLDescription>edge from (x2,y2) - (x3,y3) is shared</td></tr><tr><td class=CDLEntry>d2_edge2_shared</td><td class=CDLDescription>edge from (x3,y3) - (x1,y1) is shared</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link33 onMouseOver="ShowTip(event, 'tt17', 'link33')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderquad"></a>d2_renderquad</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderquad(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x4,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y4,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a quadrangle.</p><p>A quadrangle is a convex four-sided polygon (quadrilateral is the precise mathematical term). Quadrangles must be specified with clockwise orientation. Subpixel positions are supported. In order to get correct antialiasing and outlines shared edges must be specified using edge flags.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link34 onMouseOver="ShowTip(event, 'tt16', 'link34')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x1,y1</td><td class=CDLDescription>first point (fixedpoint)</td></tr><tr><td class=CDLEntry>x2,y2</td><td class=CDLDescription>second point (fixedpoint)</td></tr><tr><td class=CDLEntry>x3,y3</td><td class=CDLDescription>third point (fixedpoint)</td></tr><tr><td class=CDLEntry>x4,y4</td><td class=CDLDescription>fourth point (fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>quadrangle edge flags</td></tr></table><h4 class=CHeading>triangle edge flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_edge0_shared</td><td class=CDLDescription>edge from (x1,y1) - (x2,y2) is shared</td></tr><tr><td class=CDLEntry>d2_edge1_shared</td><td class=CDLDescription>edge from (x2,y2) - (x3,y3) is shared</td></tr><tr><td class=CDLEntry>d2_edge2_shared</td><td class=CDLDescription>edge from (x3,y3) - (x4,y4) is shared</td></tr><tr><td class=CDLEntry>d2_edge3_shared</td><td class=CDLDescription>edge from (x4,y4) - (x1,y1) is shared</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link35 onMouseOver="ShowTip(event, 'tt17', 'link35')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_rendercircle"></a>d2_rendercircle</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendercircle(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a circle or circle ring.</p><p>Circles are directly rasterized and not reduced to linear parts by the hardware. Subpixel positions, radii and widths are supported. Nonantialiased circle rings with a fractional width below 1 pixel will have drop outs (missing pixels).</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link36 onMouseOver="ShowTip(event, 'tt16', 'link36')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x,y</td><td class=CDLDescription>center (fixedpoint)</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>radius (fixedpoint)</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>width or 0 for a solid circle (fixedpoint)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link37 onMouseOver="ShowTip(event, 'tt17', 'link37')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderwedge"></a>d2_renderwedge</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderwedge(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a circle arc or circle ring arc.</p><p>Same as <a href="#d2_rendercircle" class=LFunction id=link38 onMouseOver="ShowTip(event, 'tt7', 'link38')" onMouseOut="HideTip('tt7')">d2_rendercircle</a> but clipped by two additional linear boundaries, resulting in an arc. As default the two half planes form an intersected area for the clipping region. For angles > 180 deg the flag d2_wf_concave must be used. When the flag d2_wf_concave is set the two half planes form a united, concave area. In order to get correct antialiasing and outlines shared edges must be specified using edge flags (only linear edges can be shared).</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link39 onMouseOver="ShowTip(event, 'tt16', 'link39')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x,y</td><td class=CDLDescription>center (fixedpoint)</td></tr><tr><td class=CDLEntry>r</td><td class=CDLDescription>radius (fixedpoint)</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>width or 0 for a solid circle (fixedpoint)</td></tr><tr><td class=CDLEntry>nx1, ny1</td><td class=CDLDescription>normal vector of first edge (16:16 fixedpoint)</td></tr><tr><td class=CDLEntry>nx2, ny2</td><td class=CDLDescription>normal vector of second edge (16:16 fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>edge sharing and concave flags</td></tr></table><h4 class=CHeading>circle wedge flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_edge0_shared</td><td class=CDLDescription>first edge is shared</td></tr><tr><td class=CDLEntry>d2_edge1_shared</td><td class=CDLDescription>second edge is shared</td></tr><tr><td class=CDLEntry>d2_wf_concave</td><td class=CDLDescription>defines that the clipping region forms a united area for angles > 180 deg</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link40 onMouseOver="ShowTip(event, 'tt17', 'link40')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>note</h4><p>d2_renderwedge internally calls <a href="dave_context-c.html#d2_setclipgradient" class=LFunction id=link41 onMouseOver="ShowTip(event, 'tt19', 'link41')" onMouseOut="HideTip('tt19')">d2_setclipgradient</a> for drawing wedges and will overwrite the clip gradient settings!</p><h4 class=CHeading>remarks</h4><p>The figure below shows four examples of different wedges and the corresponding normal vectors (n1, n2). In order to get correct antialiasing all vectors must be normalized to a length of one.</p><img src="../doc/images/wedge.png" width="421" height="170"><h4 class=CHeading>example</h4><blockquote><pre class="prettyprint">...
|
|
d2_setcolor(handle, 0, 0x0000ff);
|
|
d2_renderwedge(handle, 100<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, -46340, -46340, 0);
|
|
d2_renderwedge(handle, 200<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 0<<16, -1<<16, 0);
|
|
d2_renderwedge(handle, 300<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 46340, -46340, 0);
|
|
d2_renderwedge(handle, 400<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 1<<16, 0<<16, 0);
|
|
...</pre></blockquote><h4 class=CHeading>remarks</h4><p>The figure below shows the same examples but with d2_wf_concave set.</p><img src="../doc/images/wedgeconcave.png" width="421" height="170"><h4 class=CHeading>example</h4><blockquote><pre class="prettyprint">...
|
|
d2_setcolor(handle, 0, 0x0000ff);
|
|
d2_renderwedge(handle, 100<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, -46340, -46340, d2_wf_concave);
|
|
d2_renderwedge(handle, 200<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 0<<16, -1<<16, d2_wf_concave);
|
|
d2_renderwedge(handle, 300<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 46340, -46340, d2_wf_concave);
|
|
d2_renderwedge(handle, 400<<4, 100<<4, 50<<4, 0, 1<<16, 0<<16, 1<<16, 0<<16, d2_wf_concave);
|
|
...</pre></blockquote></div></div></div>
|
|
|
|
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Buffer_Rendering"></a>Buffer Rendering</h3></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderpolyline"></a>d2_renderpolyline</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolyline(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a polyline</p><p>Line segments inside the polyline are connected as defined by <a href="dave_context-c.html#d2_setlinejoin" class=LFunction id=link42 onMouseOver="ShowTip(event, 'tt20', 'link42')" onMouseOut="HideTip('tt20')">d2_setlinejoin</a> and endpoints of the polyline are using the current linecap style set by <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link43 onMouseOver="ShowTip(event, 'tt18', 'link43')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>. If the line is closed (d2_le_closed) it has no endpoints and therefore no linecaps.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link44 onMouseOver="ShowTip(event, 'tt16', 'link44')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of 2*’count’ d2_point values (‘count’ x,y pairs)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of vertices</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>width of polyline</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>additional lineend flags</td></tr></table><h4 class=CHeading>lineend flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_le_exclude_start</td><td class=CDLDescription>first point is not part of the polyline</td></tr><tr><td class=CDLEntry>d2_le_exclude_end</td><td class=CDLDescription>last point is not part of the polyline</td></tr><tr><td class=CDLEntry>d2_le_closed</td><td class=CDLDescription>polyline has no start or endpoint, last vertex is connected back to first</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link45 onMouseOver="ShowTip(event, 'tt17', 'link45')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt18', 'link46')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>, <a href="dave_context-c.html#d2_setlinejoin" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt20', 'link47')" onMouseOut="HideTip('tt20')">d2_setlinejoin</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderpolyline2"></a>d2_renderpolyline2</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolyline2(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a polyline with multiple width</p><p>Similar to <a href="#d2_renderpolyline" class=LFunction id=link48 onMouseOver="ShowTip(event, 'tt9', 'link48')" onMouseOut="HideTip('tt9')">d2_renderpolyline</a> but a width can be supplied for each vertex. Line segments inside the polyline are connected by round line joins and endpoints of the polyline are using the current linecap style set by <a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link49 onMouseOver="ShowTip(event, 'tt18', 'link49')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>. If the line is closed (d2_le_closed) it has no endpoints and therefore no linecaps.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link50 onMouseOver="ShowTip(event, 'tt16', 'link50')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of 2*’count’ d2_point values (‘count’ x,y pairs)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of vertices</td></tr><tr><td class=CDLEntry>w</td><td class=CDLDescription>pointer width to an array of ‘count’ d2_width values (width for each vertex)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>additional lineend flags</td></tr></table><h4 class=CHeading>lineend flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_le_exclude_start</td><td class=CDLDescription>first point is not part of the polyline</td></tr><tr><td class=CDLEntry>d2_le_exclude_end</td><td class=CDLDescription>last point is not part of the polyline</td></tr><tr><td class=CDLEntry>d2_le_closed</td><td class=CDLDescription>polyline has no start or endpoint, last vertex is connected back to first</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link51 onMouseOver="ShowTip(event, 'tt17', 'link51')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="dave_context-c.html#d2_setlinecap" class=LFunction id=link52 onMouseOver="ShowTip(event, 'tt18', 'link52')" onMouseOut="HideTip('tt18')">d2_setlinecap</a>, <a href="dave_context-c.html#d2_setlinejoin" class=LFunction id=link53 onMouseOver="ShowTip(event, 'tt20', 'link53')" onMouseOut="HideTip('tt20')">d2_setlinejoin</a>, <a href="#d2_renderpolyline" class=LFunction id=link54 onMouseOver="ShowTip(event, 'tt9', 'link54')" onMouseOut="HideTip('tt9')">d2_renderpolyline</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_rendertrilist"></a>d2_rendertrilist</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertrilist(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a polygon from a triangle list.</p><p>Each triangle must be defined in clockwise order. In order to get correct antialiasing and outlines, shared edges must be specified using edge flags (see: <a href="#d2_rendertri" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt5', 'link55')" onMouseOut="HideTip('tt5')">d2_rendertri</a> for flag definition). There is one flagbyte per triangle. If no sharing is required (e.g. no antialiasing) you can pass NULL for the ‘flags’ pointer.</p><img src="../doc/images/trilist.gif" width="148" height="121"><p>For each triangle 3 vertices are specified in the data array.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt16', 'link56')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of 6*count d2_point values (3*count x,y pairs)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>pointer to an array to count bytes containing edgesharing flags or NULL. If NULL is passed it is assumed that no edges are shared.</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of triangles</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link57 onMouseOver="ShowTip(event, 'tt17', 'link57')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_rendertri" class=LFunction id=link58 onMouseOver="ShowTip(event, 'tt5', 'link58')" onMouseOut="HideTip('tt5')">d2_rendertri</a>, <a href="#d2_rendertrifan" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt13', 'link59')" onMouseOut="HideTip('tt13')">d2_rendertrifan</a>, <a href="#d2_rendertristrip" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt12', 'link60')" onMouseOut="HideTip('tt12')">d2_rendertristrip</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_rendertristrip"></a>d2_rendertristrip</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertristrip(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a polygon from a triangle strip.</p><p>When rendering connected structures using a set of triangles a triangle strip can be used instead of a triangle list (<a href="#d2_rendertrilist" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt11', 'link61')" onMouseOut="HideTip('tt11')">d2_rendertrilist</a>). The advantage is that for every triangle except the first one only one additional vertex has to be specified. The other two vertices are reused from the previous triangle. See diagram for explanation:</p><img src="../doc/images/tristrip.gif" width="148" height="121"><p>Triangles rendered from the order given above are :</p><ul><li>1,2,3</li><li>2,4,3</li><li>3,4,5</li><li>4,6,5</li></ul><p>Note that every second triangle is flipped automatically in order to keep them all in clockwise orientation. Internal edges are automatically flagged as shared but you can still specify a flag for each triangle in order to define additional shared edges. There is one flagbyte per triangle. If no additional sharing information is required you can pass NULL for the ‘flags’ pointer.</p><p>The first triangle must be defined in clockwise order (others will then be clockwise as well).</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link62 onMouseOver="ShowTip(event, 'tt16', 'link62')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of 2*count+4 d2_point values (count+2 x,y pairs)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>pointer to an array to count bytes containing edgesharing flags or NULL</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of triangles</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link63 onMouseOver="ShowTip(event, 'tt17', 'link63')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_rendertri" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt5', 'link64')" onMouseOut="HideTip('tt5')">d2_rendertri</a>, <a href="#d2_rendertrifan" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt13', 'link65')" onMouseOut="HideTip('tt13')">d2_rendertrifan</a>, <a href="#d2_rendertrilist" class=LFunction id=link66 onMouseOver="ShowTip(event, 'tt11', 'link66')" onMouseOut="HideTip('tt11')">d2_rendertrilist</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_rendertrifan"></a>d2_rendertrifan</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertrifan(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a polygon from a triangle fan</p><p>When rendering connected structures where all triangles share a common vertex a triangle fan can be used instead of a triangle list (<a href="#d2_rendertrilist" class=LFunction id=link67 onMouseOver="ShowTip(event, 'tt11', 'link67')" onMouseOut="HideTip('tt11')">d2_rendertrilist</a>). The advantage is that for every triangle except the first one only one additional vertex has to be specified. The other two vertices are reused from the previous triangle and the common base vertex. See diagram for explanation:</p><img src="../doc/images/trifan.gif" width="148" height="121"><p>Triangles rendered from the order given above are :</p><ul><li>1,2,3</li><li>1,3,4</li><li>1,4,5</li></ul><p>Internal edges are automatically flagged as shared but you can still specify a flag for each triangle in order to define additional shared edges. There is one flagbyte per triangle. If no additional sharing information is required you can pass NULL for the ‘flags’ pointer.</p><p>The first triangle must be defined in clockwise order (others will then be clockwise as well).</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link68 onMouseOver="ShowTip(event, 'tt16', 'link68')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of 2*count+4 d2_point values (count+2 x,y pairs)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>pointer to an array to count bytes containing edgesharing flags or NULL</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of triangles</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link69 onMouseOver="ShowTip(event, 'tt17', 'link69')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_rendertri" class=LFunction id=link70 onMouseOver="ShowTip(event, 'tt5', 'link70')" onMouseOut="HideTip('tt5')">d2_rendertri</a>, <a href="#d2_rendertrilist" class=LFunction id=link71 onMouseOver="ShowTip(event, 'tt11', 'link71')" onMouseOut="HideTip('tt11')">d2_rendertrilist</a>, <a href="#d2_rendertristrip" class=LFunction id=link72 onMouseOver="ShowTip(event, 'tt12', 'link72')" onMouseOut="HideTip('tt12')">d2_rendertristrip</a></p></div></div></div>
|
|
|
|
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_renderpolygon"></a>d2_renderpolygon</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolygon(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Render a convex polygon</p><p>All vertices have to be in clockwise order. If seperation into monoton subregions is required, internal edges will be flagged as ‘shared’ automatically. Outer edges are always nonshared for now.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link73 onMouseOver="ShowTip(event, 'tt16', 'link73')" onMouseOut="HideTip('tt16')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>data</td><td class=CDLDescription>pointer to an array of d2_point values (count x,y pairs)</td></tr><tr><td class=CDLEntry>count</td><td class=CDLDescription>number of points</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>reserved (should be NULL)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link74 onMouseOver="ShowTip(event, 'tt17', 'link74')" onMouseOut="HideTip('tt17')">Errorcodes</a> for details</p></div></div></div>
|
|
|
|
</div><!--Content-->
|
|
|
|
|
|
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
|
|
|
|
|
<div id=Menu><div class=MEntry><div class=MFile><a href="../doc/overview-txt.html">Driver Overview</a></div></div><div class=MEntry><div class=MFile><a href="../doc/limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile id=MSelected>Rendering Functions</div></div><div class=MEntry><div class=MFile><a href="dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile><a href="dave_perfcount-c.html">Profiling</a></div></div><div class=MEntry><div class=MFile><a href="dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_math-h.html">Math Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_errorcodes-h.html">Errorcodes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
|
|
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
|
|
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
|
|
|
|
|
|
|
<!--START_ND_TOOLTIPS-->
|
|
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_clear(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_color </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render fill the entire framebuffer with a single color.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderbox(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>h</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a rectangle.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderline(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a wide line.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderline2(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a wide line with 2 different widths.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertri(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a triangle.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderquad(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y3,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x4,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y4,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a quadrangle.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendercircle(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a circle or circle ring.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderwedge(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>r,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a circle arc or circle ring arc.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolyline(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polyline</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolyline2(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_width </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polyline with multiple width</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertrilist(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polygon from a triangle list.</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertristrip(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polygon from a triangle strip.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_rendertrifan(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>flags,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polygon from a triangle fan</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_renderpolygon(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a convex polygon</div></div><div class=CToolTip id="tt15"><div class=CSection>Renderbuffers (similar in concept to OpenGL display lists) are the main interface between driver and hardware.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_device * d2_opendevice(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Create a new device handle.</div></div><div class=CToolTip id="tt17"><div class=CSection>List of all dave driver errorcodes.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setlinecap(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify lineend style.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setclipgradient(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define an alpha gradient for clipping.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setlinejoin(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify polyline connection style.</div></div><!--END_ND_TOOLTIPS-->
|
|
|
|
|
|
|
|
|
|
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
|
|
|
|
|
<script language=JavaScript><!--
|
|
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |