Setting up a Mesh With Texture

PDF3D ReportGen and PDF3D.IO development SDK can be used to convert various formats to 3D PDF which encompass mesh and texture data.

If data is a regular grid elevation or depth mesh, such as a typical format of GeoTIFF (with 16-bit elevation data), IMG, ArcGIS ASC grid, Surfer Grid (.grd), DEM, etc., then the grid may be loaded, and using the Geospatial tab you can separately load an image file, JPEG, IMG, GeoTIFF, etc. to drape.

image

If you have your own mesh data and have explicitly set up your textures, then more a more intensive graphics format can also be processed. The easiest method is X3D, however meshes with texture are also handled in VRML97, OpenInventor .iv, DAE, FBX, 3DS, OBJ.

A tiny example of such an X3D mesh and texture is:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "http://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Interchange' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.3.xsd'>
  <Scene>
    <Background skyColor='1 1 1'/>
    <Viewpoint description='Flag' position='0 0 5.44'/>
    <Transform DEF='FLAG' translation='0.0 0.0 0.0'>
      <Shape>
        <Appearance>
          <ImageTexture url='pdf3d.jpg' repeatS='false' repeatT='false'/>
          <TextureTransform center='0 0' rotation='0.0'/>
        </Appearance>
        <IndexedFaceSet coordIndex='0 1 2 -1 2 1 3' texCoordIndex='0 1 2 -1 2 1 3'>
          <Coordinate        point='0.02 0.0 0.6584  1.02 0.0 0.6584  0.02 0.0 1.0  1.02 0.0 1.0'/>
          <TextureCoordinate point='0.0 0.0          1.0 0.0          0.0 1.0       1.0 1.0'/>
        </IndexedFaceSet>
      </Shape>
    </Transform>
  </Scene>
</X3D>

A useful characteristic of X3D is that tags can be embedded directly inside the .pdf3dsettings file.