d3dut

annotate README @ 1:242535442d04

added license, readme, and gpl headers
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 22 Jun 2013 10:43:12 +0300
parents
children
rev   line source
nuclear@1 1 D3DUT - Direct3D Utility Toolkit
nuclear@1 2 --------------------------------
nuclear@1 3
nuclear@1 4
nuclear@1 5 1. Overview
nuclear@1 6
nuclear@1 7 D3DUT is for Direct3D 11, what GLUT is for OpenGL.
nuclear@1 8
nuclear@1 9 In a nutshell, d3dut handles window creation, Direct3D setup, and event handling,
nuclear@1 10 in an easy and intuitive way. The API is essentially identical to the GLUT API,
nuclear@1 11 allowing you to create multiple D3D windows, and to set up per-window callback
nuclear@1 12 functions for event delivery.
nuclear@1 13
nuclear@1 14 Here is a short snippet that shows how to create a Direct3D 11 window and set up
nuclear@1 15 event handlers with d3dut (a full example program is included under the example
nuclear@1 16 subdirectory):
nuclear@1 17
nuclear@1 18 d3dut_init(&argc, argv);
nuclear@1 19 d3dut_init_window_size(800, 600);
nuclear@1 20 d3dut_init_display_mode(D3DUT_RGB | D3DUT_DEPTH | D3DUT_DOUBLE);
nuclear@1 21 d3dut_create_window("window title");
nuclear@1 22
nuclear@1 23 d3dut_display_func(display);
nuclear@1 24
nuclear@1 25 d3dut_main_loop();
nuclear@1 26
nuclear@1 27 It's that simple, exactly like in GLUT: d3dut_main_loop handles all the event
nuclear@1 28 processing, and calls your registered callbacks. After d3dut_create_window the
nuclear@1 29 Direct3D device, context and swap chain are completely created and initialized
nuclear@1 30 and you may start loading textures, creating vertex buffers, etc.
nuclear@1 31
nuclear@1 32
nuclear@1 33 2. License
nuclear@1 34
nuclear@1 35 Copyright (C) 2013 John Tsiombikas <nuclear@member.fsf.org>
nuclear@1 36 D3DUT is free software. Feel free to use it, modify it, and redistribute it
nuclear@1 37 under the terms of the GNU Lesser General Public License (LGPL) version 3, or
nuclear@1 38 at your option any later version published by the Free Software Foundation.
nuclear@1 39
nuclear@1 40 In simple words, this means that you can link with this library to use it
nuclear@1 41 without any restrictions, for either free or proprietary programs, but if you
nuclear@1 42 make any modifications and use them in any released program or derivative
nuclear@1 43 library, you must release them under these exact same terms.
nuclear@1 44
nuclear@1 45 See COPYING and COPYING.LESSER for the full license text.
nuclear@1 46
nuclear@1 47
nuclear@1 48 3. Contact
nuclear@1 49
nuclear@1 50 Feel free to contact me for any comments or suggestions, bug reports or patches,
nuclear@1 51 through email at: nuclear@member.fsf.org.