X3DOM Documentation, Release 1.4.0
Transcoding
If you have an X3D-XML or VRML file you can easily recode your data without any data loss. There are different
options but the easiest right now is properly the Avalon-Optimizer (aopt) from theInstantReality packages. You can
use it onlineoronyourlocalmachinetorecodeyourdata.
Offline Transcoding
DownloadandinstalltheInstantPlayersystem.Thepackageincludesacommandlinetoolcalledaopt(.exe)whichwe
will use for conversion. Setup your shell-environment to find and include the binary. The usually paths are:
• Windows: C:\Program Files\Instant Player\bin\aopt.exe
• Mac: /Applications/Instant Player.app/Contents/MacOS/aopt
• Linux: /opt/instantReality/bin/aopt
Then run aopt -h command to get a full list of options and usage instructions. For this tutorial the most important
are:
aopt -i foo.wrl -x foo.x3d
# Convert VRML to X3D-XML
aopt -i foo.x3d -N foo.html
# Convert VRML or X3D-XML to HTML
aopt -i foo.x3d -M foo.xhtml
# Convert VMRL or X3D-XML to XHTML
aopt -i foo.x3d -u -N foo.html
# Optimization and build DEF/USE reuses
Building the File Hierarchy
Ahierarchy of files can be built up with Inline nodes. The advantage here is that bigger objects/ meshes do not need
to be directly part of a page’s source code, but can be loaded in parallel in the background.
Important: If you use <Inline url=”foo.x3d” /> nodes in your content, you need a real server to run your
application. This will not work locally from yourdisc.
1.2.5 Analyzing and optimizing your model for the 3D Web
The InstantReality platform provides its users tools to help them betterunderstand and optimize their (possibly large)
3D data sets. One such tool is aopt that (among other things) can help you in various ways to optimize 3D models
with a special focus on scene-graph data.
Get the aopt tool
aopt
aopt is a powerful command line tool that comes bundled with InstantReality. If you have InstantReality installed,
opening your command line and entering “aopt” will provide you with a list of all available command line arguments
andsome examples of its usage. Avery basic procedure forexample would be to convert a file that InstantReality can
open (e.g. in obj, ply or wrl format) into an X3D file:
aopt -i <input.foo> -x <output>.x3d
Orto HTML:
aopt -i <input.foo> -N <output>.html
For a general introductionto data conversion with aoptcheckhere.
1.2. Tutorial
17
Pdf form fill - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
acrobat fill in pdf forms; asp.net fill pdf form
Pdf form fill - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
change font size in pdf fillable form; convert pdf fillable forms
X3DOM Documentation, Release 1.4.0
Analyzing your 3D model
You canget some basic statistics for your file using the “-p” parameter:
aopt -i <input.foo> -p
This will give you some basic information like the number of nodes and the numbers of various types of nodes. For
example, a scene that is static but heavy on the number of nodes might be suited for automatic restructuring (see
below).
ImageGeometry & BinaryGeometry nodes
If you want to retain the basic structure of your scene-graphs (i.e. not change any of the nodes, only their contents)
you canconvertgeometrynodes to specialImageGeometry orBinaryGeometry nodes thatwill applyadvanced
compression techniques. This will create additional files that are referenced from <output>.x3d, so you should first
create a folder, e.g.:
mkdir imggeo
aopt -i <input.foo> -g imggeo/:s -x <output>.x3d
Note: currently it is import that “imggeo” (or any folder you choose) does exist. Please also note that the “/” is NOT
optional,it needs to be added at the end ofthe path.
The ”:is” part is a sub-parameter. “i” is for“index” and “s” for“strip”,sothis example will generate andstore indexed
trianglestrip geometry. For ImageGeometry nodes these are the only options available and it is recommended to
either use s oris.
As an alternative you can convert to BinaryGeometry instead of ImageGeometry nodes:
mkdir bingeo
aopt -i <input.foo> -G bingeo/:is -x <output>.x3d
Orconvert to HTML using16 bit interleaved attribute buffers:
mkdir bingeo
aopt -i <input.foo> -G bingeo/:saI -N <output>.html
This conversion leads to geometry nodes that look like the one shown next:
<binaryGeometry vertexCount=’1153083’ primType=’"TRIANGLES"’
position=’19.811892 -57.892578 -1.699294’
size=’92.804482 159.783081 26.479685’
coord=’binGeo/BG0_interleaveBinary.bin#0+24’ coordType=’Int16’
normal=’binGeo/BG0_interleaveBinary.bin#8+24’ normalType=’Int16’
color=’binGeo/BG0_interleaveBinary.bin#16+24’ colorType=’Int16’>
</binaryGeometry>
For BinaryGeometry the available parameters are:
• i: index
• s: trianglestrip
• a: autoIndex (only index data with less than 16 bit indices)
• c: compact (use 16 bit representation for vertex attributes)
• I: interleaved (use 16 bit interleaved vertex data)
18
Chapter 1. Guide
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
Text box. Click to add a text box to specific location on PDF page. Line color and fill can be set in properties. Copyright © <2000-2016> by <RasterEdge.com>.
convert pdf fillable form to word; add attachment to pdf form
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = True ' Add password to PDF file.
create fill in pdf forms; convert pdf into fillable form
X3DOM Documentation, Release 1.4.0
Mesh restructuring
If you are willing to completely restructure the scene-graph to increase performance,you can use this function:
aopt -i <input.foo> -F Scene:opt(1),maxtris(20000) -x <output>.x3d
This will try to automatically optimize your scene, for example it might try to merge (flatten) your whole scene,
generate one or more texture atlases on the way orsplit all geometry nodes so they can be indexed with 16 bits.
Instead of Scene you can also have specific node names or node type names for a more targeted approach. The sub-
parameters in this example configure aopt to create a single-index geometry with up to 20,000 triangles per geometry
node.
It’s notnecessarytosetanysub-parameters here. Next,an example isshownhowtoalsoaccomplishmeshoptimization
(here of a ply model) by callingaopt three times, forcleanup, mesh patching (forcoping withthe 16 bit indices limit),
and final binary geometry creation.
aopt -i model.ply -u -b model-clean.x3db
aopt -i model-clean.x3db -F Scene -b model-opt.x3db
aopt -i model-opt.x3db -G binGeo/:saI -N model.html
Currently available sub-parameters for the “-F” option are:
• int opt: 0:none 1:createSingleIndex 2:createSharedIndex3:optimizePrimitives
• int maxtris: Maximum number of triangles per geometry node
• int vertexcolor: Store material color in vertex color, if the amount of triangles in the geometry is under the
threshold
• int texcoords: Ignore geometry with texture coordinates greater than that value
• int optimizeTC: Try to lower texture coordinates to this value (generates more triangles)
• bool storeondisk: Geometries are stored on disk (lower Memory consumption during process)
• bool toworld: The vertex positions are transformed to world coordinates
• bool idmap: Should an ID map be created?
• bool flat: Scene is stored in a flat graph (true), or in a hierarchy(false)
• bool cacheopt: Merges all geometry nodes with same material and rebuild it to chunks of 65,535 (= 2^16 - 1)
vertices
• bool calcnormals: false to keep normals, true to recalc themafter building newgeometries
• int maxIndexSize: Maximum indexsize forrebuild by index/texture
• int maxTextureSize: Maximum texture size for rebuild by texture size
• float centerBB: Output will be transformed to a centered BBox with given size
Example:
aopt -i <input.foo> -F Scene:maxtris(5000),flat(true),calcnormals(false),centerBB(50) -x <output>.x3d
Note: Depending on the operationthe internal tree optimization method chooses,notall parameters are used! Boolean
values can be both, 0/1 and false/true.
1.2.6 Blender export
ConvertingBlenderscenes into X3DOM webpages is pretty simple: Blender already supports direct X3D exporteven
so there are some issues (DonBrutzmanwroteabout). Blender Version 2.4 seems to export some more nodes (e.g.
1.2. Tutorial
19
C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAnnot = true; // Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = true; // Add password to PDF file.
convert word doc to fillable pdf form; fillable pdf forms
VB.NET PDF - Annotate PDF with WPF PDF Viewer for VB.NET
Text box. Click to add a text box to specific location on PDF page. Line color and fill can be set in properties. Copyright © <2000-2016> by <RasterEdge.com>.
pdf form fill; create fillable forms in pdf
X3DOM Documentation, Release 1.4.0
lights), but in general it works. We will explore this more in the future, but an exported X3D file (such as the little
horse shown below) may afterwards be easily be integrated into an HTML webpage using X3DOM.
Figure 1.1: Horse model courtesy ofhttp://etyekfilm.hu/
Just finish your model in Blender and export to x3d file format (see next image).
Figure 1.2: Export in Blender2.4 (left) and 2.5 (right)
There are two ways to get yourX3Ddata into the HTML page, and both include no coding at all:
Two-file solution, link the X3D-file
Just use a very simple X3D scene in your HTML file, which, more or less, only includes an <inline> node. This
nodes references and asynchronously downloads the X3D file. Therefore you need a real web server (e.g. Apache)
running while using <inline> nodes in X3DOM.
The result:http://x3dom.org/x3dom/example/blenderExport/horse-inline.html
One-file solution, embed the X3D data inside of the HTML page
You can embed the X3D file by hand in a (X)HTML page, but this may include some hand-tweaking. Better use the
aopt-converter described in Generic 3D data conversion. This can be done offline with a single command:
20
Chapter 1. Guide
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
fill color and transparency are all can be altered in properties. Drawing Tab. Item. Name. Description. 7. Draw free form. Users can draw freehand annotation on
convert fillable pdf to html form; create fillable pdf form from word
C# HTML5 PDF Viewer SDK to annotate PDF document online in C#.NET
fill color and transparency are all can be altered in properties. Drawing Tab. Item. Name. Description. 7. Draw free form. Users can draw freehand annotation on
converting a word document to a fillable pdf form; create a pdf form to fill out
X3DOM Documentation, Release 1.4.0
aopt -i horse.x3d -N horse.html
You also may use theconverteronline. Just open horse.x3d with your favorite text editor and paste it into the source
text field. Choose XML encoding (X3D) as input type and HTML5 encoded webpage as output type and press the
Convert encoding button.
The result:http://x3dom.org/x3dom/example/blenderExport/horse.html
The main difference between the two versions is the handling of Viewpoint nodes (as cameras are called in X3D). If
you use the two-file solution,you get a spec-compliant standard camera, while the viewpoints in the includeddata are
not available at the beginning. In the one-file solution you already have the Viewpoint nodes fromBlender at the start
time. Just copy one of the viewpoints into the main HTML page to correct this behaviorif you want.
Here is a zip archive (272kb)with all files used in this tutorial including blender model,texture, and x3dmodel.
1.2.7 3ds Max Export
If you are usingAutodesk3dsMaxformodeling (available onlyforMicrosoft Windows), you caninstall our exporter
plug-in InstantExport. If you do not yet have installed 3ds Max, there is also a 30-day trial version of the modeling
software available. Nightly beta builds ofInstantExportare available for downloadhere.
InstantExportis theInstantReality X3Dexporterfor3ds Maxandnotonlyexports XML-based X3Das well as VRML,
its classic encoding,but it can also nowdirectly export to HTML/XHTML.But please note that – as the exporterplug-
inis still under development – there are still lots of features inMax,which yet cannot be properly exported. So, ifyou
find a bug, please report it in theInstantRealityforum .
Installation
After having downloaded the exporter, unzip the zip file and choose the correct version for your system and
Max version. After that, (assumed you are using the standard installation path and 3ds Max 2008) copy the
file InstantExport.dle (the Max version of a DLL) into C:\Program Files\Autodesk\3ds Max
2008\plugins.
Export
Then start 3ds Max, load the 3d model you want to export, choose Export in the File menu, type in a file name,
e.g. test.xhtml, and select the file type – in this case InstantExport (.WRL,*.XHTML,*.X3D)* After that, the
exporter GUI pops up. Here, under Encoding choose XHTML, as shown in the screenshot below. Finally, press the
Export button. Formore information,the zip file also includes a help file for the exporter.
1.2. Tutorial
21
VB.NET PDF Form Data Read library: extract form data from PDF in
RasterEdge .NET PDF SDK is such one provide various of form field edit functions. Demo Code to Retrieve All Form Fields from a PDF File in VB.NET.
convert pdf file to fillable form; pdf signature field
C#: XDoc.HTML5 Viewer for .NET Online Help Manual
Click to open edited file in web browser in PDF form which can be PDF and Word (.docx). with customized style, like setting shape outline, shape fill and shape
convert pdf file to fillable form online; convert pdf fillable form
X3DOM Documentation, Release 1.4.0
1.2.8 Maya export
If youare working withAutodeskMayaformodeling, shading and animating your3dscenes,use this tutorialtocreate
an interactive X3DOM website outof yourmodel. This tutorial is tested with Autodesk Maya 2011. Nevertheless, the
procedure should work even forolder Maya versions.
The
basic
idea
is
to
export
your
scene
to
VRML
and
convert
this
to
an
X3DOM/HTMLsite
using
InstantReality’s
aopt
binary
(see
Generic
3D
data
conversion).
22
Chapter 1. Guide
X3DOM Documentation, Release 1.4.0
Step 1
Model and shade in Maya as usual. You should use PNG images fortexturing.
Step 2
Open ‘Window | Settings/Preferences | Plug-in manager’and check the ‘loaded’or ‘Auto load’ option vrml2Export.
1.2. Tutorial
23
X3DOM Documentation, Release 1.4.0
Step 3
Open the Export dialog under ‘File | Export All..’, Enter a filename (.wrl suffix) and switch to filetype ‘vrml2. Don’t
forget to check the following export options:
Hierarchy: Full
Texture Options: Original
Export: Normals and Textures
Click the “Export All” button. This will create a vrml2 file in your scenes folder.
24
Chapter 1. Guide
X3DOM Documentation, Release 1.4.0
1.2. Tutorial
25
X3DOM Documentation, Release 1.4.0
Step 4
Open a terminal or command prompt, change to the folder containing your vrml2 model and your textures and run
aopt (part ofInstantReality, see Generic 3D data conversion fordetails) by typing the following command (assuming
to be spaceship.wrl the name ofyour model):
| aopt -i spaceship.wrl -d Switch -f ImageTexture:repeatS:false
|
-f ImageTexture:repeatT:false -u -N spaceship.html
Note: aopt is automatically coming with your InstantReality player installation. You will find the executable
within the bin folder of the Player. If you don’t have Instant Reality installed yet, download and install from
www.instantreality.org.
Step 5
Maya is using absolute path names. Therefore, open your html file with a standard text editor (vi, emacs, notepad++,
etc.) and remove all paths from ImageTexture. Forexample, replace:
url=’”c:\users\me\maya\project\sourceimages\spaceship_color.png”‘
with:
url=’”spaceship_color.png”‘
Step 6
Copy HTML and textures into yourweb folder and open the website with yourX3DOMcapablebrowser.
If you want to try out this tutorial: Here is a zip archive (208 kb) containing all relevant files including Maya model
and texture.
You want to see the result live in your browser? Here is thefinalwebpage
1.2.9 World of Warcraft Models to X3DOM
WARNING: World of Warcraft Models are Blizzard property. You can not use them on your site without
permissionfrom Blizzard.
TheWOWModelViewerproject is an open source application to create machinima with characters and models form
the World of Warcraft MMORPG. One of its features is the ability to export models into various formats, two ofthem
being X3D and X3DOM. The X3DOM option directly outputs an XHTML file with the appropriate header code. In
its current released version 7.0.1 r462, only static models can be exported, but an option to export animations as well
is already available in the code.
To export a model you’ll need a full World of Warcraft installation (for instance a10daytrialversion) and the
WOWModelViewer. Opentheapplication,selectamodelontherighthandsideandclickonFile->Exportmodel-
>X3D in XHTML.
26
Chapter 1. Guide
Documents you may be interested
Documents you may be interested