2425 lines
83 KiB
HTML
2425 lines
83 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<title>GeometryPipeline - Cesium Documentation</title>
|
||
|
|
||
|
<!--[if lt IE 9]>
|
||
|
<script src="javascript/html5.js"></script>
|
||
|
<![endif]-->
|
||
|
<link href="styles/jsdoc-default.css" rel="stylesheet">
|
||
|
<link href="styles/prism.css" rel="stylesheet">
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<div id="main">
|
||
|
|
||
|
<h1 class="page-title">
|
||
|
<a href="index.html"><img src="Images/CesiumLogo.png" class="cesiumLogo"></a>
|
||
|
GeometryPipeline
|
||
|
<div class="titleCenterer"></div>
|
||
|
</h1>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<section>
|
||
|
|
||
|
<header>
|
||
|
|
||
|
</header>
|
||
|
|
||
|
<article>
|
||
|
<div class="container-overview">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L27">Core/GeometryPipeline.js 27</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">Content pipeline functions for geometries.</div>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>See:</h5>
|
||
|
<ul class="see-list">
|
||
|
<li><a href="Geometry.html">Geometry</a></li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 class="subsection-title">Methods</h3>
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".compressVertices">
|
||
|
<a href="#.compressVertices" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.compressVertices<span class="signature">(geometry)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L1481">Core/GeometryPipeline.js 1481</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Compresses and packs geometry normal attribute values to save memory.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument, with its normals compressed and packed.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.compressVertices(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".computeNormal">
|
||
|
<a href="#.computeNormal" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.computeNormal<span class="signature">(geometry)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L1163">Core/GeometryPipeline.js 1163</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes per-vertex normals for a geometry containing <code>TRIANGLES</code> by averaging the normals of
|
||
|
all triangles incident to the vertex. The result is a new <code>normal</code> attribute added to the geometry.
|
||
|
This assumes a counter-clockwise winding order.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument with the computed <code>normal</code> attribute.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.indices length must be greater than 0 and be a multiple of 3.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.primitiveType must be <a href="global.html#PrimitiveType#.TRIANGLES"><code>PrimitiveType.TRIANGLES</code></a>.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">Cesium.GeometryPipeline.computeNormal(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".computeTangentAndBitangent">
|
||
|
<a href="#.computeTangentAndBitangent" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.computeTangentAndBitangent<span class="signature">(geometry)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L1334">Core/GeometryPipeline.js 1334</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes per-vertex tangents and bitangents for a geometry containing <code>TRIANGLES</code>.
|
||
|
The result is new <code>tangent</code> and <code>bitangent</code> attributes added to the geometry.
|
||
|
This assumes a counter-clockwise winding order.
|
||
|
<p>
|
||
|
Based on <a href="http://www.terathon.com/code/tangent.html">Computing Tangent Space Basis Vectors
|
||
|
for an Arbitrary Mesh</a> by Eric Lengyel.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument with the computed <code>tangent</code> and <code>bitangent</code> attributes.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.indices length must be greater than 0 and be a multiple of 3.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.primitiveType must be <a href="global.html#PrimitiveType#.TRIANGLES"><code>PrimitiveType.TRIANGLES</code></a>.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">Cesium.GeometryPipeline.computeTangentAndBiTangent(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".createAttributeLocations">
|
||
|
<a href="#.createAttributeLocations" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.createAttributeLocations<span class="signature">(geometry)</span> → <span class="type-signature returnType">Object</span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L241">Core/GeometryPipeline.js 241</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Creates an object that maps attribute names to unique locations (indices)
|
||
|
for matching vertex attributes and shader programs.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry, which is not modified, to create the object for.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
An object with attribute name / index pairs.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">const attributeLocations = Cesium.GeometryPipeline.createAttributeLocations(geometry);
|
||
|
// Example output
|
||
|
// {
|
||
|
// 'position' : 0,
|
||
|
// 'normal' : 1
|
||
|
// }</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".createLineSegmentsForVectors">
|
||
|
<a href="#.createLineSegmentsForVectors" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.createLineSegmentsForVectors<span class="signature">(geometry, <span class="optional">attributeName</span>, <span class="optional">length</span>)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L167">Core/GeometryPipeline.js 167</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Creates a new <a href="Geometry.html"><code>Geometry</code></a> with <code>LINES</code> representing the provided
|
||
|
attribute (<code>attributeName</code>) for the provided geometry. This is used to
|
||
|
visualize vector attributes like normals, tangents, and bitangents.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The <code>Geometry</code> instance with the attribute.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeName</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">'normal'</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The name of the attribute.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>length</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Number</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">10000.0</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The length of each line segment in meters. This can be negative to point the vector in the opposite direction.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
A new <code>Geometry</code> instance with line segments for the vector.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.attributes must have an attribute with the same name as the attributeName parameter.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">const geometry = Cesium.GeometryPipeline.createLineSegmentsForVectors(instance.geometry, 'bitangent', 100000.0);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".encodeAttribute">
|
||
|
<a href="#.encodeAttribute" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.encodeAttribute<span class="signature">(geometry, attributeName, attributeHighName, attributeLowName)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L728">Core/GeometryPipeline.js 728</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Encodes floating-point geometry attribute values as two separate attributes to improve
|
||
|
rendering precision.
|
||
|
<p>
|
||
|
This is commonly used to create high-precision position vertex attributes.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeName</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The name of the attribute.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeHighName</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The name of the attribute for the encoded high bits.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeLowName</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The name of the attribute for the encoded low bits.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument, with its encoded attribute.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry must have attribute matching the attributeName argument.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: The attribute componentDatatype must be ComponentDatatype.DOUBLE.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.encodeAttribute(geometry, 'position3D', 'position3DHigh', 'position3DLow');</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".fitToUnsignedShortIndices">
|
||
|
<a href="#.fitToUnsignedShortIndices" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.fitToUnsignedShortIndices<span class="signature">(geometry)</span> → <span class="type-signature returnType">Array.<<a href="Geometry.html">Geometry</a>></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L496">Core/GeometryPipeline.js 496</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Splits a geometry into multiple geometries, if necessary, to ensure that indices in the
|
||
|
<code>indices</code> fit into unsigned shorts. This is used to meet the WebGL requirements
|
||
|
when unsigned int indices are not supported.
|
||
|
<p>
|
||
|
If the geometry does not have any <code>indices</code>, this function has no effect.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to be split into multiple geometries.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
An array of geometries, each with indices that fit into unsigned shorts.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: All geometry attribute lists must have the same number of attributes.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">const geometries = Cesium.GeometryPipeline.fitToUnsignedShortIndices(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".projectTo2D">
|
||
|
<a href="#.projectTo2D" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.projectTo2D<span class="signature">(geometry, attributeName, attributeName3D, attributeName2D, <span class="optional">projection</span>)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L617">Core/GeometryPipeline.js 617</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Projects a geometry's 3D <code>position</code> attribute to 2D, replacing the <code>position</code>
|
||
|
attribute with separate <code>position3D</code> and <code>position2D</code> attributes.
|
||
|
<p>
|
||
|
If the geometry does not have a <code>position</code>, this function has no effect.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeName</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The name of the attribute.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeName3D</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The name of the attribute in 3D.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>attributeName2D</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">String</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The name of the attribute in 2D.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>projection</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Object</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">new GeographicProjection()</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The projection to use.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument with <code>position3D</code> and <code>position2D</code> attributes.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry must have attribute matching the attributeName argument.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: The attribute componentDatatype must be ComponentDatatype.DOUBLE.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: Could not project a point to 2D.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.projectTo2D(geometry, 'position', 'position3D', 'position2D');</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".reorderForPostVertexCache">
|
||
|
<a href="#.reorderForPostVertexCache" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.reorderForPostVertexCache<span class="signature">(geometry, <span class="optional">cacheCapacity</span>)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L410">Core/GeometryPipeline.js 410</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Reorders a geometry's <code>indices</code> to achieve better performance from the GPU's
|
||
|
post vertex-shader cache by using the Tipsify algorithm. If the geometry <code>primitiveType</code>
|
||
|
is not <code>TRIANGLES</code> or the geometry does not have an <code>indices</code>, this function has no effect.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>cacheCapacity</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Number</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">24</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The number of vertices that can be held in the GPU's vertex cache.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument, with its indices reordered for the post-vertex-shader cache.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: cacheCapacity must be greater than two.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.reorderForPostVertexCache(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>See:</h5>
|
||
|
<ul class="see-list">
|
||
|
<li><a href="GeometryPipeline.html#.reorderForPreVertexCache">GeometryPipeline.reorderForPreVertexCache</a></li>
|
||
|
|
||
|
<li><a href="http://gfx.cs.princ0eton.edu/pubs/Sander_2007_%253ETR/tipsy.pdf">Fast Triangle Reordering for Vertex Locality and Reduced Overdraw</a>
|
||
|
by Sander, Nehab, and Barczak</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".reorderForPreVertexCache">
|
||
|
<a href="#.reorderForPreVertexCache" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.reorderForPreVertexCache<span class="signature">(geometry)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L316">Core/GeometryPipeline.js 316</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Reorders a geometry's attributes and <code>indices</code> to achieve better performance from the GPU's pre-vertex-shader cache.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument, with its attributes and indices reordered for the GPU's pre-vertex-shader cache.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: Each attribute array in geometry.attributes must have the same number of attributes.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.reorderForPreVertexCache(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>See:</h5>
|
||
|
<ul class="see-list">
|
||
|
<li><a href="GeometryPipeline.html#.reorderForPostVertexCache">GeometryPipeline.reorderForPostVertexCache</a></li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".toWireframe">
|
||
|
<a href="#.toWireframe" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.toWireframe<span class="signature">(geometry)</span> → <span class="type-signature returnType"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L119">Core/GeometryPipeline.js 119</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Converts a geometry's triangle indices to line indices. If the geometry has an <code>indices</code>
|
||
|
and its <code>primitiveType</code> is <code>TRIANGLES</code>, <code>TRIANGLE_STRIP</code>,
|
||
|
<code>TRIANGLE_FAN</code>, it is converted to <code>LINES</code>; otherwise, the geometry is not changed.
|
||
|
<p>
|
||
|
This is commonly used to create a wireframe geometry for visual debugging.
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>geometry</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Geometry.html">Geometry</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>geometry</code> argument, with its triangle indices converted to lines.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Throws:</h5>
|
||
|
<ul>
|
||
|
<li>
|
||
|
|
||
|
<div class="param-desc">
|
||
|
|
||
|
<span class="param-type"><a href="DeveloperError.html">DeveloperError</a></span>
|
||
|
|
||
|
: geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.
|
||
|
</div>
|
||
|
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">geometry = Cesium.GeometryPipeline.toWireframe(geometry);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".transformToWorldCoordinates">
|
||
|
<a href="#.transformToWorldCoordinates" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.GeometryPipeline.transformToWorldCoordinates<span class="signature">(instance)</span> → <span class="type-signature returnType"><a href="GeometryInstance.html">GeometryInstance</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/GeometryPipeline.js#L836">Core/GeometryPipeline.js 836</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Transforms a geometry instance to world coordinates. This changes
|
||
|
the instance's <code>modelMatrix</code> to <a href="Matrix4.html#.IDENTITY"><code>Matrix4.IDENTITY</code></a> and transforms the
|
||
|
following attributes if they are present: <code>position</code>, <code>normal</code>,
|
||
|
<code>tangent</code>, and <code>bitangent</code>.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>instance</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="GeometryInstance.html">GeometryInstance</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The geometry instance to modify.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The modified <code>instance</code> argument, with its attributes transforms to world coordinates.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">Cesium.GeometryPipeline.transformToWorldCoordinates(instance);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</article>
|
||
|
|
||
|
</section>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<footer>
|
||
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a>
|
||
|
</footer>
|
||
|
</div>
|
||
|
|
||
|
<div class="nav">
|
||
|
<div class="menu">
|
||
|
<input type="text" class="classFilter" id="ClassFilter" placeholder="Search">
|
||
|
<ul id="ClassList"><li data-name="Animation"><a href="Animation.html">Animation</a></li><li data-name="AnimationViewModel"><a href="AnimationViewModel.html">AnimationViewModel</a></li><li data-name="Appearance"><a href="Appearance.html">Appearance</a></li><li data-name="ArcGisMapServerImageryProvider"><a href="ArcGisMapServerImageryProvider.html">ArcGisMapServerImageryProvider</a></li><li data-name="ArcGISTiledElevationTerrainProvider"><a href="ArcGISTiledElevationTerrainProvider.html">ArcGISTiledElevationTerrainProvider</a></li><li data-name="ArcType"><a href="global.html#ArcType">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="Axis"><a href="global.html#Axis">Axis</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="backFaceCulling"><a href="global.html#backFaceCulling">backFaceCulling</a></li><li data-name="barycentricCoordinates"><a href="global.html#barycentricCoordinates">barycentricCoordinates</a></li><li data-name="BaseLayerPicker"><a href="BaseLayerPicker.html">BaseLayerPicker</a></li><li data-name="BaseLayerPickerViewModel"><a href="BaseLayerPickerViewModel.html">BaseLayerPickerViewModel</a></li><li data-name="Billboard"><a href="Billboard.html">Billboard</a></li><li data-name="BillboardCollection"><a href="BillboardCollection.html">BillboardCollection</a></li><li data-name="BillboardGraphics"><a href="BillboardGraphics.html">BillboardGraphics</a></li><li data-name="BillboardVisualizer"><a href="BillboardVisualizer.html">BillboardVisualizer</a></li><li data-name="binarySearch"><a href="global.html#binarySearch">binarySearch</a></li><li data-name="binarySearchComparator"><a href="global.html#binarySearchComparator">binarySearchComparator</a></li><li data-name="BingMapsGeocoderService"><a href="BingMapsGeocoderService.html">BingMapsGeocoderService</a></li><li data-name="BingMapsImageryProvider"><a href="BingMapsImageryProvider.html">BingMapsImageryProvider</a></li><li data-name="BingMapsStyle"><a href="global.html#BingMapsStyle">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="global.html#BlendEquation">BlendEquation</a></li><li data-name="BlendFunction"><a href="global.html#BlendFunction">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="global.html#BlendOption">BlendOption</a></li><li data-name="BoundingRectangle"><a href="BoundingRectangle.html">BoundingRectangle</a></li><li data-name="BoundingSphere"><a href="BoundingSphere.html">BoundingSphere</a></li><li data-name="boundingSphere"><a href="global.html#boundingSphere">boundingSphere</a></li><li data-name="BoxEmitter"><a href="BoxEmitter.html">BoxEmitter</a></li><li data-name="BoxGeometry"><a href="BoxGeometry.html">BoxGeometry</a></li><li data-name="BoxGeometryUpdater"><a href="BoxGeometryUpdater.html">BoxGeometryUpdater</a></li><li data-name="BoxGraphics"><a href="BoxGraphics.html">BoxGraphics</a></li><li data-name="BoxOutlineGeometry"><a href="BoxOutlineGeometry.html">BoxOutlineGeometry</a></li><li data-name="buildModuleUrl"><a href="global.html#buildModuleUrl">buildModuleUrl</a></li><li data-name="CallbackProperty"><a href="CallbackProperty.html">CallbackProperty</a></li><li data-name="Camera"><a href="Camera.html">Camera</a></li><li data-name="CameraEventAggregator"><a href="CameraEventAggregator.html">CameraEventAggregator</a></li><li data-name="CameraEventType"><a href="global.html#CameraEventType">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="global.html#cancelAnimationFrame">cancelAnimationFrame</a></li><li data-name="Cartesian2"><a href="Cartesian2.html">Cartesian2</a></li><li data-name="Cartesian3"><a href="Cartesian3.html">Cartesian3</a></li><li data-name="Cartesian4"><a href="Cartesian4.html">Cartesian4</a></li><li data-name="Cartographic"><a href="Cartographic.html">Cartographic</a></li><li data-name="CartographicGeocoderService"><a href="CartographicGeocoderServic
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<script>
|
||
|
if (window.frameElement) {
|
||
|
document.body.className = 'embedded';
|
||
|
|
||
|
var ele = document.createElement('a');
|
||
|
ele.className = 'popout';
|
||
|
ele.target = '_blank';
|
||
|
ele.href = window.location.href;
|
||
|
ele.title = 'Pop out';
|
||
|
document.getElementById('main').appendChild(ele);
|
||
|
}
|
||
|
|
||
|
// Set targets on external links. Sandcastle and GitHub shouldn't be embedded in any iframe.
|
||
|
Array.prototype.forEach.call(document.getElementsByTagName('a'), function(a) {
|
||
|
if (/^https?:/i.test(a.getAttribute('href'))) {
|
||
|
a.target='_blank';
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script src="javascript/prism.js"></script>
|
||
|
<script src="javascript/cesiumDoc.js"></script>
|
||
|
|
||
|
</body>
|
||
|
</html>
|