ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Win32 / sdk_demo / Sources / UI / directx_rendering.h
diff --git a/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Win32/sdk_demo/Sources/UI/directx_rendering.h b/mardrone/ARDrone_SDK_Version_1_8_20110726/Examples/Win32/sdk_demo/Sources/UI/directx_rendering.h
new file mode 100644 (file)
index 0000000..4403c22
--- /dev/null
@@ -0,0 +1,104 @@
+/********************************************************************
+ *
+ *  Parts of the DirectX code are from a tutorial by Microsoft
+ *     which can be found in the Microsoft DirectX SDK June 2010.
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *
+ *  
+ *  The rest of the code is COPYRIGHT PARROT 2010
+ *
+ ********************************************************************
+ *       PARROT - A.R.Drone SDK Windows Client Example
+ *-----------------------------------------------------------------*/
+/**
+ * @file directx_rendering.h 
+ * @brief Header file for the DirectX rendering of the drone video stream.
+ *
+ * @author Stephane Piskorski <stephane.piskorski.ext@parrot.fr>
+ * @date   Sept, 8. 2010
+ *
+ *******************************************************************/
+
+\r
+\r
+//-----------------------------------------------------------------------------\r
+// Display manager for the Win32 SDK Demo application\r
+// Based on the Microsoft DirectX SDK tutorials\r
+//-----------------------------------------------------------------------------\r
+\r
+\r
+#include <Windows.h>\r
+#include <mmsystem.h>\r
+#include <d3dx9.h>\r
+#pragma warning( disable : 4996 ) // disable deprecated warning \r
+#include <strsafe.h>\r
+#pragma warning( default : 4996 )\r
+\r
+#include <win32_custom.h>\r
+\r
+struct CUSTOMVERTEX\r
+{\r
+    D3DXVECTOR3 position; // The position\r
+    D3DCOLOR color;    // The color\r
+    FLOAT tu, tv;   // The texture coordinates\r
+};\r
+\r
+// Our custom FVF, which describes our custom vertex structure\r
+#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1)\r
+\r
+\r
+\r
+//-----------------------------------------------------------------------------\r
+// Name: InitD3D()\r
+// Desc: Initializes Direct3D\r
+//-----------------------------------------------------------------------------\r
+HRESULT InitD3D( HWND hWnd );\r
+//-----------------------------------------------------------------------------\r
+// Name: InitGeometry()\r
+// Desc: Create the textures and vertex buffers\r
+//-----------------------------------------------------------------------------\r
+HRESULT InitGeometry();\r
+\r
+//-----------------------------------------------------------------------------\r
+// Name: D3DChangeTexture()\r
+// Desc: Loads the texture from an external RGB buffer\r
+//-----------------------------------------------------------------------------\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+       void D3DChangeTexture(unsigned char* rgbtexture);\r
+       void D3DChangeTextureSize(int w,int h);\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+//-----------------------------------------------------------------------------\r
+// Name: Cleanup()\r
+// Desc: Releases all previously initialized objects\r
+//-----------------------------------------------------------------------------\r
+VOID Cleanup();\r
+//-----------------------------------------------------------------------------\r
+// Name: SetupMatrices()\r
+// Desc: Sets up the world, view, and projection transform matrices.\r
+//-----------------------------------------------------------------------------\r
+VOID SetupMatrices();\r
+//-----------------------------------------------------------------------------\r
+// Name: Render()\r
+// Desc: Draws the scene\r
+//-----------------------------------------------------------------------------\r
+VOID Render();\r
+//-----------------------------------------------------------------------------\r
+// Name: MsgProc()\r
+// Desc: The window's message handler\r
+//-----------------------------------------------------------------------------\r
+LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );\r
+//-----------------------------------------------------------------------------\r
+
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif
+       #include <VP_Api/vp_api_thread_helper.h>
+       PROTO_THREAD_ROUTINE(directx_renderer_thread, data);
+#ifdef __cplusplus\r
+}\r
+#endif
\ No newline at end of file