nuclear@1: D3DUT - Direct3D Utility Toolkit nuclear@1: -------------------------------- nuclear@1: nuclear@1: nuclear@1: 1. Overview nuclear@1: nuclear@1: D3DUT is for Direct3D 11, what GLUT is for OpenGL. nuclear@1: nuclear@1: In a nutshell, d3dut handles window creation, Direct3D setup, and event handling, nuclear@1: in an easy and intuitive way. The API is essentially identical to the GLUT API, nuclear@1: allowing you to create multiple D3D windows, and to set up per-window callback nuclear@1: functions for event delivery. nuclear@1: nuclear@1: Here is a short snippet that shows how to create a Direct3D 11 window and set up nuclear@1: event handlers with d3dut (a full example program is included under the example nuclear@1: subdirectory): nuclear@1: nuclear@1: d3dut_init(&argc, argv); nuclear@1: d3dut_init_window_size(800, 600); nuclear@1: d3dut_init_display_mode(D3DUT_RGB | D3DUT_DEPTH | D3DUT_DOUBLE); nuclear@1: d3dut_create_window("window title"); nuclear@1: nuclear@1: d3dut_display_func(display); nuclear@1: nuclear@1: d3dut_main_loop(); nuclear@1: nuclear@1: It's that simple, exactly like in GLUT: d3dut_main_loop handles all the event nuclear@1: processing, and calls your registered callbacks. After d3dut_create_window the nuclear@1: Direct3D device, context and swap chain are completely created and initialized nuclear@1: and you may start loading textures, creating vertex buffers, etc. nuclear@1: nuclear@1: nuclear@1: 2. License nuclear@1: nuclear@1: Copyright (C) 2013 John Tsiombikas nuclear@1: D3DUT is free software. Feel free to use it, modify it, and redistribute it nuclear@1: under the terms of the GNU Lesser General Public License (LGPL) version 3, or nuclear@1: at your option any later version published by the Free Software Foundation. nuclear@1: nuclear@1: In simple words, this means that you can link with this library to use it nuclear@1: without any restrictions, for either free or proprietary programs, but if you nuclear@1: make any modifications and use them in any released program or derivative nuclear@1: library, you must release them under these exact same terms. nuclear@1: nuclear@1: See COPYING and COPYING.LESSER for the full license text. nuclear@1: nuclear@1: nuclear@1: 3. Contact nuclear@1: nuclear@1: Feel free to contact me for any comments or suggestions, bug reports or patches, nuclear@1: through email at: nuclear@member.fsf.org.