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.
|