aboutsummaryrefslogtreecommitdiff
path: root/docs/api_docs/files/pageextauthoring.html
diff options
context:
space:
mode:
authorAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
committerAnton Novoselov <[email protected]>2017-08-01 12:53:38 +0300
commit236f03c0b9a4982328ed1201978f7f69d192d9b2 (patch)
treee486f2fa39dba203563895541e92c60ed3e25759 /docs/api_docs/files/pageextauthoring.html
parentAdded screens to welcome page (diff)
downloadblast-236f03c0b9a4982328ed1201978f7f69d192d9b2.tar.xz
blast-236f03c0b9a4982328ed1201978f7f69d192d9b2.zip
Blast 1.1 release (windows / linux)
see docs/release_notes.txt for details
Diffstat (limited to 'docs/api_docs/files/pageextauthoring.html')
-rw-r--r--docs/api_docs/files/pageextauthoring.html32
1 files changed, 27 insertions, 5 deletions
diff --git a/docs/api_docs/files/pageextauthoring.html b/docs/api_docs/files/pageextauthoring.html
index 7fae565..85cd03b 100644
--- a/docs/api_docs/files/pageextauthoring.html
+++ b/docs/api_docs/files/pageextauthoring.html
@@ -1,6 +1,6 @@
<html>
<head>
- <title>NVIDIA(R) Blast(R) SDK 1.0 API Reference: Asset Authoring (NvBlastExtAuthoring)</title>
+ <title>NVIDIA(R) Blast(R) SDK 1.1 API Reference: Asset Authoring (NvBlastExtAuthoring)</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css">
</head>
@@ -20,21 +20,43 @@
</div>
<!-- Generated by Doxygen 1.5.8 -->
<div class="contents">
-<h1><a class="anchor" name="pageextauthoring">Asset Authoring (NvBlastExtAuthoring) </a></h1>Blast extensions provide tools for creation Blast asset from provided geometry mesh.<p>
+<h1><a class="anchor" name="pageextauthoring">Asset Authoring (NvBlastExtAuthoring) </a></h1>The Authoring extension provides tools for creation of a Blast&trade; asset from a provided mesh.<p>
There are three tools for creation Blast asset.<p>
-First one is FractureTool which is used for fracturing input mesh. It supports Voronoi fracturing method and slicing. Internal surface of output chunks can be tesselated and noise can be applied to it. Slicing method supports slicing with noisy slicing surface, which makes possible creation of jagged slicing line. Noisy slicing is switched on by setting non-zero noise amplitude in slicing parameters.<p>
+First one is FractureTool (see <a class="el" href="_nv_blast_ext_authoring_fracture_tool_8h.html">NvBlastExtAuthoringFractureTool.h</a>) which is used to fracture an input mesh. It supports Voronoi fracturing and also simple slicing. Internal surfaces of output chunks can be tesselated and noise can be applied to them. The slicing method supports slicing with a noisy slicing surface, which allows the creation of a jagged slicing line. Noisy slicing is switched on by setting a non-zero noise amplitude in slicing parameters (<a class="el" href="struct_nv_1_1_blast_1_1_slicing_configuration.html">Nv::Blast::SlicingConfiguration</a>).<p>
+<br>
+ <h2><a class="anchor" name="fracturetool">
+FractureTool</a></h2>
<a class="el" href="class_nv_1_1_blast_1_1_fracture_tool.html">Nv::Blast::FractureTool</a> supports two types of output:<p>
-1) Array of triangles - tool fills provided array with triangles of chunk, ID of chunk should be provided.<p>
+1) Array of triangles - the tool fills provided array with triangles of chunk, ID of chunk should be provided.<p>
2) Buffered output - tool fills provided array with vertices, and another array of arrays with indices. Indices form triplets of vertices of triangle.<p>
+<br>
+ <h2><a class="anchor" name="convexmeshbuilder">
+ConvexMeshBuilder</a></h2>
<a class="el" href="class_nv_1_1_blast_1_1_convex_mesh_builder.html">Nv::Blast::ConvexMeshBuilder</a> is tool for creation collision geometry for physics engine. It recieves mesh vertices, and returns convex hull of that vertices. If creation of convex hull fails, tool creates collision geometry as a bounding box of provided vertices.<p>
Tool provides method to trim convex hulls against each other. It can be used along with noisy slicing to avoid "explosive" behavior due to penetration of neighboor collision hulls into each other. As a drawback penetration of render meshes into each other is possible due to trimmed collision geometry.<p>
-<a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html">Nv::Blast::BlastBondGenerator</a> tool for creation Blast Bond descriptors from provided geometry data. It has separate method which is optimized for working FractureTool. <div class="fragment"><pre class="fragment"> int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#17e475f512295c265a139ea9310d8935">Nv::Blast::BlastBondGenerator::buildDescFromInternalFracture</a>(FractureTool* tool, <span class="keyword">const</span> std::vector&lt;bool&gt;&amp; chunkIsSupport, std::vector&lt;NvBlastBondDesc&gt;&amp; resultBondDescs, std::vector&lt;NvBlastChunkDesc&gt;&amp; resultChunkDescriptors);
+<br>
+ <h2><a class="anchor" name="bondgenerator">
+BondGenerator</a></h2>
+<a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html">Nv::Blast::BlastBondGenerator</a> tool for creation Blast Bond descriptors from provided geometry data. It has separate method which is optimized for working FractureTool. <div class="fragment"><pre class="fragment">int32_t <a class="code" href="class_nv_1_1_blast_1_1_blast_bond_generator.html#fbf304132c5600fbe6b4f423ac2e2452">Nv::Blast::BlastBondGenerator::buildDescFromInternalFracture</a>(FractureTool* tool, <span class="keyword">const</span> std::vector&lt;bool&gt;&amp; chunkIsSupport, std::vector&lt;NvBlastBondDesc&gt;&amp; resultBondDescs, std::vector&lt;NvBlastChunkDesc&gt;&amp; resultChunkDescriptors);
</pre></div><p>
Other methods can work with prefractured mesh created in Third party tool, and can be used for converting prefractured models to Blast assets.<p>
<a class="el" href="class_nv_1_1_blast_1_1_blast_bond_generator.html">Nv::Blast::BlastBondGenerator</a> supports two modes of <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a> data generation:<p>
1) Exact - in this mode exact common surface between chunks is found and considered as interface between them. Exact normal, area and centroid are computed.<p>
2) Average - this mode uses approximations of interface, and can be used for gathering <a class="el" href="struct_nv_blast_bond.html">NvBlastBond</a> data for assets, where chunks penetrate each other, e.g. chunks with noise.<p>
<br>
+ <h2><a class="anchor" name="meshcleaner">
+MeshCleaner</a></h2>
+<a class="el" href="class_nv_1_1_blast_1_1_mesh_cleaner.html">Nv::Blast::MeshCleaner</a> can be used to remove self intersections and open edges in interior of mesh, making it more likely to fracture well.<p>
+To use it, create a MeshCleaner using<p>
+<div class="fragment"><pre class="fragment"><a class="code" href="class_nv_1_1_blast_1_1_mesh_cleaner.html">Nv::Blast::MeshCleaner</a>* cleaner = <a class="code" href="_nv_blast_ext_authoring_8h.html#a763b10260b7d2a495fb106601977422">NvBlastExtAuthoringCreateMeshCleaner</a>();
+</pre></div><p>
+Given an <a class="el" href="class_nv_1_1_blast_1_1_mesh.html">Nv::Blast::Mesh</a> called "mesh," simply call<p>
+<div class="fragment"><pre class="fragment"><a class="code" href="class_nv_1_1_blast_1_1_mesh.html">Nv::Blast::Mesh</a>* newMesh = cleaner-&gt;<a class="code" href="class_nv_1_1_blast_1_1_mesh_cleaner.html#6681704bd0186e56c55f7b9ba9174d27">cleanMesh</a>(mesh);
+</pre></div><p>
+If successful, newMesh will be a valid pointer to the cleaned mesh. Otherwise, newMesh will be NULL.<p>
+When done, release using <div class="fragment"><pre class="fragment">cleaner-&gt;<a class="code" href="class_nv_1_1_blast_1_1_mesh_cleaner.html#9cb8249f4619e4e1169ae1553d3bdd41">release</a>();
+</pre></div><p>
+<br>
</div>
<!-- start footer part -->
<div class="footer">