diff options
Diffstat (limited to 'Samples/SensorBox')
-rw-r--r-- | Samples/SensorBox/CMakeLists.txt | 26 | ||||
-rw-r--r-- | Samples/SensorBox/SensorBoxTest.cpp | 68 | ||||
-rw-r--r-- | Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj | 126 | ||||
-rw-r--r-- | Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj.filters | 73 |
4 files changed, 62 insertions, 231 deletions
diff --git a/Samples/SensorBox/CMakeLists.txt b/Samples/SensorBox/CMakeLists.txt new file mode 100644 index 0000000..be2d98f --- /dev/null +++ b/Samples/SensorBox/CMakeLists.txt @@ -0,0 +1,26 @@ +project(SensorBoxTest) + +set(EXTRA_LIBS + OculusVR + CommonSrc +) + +set(SOURCE_FILES + SensorBoxTest.cpp +) + +if (WIN32) + + add_executable(SensorBoxTest WIN32 ${SOURCE_FILES}) + +elseif (APPLE) + + add_executable(SensorBoxTest MACOSX_BUNDLE ${SOURCE_FILES}) + +else() + + add_executable(SensorBoxTest ${SOURCE_FILES}) + +endif() + +target_link_libraries(SensorBoxTest ${EXTRA_LIBS}) diff --git a/Samples/SensorBox/SensorBoxTest.cpp b/Samples/SensorBox/SensorBoxTest.cpp index 7ca416f..bcf35ed 100644 --- a/Samples/SensorBox/SensorBoxTest.cpp +++ b/Samples/SensorBox/SensorBoxTest.cpp @@ -43,7 +43,7 @@ using namespace OVR::Render; // Y - Up (colored red) // Z - Back (Out from screen, colored blue) // X - Right (green) -// All cameras are looking at the origin. +// All cameras are looking at the origin. // Camera view types. enum ViewType @@ -64,11 +64,11 @@ class InputTestApp : public Application Ptr<DeviceManager> pManager; Ptr<HMDDevice> pHMD; Ptr<SensorDevice> pSensor; - Ptr<SensorDevice> pSensor2; + Ptr<SensorDevice> pSensor2; SensorFusion SFusion; SensorFusion SFusion2; - + double LastUpdate; ViewType CurrentView; @@ -89,11 +89,11 @@ public: InputTestApp(); ~InputTestApp(); - virtual int OnStartup(int argc, const char** argv); + virtual int OnStartup(int argc, char** argv); virtual void OnIdle(); virtual void OnMouseMove(int x, int y, int modifiers); - virtual void OnKey(KeyCode key, int chr, bool down, int modifiers); + virtual void OnKey(OVR::KeyCode key, int chr, bool down, int modifiers); }; InputTestApp::InputTestApp() @@ -116,7 +116,7 @@ void UseCase() Ptr<SensorDevice> pSensor = 0; SensorFusion FusionResult; - + // *** Initialization - Create the first available HMD Device pManager = *DeviceManager::Create(); pHMD = *pManager->EnumerateDevices<HMDDevice>().CreateDevice(); @@ -127,7 +127,7 @@ void UseCase() // Get DisplayDeviceName, ScreenWidth/Height, etc.. HMDInfo hmdInfo; pHMD->GetDeviceInfo(&hmdInfo); - + if (pSensor) FusionResult.AttachToSensor(pSensor); @@ -137,7 +137,7 @@ void UseCase() // Create a matrix from quaternion, // where elements [0][0] through [3][3] contain rotation. - Matrix4f bodyFrameMatrix(q); + Matrix4f bodyFrameMatrix(q); // Get Euler angles from quaternion, in specified axis rotation order. float yaw, pitch, roll; @@ -156,24 +156,24 @@ InputTestApp::~InputTestApp() { pSensor.Clear(); pManager.Clear(); - + } -int InputTestApp::OnStartup(int argc, const char** argv) +int InputTestApp::OnStartup(int argc, char** argv) { if (!pPlatform->SetupWindow(1200,800)) return 1; - + pManager = *DeviceManager::Create(); - + // This initialization logic supports running two sensors at the same time. - + DeviceEnumerator<SensorDevice> isensor = pManager->EnumerateDevices<SensorDevice>(); DeviceEnumerator<SensorDevice> oculusSensor; DeviceEnumerator<SensorDevice> oculusSensor2; - + while(isensor) { DeviceInfo di; @@ -210,13 +210,13 @@ int InputTestApp::OnStartup(int argc, const char** argv) oculusSensor.Clear(); oculusSensor2.Clear(); - - + + /* DeviceHandle hHMD = pManager->EnumerateDevices<HMDDevice>(); HMDInfo hmdInfo; if (hHMD) - { + { hHMD.GetDeviceInfo(&hmdInfo); } */ @@ -241,25 +241,29 @@ int InputTestApp::OnStartup(int argc, const char** argv) // Report relative mouse motion (not absolute position) // pPlatform->SetMouseMode(Mouse_Relative); +#ifdef OVR_OS_WIN32 const char* graphics = "d3d10"; +#else + const char* graphics = "GL"; +#endif for (int i = 1; i < argc; i++) if (!strcmp(argv[i], "-r") && i < argc-1) graphics = argv[i+1]; pRender = pPlatform->SetupGraphics(OVR_DEFAULT_RENDER_DEVICE_SET, graphics, RendererParams()); - + //WireframeFill = pRender->CreateSimpleFill(Fill::F_Wireframe); - + // *** Rotating Box - + pBox = *new Container; - pBox->Add(Ptr<Model>( + pBox->Add(Ptr<Model>( *Model::CreateAxisFaceColorBox(-2.0f, 2.0f, Color(0, 0xAA, 0), // x = green -1.0f, 1.0f, Color(0xAA,0, 0), // y = red - -1.0f, 1.0f, Color(0, 0, 0xAA)) )); // z = blue + -1.0f, 1.0f, Color(0, 0, 0xAA)) )); // z = blue // Drop-down line from box, to make it easier to see differences in angle. Ptr<Model> downLine = *new Model(Prim_Lines); downLine->AddLine(Vertex(0.0f,-4.5f, 0.0f, 0xFFE0B0B0), @@ -267,7 +271,7 @@ int InputTestApp::OnStartup(int argc, const char** argv) pBox->Add(downLine); Sc.World.Add(pBox); - + // Secondary rotating coordinate object, if we have two values. if (pSensor2) { @@ -302,7 +306,7 @@ int InputTestApp::OnStartup(int argc, const char** argv) Vertex( 0.0f, 8.0f, 0.0f, 0xFFFF4040)); // Y - arrow pAxes->AddLine(Vertex(-0.4f, 7.6f, 0.0f, 0xFFFF4040), Vertex( 0.0f, 8.0f, 0.0f, 0xFFFF4040)); // Y - + pAxes->AddLine(Vertex( 0.0f, 0.0f,-8.0f, 0xFF4040FF), Vertex( 0.0f, 0.0f, 8.0f, 0xFF4040FF)); // Z pAxes->AddLine(Vertex( 0.4f, 0.0f, 7.6f, 0xFF4040FF), @@ -310,7 +314,7 @@ int InputTestApp::OnStartup(int argc, const char** argv) pAxes->AddLine(Vertex(-0.4f, 0.0f, 7.6f, 0xFF4040FF), Vertex( 0.0f, 0.0f, 8.0f, 0xFF4040FF)); // Z - arrow Sc.World.Add(pAxes); - + SetView(CurrentView); @@ -339,7 +343,7 @@ void InputTestApp::SetView(ViewType type) View = Matrix4f::LookAtRH(Vector3f(0.0f,-10.0f, 0.0f), // eye Vector3f(0.0f, 0.0f, 0.0f), // at Vector3f(0.0f, 0.0f, 1.0f)); - + break; default: break; @@ -358,12 +362,12 @@ void InputTestApp::OnMouseMove(int x, int y, int modifiers) static float CalcDownAngleDegrees(Quatf q) { - Vector3f downVector(0.0f, -1.0f, 0.0f); + Vector3f downVector(0.0f, -1.0f, 0.0f); Vector3f val= q.Rotate(downVector); return RadToDegree(downVector.Angle(val)); } -void InputTestApp::OnKey(KeyCode key, int chr, bool down, int modifiers) +void InputTestApp::OnKey(OVR::KeyCode key, int chr, bool down, int modifiers) { OVR_UNUSED2(chr, modifiers); @@ -429,7 +433,7 @@ void InputTestApp::OnKey(KeyCode key, int chr, bool down, int modifiers) LogText("Angle: %2.3f Secondary Sensor Angle: %2.3f\n", CalcDownAngleDegrees(SFusion.GetOrientation()), CalcDownAngleDegrees(SFusion2.GetOrientation())); - } + } } break; @@ -451,7 +455,7 @@ void InputTestApp::OnIdle() double curtime = pPlatform->GetAppTime(); // float dt = float(LastUpdate - curtime); LastUpdate = curtime; - + if (pBox) { Quatf q = SFusion.GetOrientation(); @@ -461,7 +465,7 @@ void InputTestApp::OnIdle() // Vector3f euler; // SFusion.GetOrientation().GetEulerABC<Axis_Y, Axis_X, Axis_Z, Rotate_CCW, Handed_R>(&euler.y, &euler.x, &euler.z); // Matrix4f mat = Matrix4f::RotationY(euler.y) * Matrix4f::RotationX(euler.x) * Matrix4f::RotationZ(euler.z); - // pBox->SetMatrix(mat); + // pBox->SetMatrix(mat); // Update titlebar every 20th of a second. if ((curtime - LastTitleUpdate) > 0.05f) @@ -496,7 +500,7 @@ void InputTestApp::OnIdle() pRender->SetProjection(Proj); pRender->SetDepthMode(1,1); - + Sc.Render(pRender, View); pRender->Present(); diff --git a/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj b/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj deleted file mode 100644 index a0c06af..0000000 --- a/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{8051B837-2982-4F64-8C3B-FAF88B6D83AB}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>SensorBoxTest</RootNamespace> - <ProjectName>SensorBoxTest</ProjectName> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <IntDir>$(Configuration)\Obj\</IntDir> - <OutDir>$(ProjectDir)$(Configuration)\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <IntDir>$(Configuration)\Obj\</IntDir> - <OutDir>$(ProjectDir)$(Configuration)\</OutDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader> - </PrecompiledHeader> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>OVR_BUILD_DEBUG;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../../LibOVR/Include;../../LibOVR/Src;../../3rdParty/glext;$(DXSDK_DIR)/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <DebugInformationFormat>OldStyle</DebugInformationFormat> - <MultiProcessorCompilation>true</MultiProcessorCompilation> - <StringPooling> - </StringPooling> - <MinimalRebuild>false</MinimalRebuild> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <AdditionalDependencies>libovrd.lib;dxgi.lib;d3d10.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - <AdditionalLibraryDirectories>../../LibOVR/Lib/Win32;$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <PrecompiledHeader> - </PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>../../LibOVR/Include;../../LibOVR/Src;../../3rdParty/glext;$(DXSDK_DIR)/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <MultiProcessorCompilation>true</MultiProcessorCompilation> - <DebugInformationFormat>OldStyle</DebugInformationFormat> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalLibraryDirectories>../../LibOVR/Lib/Win32;$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - <AdditionalDependencies>libovr.lib;dxgi.lib;d3d10.lib;d3d11.lib;d3dcompiler.lib;opengl32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="..\CommonSrc\Platform\Platform.cpp" /> - <ClCompile Include="..\CommonSrc\Platform\Win32_Gamepad.cpp" /> - <ClCompile Include="..\CommonSrc\Platform\Win32_Platform.cpp" /> - <ClCompile Include="..\CommonSrc\Render\Render_Device.cpp" /> - <ClCompile Include="..\CommonSrc\Render\Render_D3D10_Device.cpp" /> - <ClCompile Include="..\CommonSrc\Render\Render_D3D11_Device.cpp" /> - <ClCompile Include="..\CommonSrc\Render\Render_D3D1X_Device.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - </ClCompile> - <ClCompile Include="SensorBoxTest.cpp" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\CommonSrc\Platform\Gamepad.h" /> - <ClInclude Include="..\CommonSrc\Platform\Platform.h" /> - <ClInclude Include="..\CommonSrc\Platform\Platform_Default.h" /> - <ClInclude Include="..\CommonSrc\Platform\Win32_Gamepad.h" /> - <ClInclude Include="..\CommonSrc\Platform\Win32_Platform.h" /> - <ClInclude Include="..\CommonSrc\Render\Render_Font.h" /> - <ClInclude Include="..\CommonSrc\Render\Render.h" /> - <ClInclude Include="..\CommonSrc\Render\Render_D3D10_Device.h" /> - <ClInclude Include="..\CommonSrc\Render\Render_D3D11_Device.h" /> - <ClInclude Include="..\CommonSrc\Render\Render_D3D1X_Device.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="SensorBoxTest.rc" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj.filters b/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj.filters deleted file mode 100644 index 5c2ee68..0000000 --- a/Samples/SensorBox/SensorBoxTest_Msvc2010.vcxproj.filters +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="CommonSrc"> - <UniqueIdentifier>{ba673e50-0655-4f12-a166-6d3ab6015925}</UniqueIdentifier> - </Filter> - <Filter Include="CommonSrc\Platform"> - <UniqueIdentifier>{16e20aab-eff7-45ff-be85-0203ad399e97}</UniqueIdentifier> - </Filter> - <Filter Include="CommonSrc\Render"> - <UniqueIdentifier>{1b6db3ae-a405-4f65-be93-41a62db4fa21}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\CommonSrc\Platform\Platform.cpp"> - <Filter>CommonSrc\Platform</Filter> - </ClCompile> - <ClCompile Include="..\CommonSrc\Platform\Win32_Platform.cpp"> - <Filter>CommonSrc\Platform</Filter> - </ClCompile> - <ClCompile Include="..\CommonSrc\Render\Render_Device.cpp"> - <Filter>CommonSrc\Render</Filter> - </ClCompile> - <ClCompile Include="..\CommonSrc\Render\Render_D3D1X_Device.cpp"> - <Filter>CommonSrc\Render</Filter> - </ClCompile> - <ClCompile Include="..\CommonSrc\Render\Render_D3D10_Device.cpp"> - <Filter>CommonSrc\Render</Filter> - </ClCompile> - <ClCompile Include="..\CommonSrc\Render\Render_D3D11_Device.cpp"> - <Filter>CommonSrc\Render</Filter> - </ClCompile> - <ClCompile Include="SensorBoxTest.cpp" /> - <ClCompile Include="..\CommonSrc\Platform\Win32_Gamepad.cpp"> - <Filter>CommonSrc\Platform</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\CommonSrc\Platform\Win32_Platform.h"> - <Filter>CommonSrc\Platform</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Platform\Platform.h"> - <Filter>CommonSrc\Platform</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Platform\Platform_Default.h"> - <Filter>CommonSrc\Platform</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Render\Render_Font.h"> - <Filter>CommonSrc\Render</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Render\Render.h"> - <Filter>CommonSrc\Render</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Render\Render_D3D1X_Device.h"> - <Filter>CommonSrc\Render</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Render\Render_D3D10_Device.h"> - <Filter>CommonSrc\Render</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Render\Render_D3D11_Device.h"> - <Filter>CommonSrc\Render</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Platform\Gamepad.h"> - <Filter>CommonSrc\Platform</Filter> - </ClInclude> - <ClInclude Include="..\CommonSrc\Platform\Win32_Gamepad.h"> - <Filter>CommonSrc\Platform</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="SensorBoxTest.rc" /> - </ItemGroup> -</Project>
\ No newline at end of file |