# Fundamentals

This guide provides insight into the fundamental components that drive the programming interface of HOOPS Visualize Desktop.

HOOPS Visualize Desktop is a rendering SDK designed for rapid development of high-performance, cross-platform engineering applications. It includes a graphics kernel capable of handling complex scene graphs, a framework for interacting with scenes, and high-level components called Sprockets that enable advanced functionalities.

The SDK is a C++ cross-platform and GUI-independent API, which facilitates code portability across platforms. It uses optimized drivers for OpenGL, DirectX, and Metal to fully leverage available graphics hardware.

The scene graph, referred to as a segment tree, organizes data into nodes (segments) that can contain geometry and attributes. A high-level structure composed of Canvas, Layout, View, and Model further organizes applications and their data.

Additionally, the SDK provides bridge components for transferring data between environments. Users can import and visualize CAD data directly through HOOPS Exchange, Parasolid, Sketchup, and RealDWG. It also supports generating photo-realistic renderings with HOOPS Luminate and creating rich 3D visualization PDF/HTML documents with HOOPS Publish.

HOOPS Visualize Desktop offers all the standard functionalities to build a robust 3D application:

## Geometry

All kinds of geometry can be inserted into 3D scenes:

- Shells
- Meshes
- Text
- Lights
- Lines
- Curves
- Markers
- Polygons
- Spheres
- Cylinders
- NURBS
- Cutting sections
- Grids
- Reference geometry

## Rendering

Many advanced rendering options are available:

- Anti-aliasing
- Shadows
- Reflection planes
- Bloom
- Lighting algorithms
- Color interpolation
- Hidden surface removal
- Depth of field
- Perimeter and silhouette edges
- Custom shaders
- Textures
- Physically-based rendering (PBR)

## User Interactions

The SDK provides a high-level interface to interact with the scene:

- Mouse operators
- Touch operators
- 3DConnexion SpaceMouse support
- Selection
- Highlighting
- AR and VR support

File Input/Output

- CAD Files with Sprocket HOOPS Exchange
- PDF and HTML with Sprocket HOOPS Publish
- DWG/DXF with Sprocket RealDWG
- Parasolid with Sprocket Parasolid
- SKP with Sprocket Sketchup
- Point clouds

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...