Skip to content

Latest commit

 

History

History

ObjectSelection

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ObjectSelection

Shows how to select (pick) 3d objects using the mouse via Axis Aligned Bounding Boxes (AABB).

Beware that AABB's often represent quite a rough fit and therefore is best used as a quick way to determine if there might be a collision and then utilize a more precise calculation to verify it.

The sample has a first person camera so use 'wasd' to move around and hold 'right mouse button' to look around.

The app can be controlled using:

Key Result
O Toggle draw oriented bounding boxes on/off
B Toggle draw axis aligned bounding boxes on/off
N Toggle draw new plane cross on/off
F Toggle draw far plane cross on/off

Command line arguments':

Argument Description Source
--AABB <arg> Draw the Axis Aligned Bounding Boxes on/off Demo
--FarPlaneMouse <arg> Draw the far plane mouse intersection on/off Demo
--NearPlaneMouse <arg> Draw the near plane mouse intersection on/off Demo
--OBB <arg> Draw the Oriented Bounding Boxes on/off Demo
--Objects <arg> Specify the number of objects to generate Demo
--RandomSeed Use a random seed for the scene generation instead of a fixed one Demo
--ActualDpi <arg> ActualDpi [x,y] Override the actual dpi reported by the native window DemoHost
--DensityDpi <arg> DensityDpi <number> Override the density dpi reported by the native window DemoHost
--DisplayId <arg> DisplayId <number> DemoHost
--EGLAlphaSize <arg> Force EGL_ALPHA_SIZE to the given value DemoHost
--EGLBlueSize <arg> Force EGL_BLUE_SIZE to the given value DemoHost
--EGLDepthSize <arg> Force EGL_DEPTH_SIZE to the given value DemoHost
--EGLGreenSize <arg> Force EGL_GREEN_SIZE to the given value DemoHost
--EGLLogConfig Output the EGL config to the log DemoHost
--EGLLogConfigs <arg> Output the supported configurations to the log. 0=Off, 1=All, 2=HDR. Don't confuse this with LogConfig. DemoHost
--EGLLogExtensions Output the EGL extensions to the log DemoHost
--EGLRedSize <arg> Force EGL_RED_SIZE to the given value DemoHost
--EGLSampleBuffers <arg> Force EGL_SAMPLE_BUFFERS to the given value DemoHost
--EGLSamples <arg> Force EGL_SAMPLES to the given value DemoHost
--Window <arg> Window mode [left,top,width,height] DemoHost
--AppFirewall Enable the app firewall, reporting crashes on-screen instead of exiting DemoHostManager
--ContentMonitor Monitor the Content directory for changes and restart the app on changes.WARNING: Might not work on all platforms and it might impact app performance (experimental) DemoHostManager
--ExitAfterDuration <arg> Exit after the given duration has passed. The value can be specified in seconds or milliseconds. For example 10s or 10ms. DemoHostManager
--ExitAfterFrame <arg> Exit after the given number of frames has been rendered DemoHostManager
--ForceUpdateTime <arg> Force the update time to be the given value in microseconds (can be useful when taking a lot of screen-shots). If 0 this option is disabled DemoHostManager
--LogStats Log basic rendering stats (this is equal to setting LogStatsMode to latest) DemoHostManager
--LogStatsMode <arg> Set the log stats mode, more advanced version of LogStats. Can be disabled, latest, average DemoHostManager
--ScreenshotFormat <arg> Chose the format for the screenshot: bmp, jpg, png (default), tga DemoHostManager
--ScreenshotFrequency <arg> Create a screenshot at the given frame frequency DemoHostManager
--ScreenshotNamePrefix <arg> Chose the screenshot name prefix (defaults to 'Screenshot') DemoHostManager
--ScreenshotNameScheme <arg> Chose the screenshot name scheme: frame (default), sequence, exact. DemoHostManager
--Stats Display basic frame profiling stats DemoHostManager
--StatsFlags <arg> Select the stats to be displayed/logged. Defaults to frame|cpu. Can be 'frame', 'cpu' or any combination DemoHostManager
--Version Print version information DemoHostManager
--Graphics.Profile Enable graphics service stats GraphicsService
--Profiler.AverageEntries <arg> The number of frames used to calculate the average frame-time. Defaults to: 60 ProfilerService
--ghelp <arg> Display option groups: all, demo or host base
-h, --help Display options base
-v, --verbose Enable verbose output base