xcmodel 3D-WEB-App v2.0

Introduction

The following document serves as a user guide for the use of the application xcmodel 3D-WEB-App v2.0.

The application allows you to examine models created with the XCModel software; some models are freely downloadable from the project page XCModel.


Mrpotato model

In the example, the model displayed is Mrpotato, downloadable in both IGES and XCModel OBJ formats.




Graphical Interface

The graphical interface offers numerous interaction possibilities for the user. It includes:

  1. Menu Bar
  2. Tools Bar
  3. Canvas
  4. Surfaces List


A fixed component of the interface, it occupies the upper left part of the window. It offers three menus: File, Help, and Guide.

menu bar

File

file-upload

Model selection.

fmrpotato-files

Selection of .db, .dbe files of the Mrpotato model

By clicking the button File, a modal window is opened for loading models to be viewed, choosing from:
  • six default models of the application
  • or personally uploading a file in IGES or XCModel format

The supported extensions are exclusively:

  • .igs (IGES),
  • .db, .dbe (XCModel).
It is possible to load multiple .db and .dbe files at once, but with each new upload, the window is refreshed, displaying only the last selection and overwriting the previous one.

How to download a model

xcmodel-homepage

By going to the 3D NURBS Models section of XCModel, you have the opportunity to download various 3D NURBS models produced with XCModel software, divided into different categories:

  • Aircraft
  • Animal
  • Bathroom
  • Boat
  • Character
  • Furniture
  • Kitchen
  • Lamp
  • Music
  • Other
  • Plants
  • Vase
  • Vehicle

In the example, the Mrpotato model is downloaded from the Character category. For each model, the following are visible:

  • the number of surfaces that make up the model (29)
  • the number of trimmed surfaces (4)
  • the total number of control points (951)

By selecting Download IGES, the single file Mrpotato.igs is downloaded, while Download XCModel OBJ allows you to download the compressed file Mrpotato.tgz.



file-list

The extracted folder containing the .obj, .db and .dbe files

file-list

Excerpt of the Mrpotato.obj file

Inside the extracted folder, the .obj file is a text document that lists the .db and .dbe files that represent the surfaces modeling the object.

  • A .db file defines a NURBS surface
  • A .dbe file defines a NURBS surface trimmed with the definition of a region in the parametric domain.
A .dbe file therefore represents an extension compared to .db. Additionally,

  • the XCModel software allows the management of generic trimmed NURBS surfaces: the region of the parametric domain can be defined by generic 2D NURBS curves, while
  • the web application is able to correctly load and display only .dbe files where the region of the parametric domain is defined by straight segments corresponding to the nodal partition of the NURBS surface.

Help

The Help menu opens a window on the screen that lists the keyboard shortcuts for executing functions.

help

Guide

The Guide button allows you to open this guide.


2. Tools bar

The tools bar occupies the left part of the window. It can be shown or hidden:

  • by selecting the icon with three horizontal lines tools icon
  • using the T key on the keyboard if a 3d model is currently being visualized in the scene
If the display mode of the Tools panel changes, the canvas resizes dynamically to fit the screen.

The five tools can be activated either by keyboard or by mouse click.

  • Lock light source: when the command is selected, the light source is fixed in a specific position relative to the scene. Moving the camera, the lighting effects on the objects change based on their position and orientation relative to the fixed light source. The direction and intensity of the light remain constant.
  • Hue shift: changes the hue of the color without affecting the brightness or saturation. The effect is not visible if a texture is applied to the model.
  • Fixed camera: by fixing the camera in a specific position and angle, changing the view direction (LookingAt) will change the perspective of the scene. You can shift the focus to different areas of the scene while keeping the camera position constant.
  • Touch selection: if activated, it is possible to select surfaces directly by touching the canvas. It disables the commands for rotating and zooming the canvas (through touch), preventing unintended selections while moving the model using touch commands.

mrpotato

Display of Mrpotato with Debug information

shader

Available Shaders

texture

Available Textures

The application offers the possibility to view the model with

  • five shaders: diffuse, phong_per_vertex, phong _per_fragment, blinn_phong and toon
  • four textures: bricks, wood, metal and uv

details

Level of details and Field of view

Additional parameters that can be interacted with are:

  • field of view, to modify the viewing angle of the scene from a minimum of 30 degrees to a maximum of 120
  • the level of detail of the model, in a range from 1 to 16

render mode

Render mode and Color mode

Two different modes of RENDERING and COLORING are available. For rendering:

  • SOLID, for the visualization of surfaces
  • WIREFRAME, which also shows the model's bounding box
The two coloring modes are:

  • MODEL, where all surfaces have a single color
  • SURFACES, where each surface has a different color

Tessellation and Level of Detail

Tessellation is the process of subdividing a continuous surface into a discrete number of polygons, usually triangles. This process facilitates rendering and allows for representing complex surfaces with a high degree of details.

The level of detail (LOD) indicates the precision with which the surface is tessellated. A higher level of detail results in a finer grid, representing the surface with greater quality but also requiring higher rendering costs, while a lower level of detail uses a coarser grid, reducing rendering costs at the expense of visual quality.


Visualization Examples


3. Canvas

The 3D canvas allows for scene visualization and occupies the entire window, resizing dynamically based on the screen size. It can be navigated using


4. Surfaces List

The list of surfaces that make up the scene occupies the right side of the window. Like the tools bar, this list can also be shown or hidden:

Changing the Surfaces view mode dynamically resizes the canvas to fit the screen.

Each surface in the list can be hidden from view using the icon tools icon, which toggles the visibility of the surface. Additionally, there are two buttons:

Show all and Hide all work similarly, but on the entire list.