==============================
Modifying application settings
==============================

The application settings are the options which are applicable to all the documents in the application. These are stored in the registry and are restored when the application is relaunched. You can modify these settings by selecting **Tools -> Options** in the menu.


General options
===============

.. image:: images/GeneralOptionsDlg.png


Display
-------

* Driver: Sets the HOOPS display driver.

* Disable Hardware Acceleration: If checked, forces HOOPS to use software rendering. Only works for the OpenGL and Direct3D drivers. 

* Display Statistics: Displays a small window with basic statistics about which types of geometry were drawn in the last update. 

* Double Buffering: Allow HOOPS to use alternate graphics memory to perform time-consuming renderings. When the new rendering is completed, the alternate memory is swapped with the visible memory. Double-buffering usually dramatically reduces screen flickering. If you are running Microsoft Vista and have compositing enabled, please turn this option off as Vista is already performing double buffering. 

* Stereo Mode: If checked and the hardware supports it, stereo viewing will be enabled with the given separation. 

    
Rendering
---------

* Axis triad: If checked, displays X-Y-Z axis triad at the left-bottom corner of each document. 
* Default render mode: Sets the start up render mode.
    
	
Transparency
------------

* Style: Allows you to set the style of transparency.
* Sorting: Allows you to set the sorting algorithm used for transparency.
* Layers: Allows you to set the number of layers for the depth peeling transparency sorting algorithm.
    

Option sets
-----------

* Write to Registry: Writes the current options settings to the registry.
* Export to File: Exports the current options settings to a file with the extension .PVO.
* Import From File: Import a .PVO file that contains a set of options values.
    

Performance options
===================

.. image:: images/PerformanceOptionsDlg.png


Optimizations
-------------

* Hidden Line Mode: Determines how hidden lines are rendered when the hidden line button is selected in the Standard Tool Bar. The options are Fast, Analytic and Fake.

* Fake Hidden Line Color: Determines the color of hidden lines when the fake hidden line mode is enabled.

* Static Model: If checked, HOOPS will generate a parallel optimised segment tree for rendering. When this item is checked, Disable Geometry Editing is enabled and automatically checked as well for optimal performance. If used with display lists turned on, rendering performance could improve significantly.

	* Disable Geometry Editing: If checked, this prevents geometry editing. This option disables insertion of geometry, translation, rotations, manipulators and any editing in the segment browser.

* Occlusion Culling: If checked, occlusion culling will be performed on the current scene which can result in significant performance gains with some models. This option currently only has effect when the OpenGL driver is selected and certain hardware requirements are met. 

* Display Lists: Determines whether display lists will be used. Display lists can be enabled if the driver is OpenGL2 or DX11. Display list can be generated at the segment or geometry level. 
    

Framerate optimization
----------------------

* None

* Culling Threshold: If selected, will set the pixel culling threshold for occlusion culling.

* Framerate Mode: If selected, a framerate mode will determine how much of the scene is rendered at any given time. If you select Fixed Framerate, HOOPS will maintain the exact specified framerate during model manipulation but flashing may occur. If Target Framerate is selected, HOOPS tries to maintain the framerate during model manipulation. The transition between frames is smooth.

	* Framerate: target framerate which is specified in seconds. For instance, 0.1 is equivalent to 10 fps (frames per second).
	* Max Threshold: The highest pixel size an object can have for it to be culled from the scene to maintain the framerate.
	* Use LODs: If checked, LODs will be used in determining what will be rendered. This option is only available for Target Framerate. 
	* Dynamic Adjustment: If checked, culled objects will be "added" back into the scene at the end of manipulation. This option is only available for Target Framerate.
	
		* Detail Steps: Determines the number of buckets that culled objects will be put into for redrawing into the scene. For example, if the Max Thres. is 100 pixels and Details Steps is 5, objects that are between 80 and 100 pixels will be drawn first followed by objects between 60 and 80 pixels and so on.

    
System
------

Multi-Threading: Determines if semaphores are enabled for thread safe activities. The **Full** option renders each 3dGS call completely thread-safe. **Basic** provides basic memory access for read/write locks. **Off** provides no thread protection but also eliminates overhead associated with thread safety. 


Appearance options
==================

.. image:: images/AppearanceOptionsDlg.png


Geometry
--------

* Default Line/Edge Weight: Sets the default line/edge weight.
* Enable Splat Rendering: If checked, point cloud data will be smeared to enhance the appearance.
    

Color interpolation
-------------------

* Color Interpolation: If checked, honors the color settings at each vertex of the shells in the scene and applies a color ramp across the shell.

		* By Value: Controls the color interpolation scheme for Shells which have vertex level coloring. If checked, the color at each pixel in the face is determined by simply linearly interpolating the RGB color set on the adjacent vertices.
		* By Colormap: Controls the color interpolation scheme for Shells which have vertex level coloring. If checked, the color at each pixel by is determined by interpolating between the indices in the colormap. This option is only valid if the Shell vertex colors have been set by Index.

			* Isolines: If checked, renders only the Isolines for Shells in the scene which have colors set on their vertices.

    
Antialiasing
------------

* Full Screen: If checked, enables scene anti-aliasing, with the option to set the anti-aliasing quality (number of samples).
* Text: If checked, enables text anti-aliasing.
* Lines + Edges: If checked, enables anti-aliasing for only lines and edges. In practice, this setting is redundant if screen anti-aliasing is already enabled.
        

Background color
----------------
        
* Top: Sets the background color for the upper portion of the window. The background color can have a gradient from top to bottom.
* Bottom: Sets the background color for the lower portion of the window. If you prefer a single background color without any gradient, set this color exactly same as the Top Background Color.
            

Markup
------

* Color: Sets the color of Markup lines. 
* Weight: Sets the line weight (thickness) for the Markup.
            
        
Fonts
-----

* Name: Sets the current font for the scene.
* Size: Sets the current font size in points.
* Hide Overlapped Text: If checked, only text in the foreground will be displayed.

    
Text Greeking
-------------
        
* Use Text Greeking: Toggles text greeking.
* Greeking Mode: Sets the geometry that will be displayed in place of greeked text.
* Greeking Limit: Sets the distance before text is greeked.
* Units: The units that apply to the greeking limit.

    
File options
============

.. image:: images/FileOptionsDlg.png


General File Options
--------------------
        
* Part File Location:  The directory location of the HOOPS files. 
* Restore Annotations:  If checked, this option ensures that annotation backgrounds will be resized as the camera zooms in or away from the scene. Note that this can be a time consuming operation requiring the traversal of the entire scene graph.
* Flush Model Segment on Load: If checked, the model segment will be flushed each time a new file is loaded (not opened). Otherwise the file will be loaded into the current model segment.

* File Input Streaming:  If checked, as files are loaded you can interact with the model. Note that this option does increase the time it takes to load your scene. If this option is not checked, file loading will be faster but you will not be able to interact with the objects in your scene until the file is completely loaded.

* Load PVO Files: If checked, when a file is loaded, then HOOPS will also load any file with the same name but with the PVO extensions. This let's models be loaded with a specific set of options enabled.
        
    
DWG File Options
----------------
        
* Location of DWG Texture Files: Specifies the directory to look for textures found in DWG models.
* Conserve Memory Mode: If checked, HOOPS will export the DWG model into the HOOPS database and then close the DWG database. This mode is recommended for very large DWG models.
* Import XData: If checked, XData, also know as metadata, will be imported as user options attached to the associated segment.
* Facet/Curve Deviation: enter a number that specifies the maximum allowable difference in world space between the true mathematical surface being imported and the tesselated surface that will be rendered in HOOPS. For instance, if the deviation is set to 1.0, the surfaces in HOOPS would be comparatively more tesselated than if the deviation was a value of 10.0.
        
    
PRC File Options
----------------
        
* Face/Edge/Vertex Selectability: If checked, HOOPS preserve entities below the body level. The imported model will allow you to browse topology below the body level and have associativity between topological features and visualization elements. PMI associativity is also preserved.
        
    
DGN File Options
----------------
        
* Ignore Invisible Layers: If checked, then layers (levels) which are invisible in DGN file will not be imported into HOOPS. If unchecked, then invisible layers in DGN file are imported into HOOPS with their visibility set to "everything = off". 
* Ignore Invisible Entities: If checked, then entities which are invisible in DGN file will not be imported into HOOPS. If set to false then invisible entities in DGN file are imported into HOOPS with their visibility set to "everything = off".
* Factor Cone: This option is used to control the level of tessellation for Cone elements of DGN when they are imported into HOOPS as mesh elements. The higher the value the higher the tessellation.
* Factor Smart Solids: This factor is for Smart solids and Feature solids of DGN. This option corresponds with the normal step angle having range from 0 to 360 degree. Increasing the angle decreases the level of tessellation for Smart/Feature solids. Note that since Smart solids are more frequent in DGN file I gave the name 'Factor for Smart solids' though the more correct would be to name it 'Factor for Smart/Feature solids'. 
        
    
Material Library Options
------------------------
        
* Material Library Location: This option tells HOOPS where to find the repository of materials to be loaded into the Material Library.
        

HSF options
===========

.. image:: images/HSFOptionsDlg.png


Export Options
--------------
        
* Compress Vertices: Compresses the vertices of entities which reduces HSF file size, but can sometimes result in visual artifacts. 
* Bits per Vertex: Number of bits to be used for storing each vertex. This can be any integer between 8 and 72. This is applicable only if Compress Vertices is chosen. 
* Compress Normals: Compresses the normals of entities which reduces HSF file size, but can sometimes result in visual artifacts. 
* Bits per Normal: Number of bits to be used for storing each normal. This can be any integer between 8 and 72. This is applicable only if Compress Normals is chosen.
* Compress Parameters: Compresses the vertex parameters of entities which reduces HSF file size, but can sometimes result in visual artifacts.
* Bits per Parameter: Number of bits to be used for storing each vertex parameter. This can be any integer between 8 and 72. This is applicable only if Compress Normals is chosen. 
* HSF Version: The export version number for HSF files.
* Include File Dictionary: Export the file dictionary information. File Dictionary provides random entity access capability, but usually results in marginal increase in the size.
* Use Advanced Compression: Export the HSF file using the advanced edge-breaker connectivity compression. For more details on this type of compression, please refer to the HOOPS/Stream documentation.
* Save Log File:  If checked, output files called *hsf_export_log.txt* and *hsf_import_log.txt* will be created which contain a byte representing each opcode that was exported or imported during the write and/or read phase, respectively. 
* Enable Geometry Instancing:  If checked, identical geometry will not be enumerated separately when saving a file. 
* Enable Tristrips:  If checked, tristrips are generated for all faces. If unchecked, HOOPS will not make tristrips for nontriangular faces. However, if advanced compression is on, some faces may still be triangulated. 
        
    
Interaction options
===================

.. image:: images/InteractionOptionsDlg.png


Geometry Manipulation
---------------------

	* Update Shadows: If checked, shadows will be updated during translation/rotation of objects.
	* Update Cut Geometry: If checked, cut geometry will be updated during translation/rotation of objects.
	* 3D Spriting: If checked, spriting is used during translation/rotation of objects
	

Animation
---------
	
* Show Every Tick: If checked, displays every tick of the animation regardless of the time per frame. 
* Update Camera: If not checked, camera movement which is part of the animation will be surpressed
* Jump To Keyframe: If checked, the +/- button of the animation toolbar will move the animation to the next keyframe instead of the next tick
* Variable Framerate: If checked, the Constant Framerate Logic will be disabled while an animation is running.
* Timer Based Update: If checked, updates are happening on regular intervals which allows animations to interact smoothly with other user input. Turning this off can help in code debugging.
* Show Collisions: If checked, will enable visualization of collision detection in animations.
	

Walk Options
------------
	
* Use Keyboard: Checking this enables keyboard controls for movement. Keyboard controls are as follows:
	
	* W: Forward
	* A: Strafe Left
	* S: Back
	* D: Strafe Right
	* Q: Up
	* Z: Down
	

* Collision Detection: This enables collision detection between the camera and geometry in the scene.
* Snap to Floor: If checked, the walk operator will prevent the camera from floating too high over a surface, and snap to the floor when possible.
* Avatar Height: This controls the height of the camera when the camera is snapped to the floor.
	
	* Automatic: Allows HOOPS to automatically set the avatar height to be a fraction of the scene extents.
	
* Step Height Up: This set the height at which the avatar will automatically walk up stairs and over small obstacles.
* Step Height Down: This sets the maximum height that the avatar can drop. Thus, if the drop is too large, the avatar will not be able to walk over an edge.
	

Selection options
=================

.. image:: images/SelectionOptionsDlg.png


Appearance
----------
	
* Polygons: Sets the selection color for polygons (faces).
* Lines: Sets the selection color for lines (edges).
* Markers: Sets the selection color for markers (vertices).
* Transparency: Sets the transparency level (%) for the selected entities.
* Gray Scale Selection: If checked, sets the scene to grayscale when performing a selection.


Behavior
--------
	
* Visibility based selection: If checked, all selection operations take visibility of objects into account (versus the standard analytical selection mode of HOOPS).
* Dynamic Highlighting: If checked, will automatically highlight geometry on a mouseover (and subsequently unhighlight when the mouse leaves.
* Honor Line/Edge weight/patterns: If checked, HOOPS will honor the weights and patterns of lines and patterns.
* Transparent Select Box: If checked, the "Select by Window" operator will display a transparent overlay.
* Displace Selection: If checked, HOOPS will rendered a selected object on top of any coincident geometry.
* Related Selection Limit:If checked, tells the system that no more than the number specified of items of geometry past the first will be needed.
	

Highlighting
------------
	
* Quickmoves Preference: Determines the default method of rendering quickmoves.
* Conditional Highlighting:Highlights the selected items by setting a conditional style in the selected segments.
* Quickmoves Highlighting: Determines if Quickmoves should be used during highlighting. If Quickmoves is on for highlighting, specifies which method is used for rendering.
* Inverse Transparency Highlighting: Leaves the selected item the same while making everything else in the scene transparent. The value to the right indicates the level of transparency where 0 is no transparency and 1 is completely transparent.
* Colored Inverse Transparency Highlighting: Highlights the selected item and making everything else in the scene transparent. The value to the right indicates the level of transparency where 0 is no transparency and 1 is completely transparent.
	

Output options
==============

.. image:: images/OutputOptionsDlg.png


Image output
------------

* Use Window Size: If checked, the height and width of the current window will be used for output.
* Specify Image Size: If checked, used the specified height and width for image output.
	
	* Width: Determines the width of the output.
	* Height: Determines the height of the output.
	
    
More options
===============
        
* Output in Grayscale: If checked, output will appear in grayscale.
* Favor Memory over Speed: If checked, some memory-intensive optimizations will not be used when rendering output.
* Include Window Background: If checked, the window background color gradient will be output along with the model.
        
    
Document output
---------------
        
* Use Current View (WYSIWYG): If checked, the output will be exactly what is rendered into the current window.
* Use Full Printable Area: If checked, HOOPS will render as much of the model as it can into the size of the output.
* Paper Size: Determines the paper size. For output to a printer, the paper size is hard-coded to 8.5 by 11.
	
		* Width: Sets the width of the paper used for output.
		* Height: Sets the height of the paper used for output.
		* DPI: Sets the print output resolution.


Geometry options
================

.. image:: images/GeometryOptionsDlg.png


Curve Tesselation
-----------------

* Budget: Sets the upper boundary of the number of vertices that will be allowed in the tesselation of the NURBS.
* Continued Budget: Sets the number of additional vertices will be allocated to the overall curve. Whereas a curve with exactly degree+1 control points will have "budget" number of vertices, curves with more control points than that number will have "continued budget" additional vertices for every extra control point.
* Maximum Deviation: Sets the distance, in object space, of the tessellation to the parametric definition of the curve. Note that since this setting is in object space, it should be set differently depending on the scale of the NURBS control points.
* Maximum Angle: Sets the largest angle allowed between adjacent line segments in the tessellated representation. Expressed in degrees.
* Maximum Length: Sets the largest allowable length, in the NURBS Curve's normalized [0, 1] parametric space, of any line segment.
* View Independent: If checked, HOOPS tesselates a NURBS curve with the number of vertices specified in "budget". Otherwise, tesselation of a NURBS curve is done as far as necessary, depending on the camera setting, in order to maintain a smooth curve. "view dependent" is more accurate, but "view independent" is computationally cheaper.
	

Camera options
==============

.. image:: images/CameraOptionsDlg.png


View
----

	* Smooth Transition: If checked, the camera is transitioned between two positions smoothly (in small increments). 
	* Projection: Sets the camera projection. 
	* Near Camera Limit: Sets the near clipping distance.
	
        
Walkthrough Orientation
-----------------------
        
* Front View Axis: Sets what the partviewer will consider the "front view" for use with the "standard views" buttons.
* Top View Axis: Sets what the partviewer will consider the "top view" for use with the "standard views" buttons.
* Navigation Panel: If checked, HOOPS will display a navigation panel on the bottom right side of the window with arrows indicating directions for movement.
	
    
World Handedness
----------------

Determines the facing of polygons indicating which is the "front" or "back."
        
* Right: If checked, the world and the axis triad with be right handed.
* Left: If checked, the workd and the axis triad will face opposite of right handed way.
	
    
Lighting options
================

.. image:: images/LightingOptionsDlg.png


Ambient color
-------------
        
* Hemispheric Ambient: If checked, HOOPS will apply ambient lighting to calculation for the color of a surface based on its normal vector and the value of the up vector which is (0,1,0) by default.
	
	* Color 1: If Hemispheric Ambient is not checked, the color applies to the lighting calculations of all surfaces. If Hemispheric Ambient is checked, the color applies to the lightning calculation using the up vector information. 
	* Color 2: If Hemispheric Ambient is checked, HOOPS uses this color as the light color in the opposite direction of the up vector when performing lighting calculations for surfaces.
	* Up Vector: The up direction of the Hemispheric Ambient lighting.
		
* Bloom: When enabled, HOOPS causes bright objects to bleed into darker ones, simulating the imperfect focus inevitable with the human eye or any other type of lens.
		
		* Strength: this value determine the contribution of bloom to the overall color value. Numbers in the range of 0 to 10 are accepted where the higher number means more contribution.
		
		* Blur: the number of blur passes to perform on the output. Higher values mean that bloom will affect a wider area and look smoother. Numbers in the range of 1 to 8 are accepted. 
		* Shape: the type of kernel used in creating the bloom effect.
			
* Light Options
        
	* Light Follows Camera: If checked, HOOPS will move lighting when the camera moves.
	* Light Scaling: If checked, lighting will have a scaling factor. A smaller factor will make the scene whiter while a larger will make the scene darker. 
	* Lights: The number of distant lights that HOOPS will insert into the scene. These lights will obey the "Light Follows Camera" option.

* Gooch Options
        
	* Color Map: Select colors for the color map that applies to models when Gooch rendering is enabled.
	* Diffuse Weight: Enter a value from 0 to 1. Regular diffuse lighting contributes weight, and the non-photorealistic lighting from Gooch contributes (1-weight). 
	* Number of Colors: The number of colors to use in the color map starting with the left color in the color map. You can specify whole or fractional numbers.
        
    
Effects options
===============

.. image:: images/EffectsOptionsDlg.png

Simple Shadows
--------------

If checked, shadows that are cast on the floor will be rendered.

* Light Vector: the direction used to determine how the simple shadow is cast. This value is independent of all other light vectors including distant, local and spot lights added to the scene. The default value is in the positive z direction.
* Color: The color of the shadow
* Resolution: A number from 32 to 1024 that determines the resolution of the shadow.
* Blurring: A number between 1 to 31 indicating the level of blurring (softening) that is applied to the shadow. 
* Opacity: A floating point value between 0 and 1 that sets the transparency of the shadow where 1 is completely opaque.
* Shadow Rendering: Determines the method used to render the shadow.

Shadow Maps
-----------

If checked, shadows that are cast on faces are rendered.
        
* Jitter: If checked, HOOPS will use stochastic sampling of shadow maps. This can reduce aliasing in the shadow map. 
* View Dependent: If this option is checked, the view frustum is taken into account when generating shadow maps. This can give you better quality overall but there can be a performance cost because shadow maps are generated every time the view frustrum changes.
* Resolution: The width and height of the shadow map. This value will be clamped up/down to 512, 1024 or 2048. 
* Samples: The number of locations in the shadow map used to determine the percentage value of light received by a pixel in the rendered scene. 
        
Simple Reflection
-----------------

If checked, reflections against the floor are rendered.
        
* Fading:If selected, the reflection plane will fade as it moves away from the camera.
* Opacity:A value between 0 and 1 that determines the transparency of the reflection plane where 0 is completely transparent.
* Blur:An integer between 1 and 31 indicating the level of softening that is applied to the reflection. This option is only applies when the DX11 driver is used. 
* Attenuation:Fades the reflection as the model moves away from the reflection plane. This option only applies when the DX11 driver is used.
	
	* Hither: Determines the location of the near plane. This is where the attenuation begins.
	* Yon: Determines the location of the far plane. This is where the attenuation ends and the image is completely faded.
		

Frame Buffer
------------

* Ambient Occlusion: If checked, shading is applied when nearby objects or occluders would prevent some portion of ambient light from reaching a surface.
	
	* Strength: A multiplier on the default contribution of ambient occlusion. The higher the number the strong the ambient occlusion contribution.
	
	* Fast Silhouette Edges: If checked, enables the drawing of fast silhouettes where the difference between z-buffer values of neighboring pixels is greater than a certain threshold.
	
		* Tolerance: the threshold used when comparing adjacent pixel depth values to detect silhouettes.
		* Heavy Exterior: if checked, HOOPS draws an extra thick line at the exterior silhouettes,
	