compile blueprint

This commit is contained in:
ouczbs 2024-05-18 00:43:22 +08:00
parent bc361cda5d
commit 6c7440ccb3
20 changed files with 4970 additions and 116 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@
.xmake/
build/
vsxmake*/
test/

View File

@ -1,71 +1,66 @@
[
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\application.cpp.obj", "examples\\application\\source\\application.cpp"],
"file": "examples\\application\\source\\application.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\entry_point.cpp.obj", "examples\\application\\source\\entry_point.cpp"],
"file": "examples\\application\\source\\entry_point.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_dx11.cpp.obj", "examples\\application\\source\\imgui_impl_dx11.cpp"],
"file": "examples\\application\\source\\imgui_impl_dx11.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_glfw.cpp.obj", "examples\\application\\source\\imgui_impl_glfw.cpp"],
"file": "examples\\application\\source\\imgui_impl_glfw.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_opengl3.cpp.obj", "examples\\application\\source\\imgui_impl_opengl3.cpp"],
"file": "examples\\application\\source\\imgui_impl_opengl3.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_win32.cpp.obj", "examples\\application\\source\\imgui_impl_win32.cpp"],
"file": "examples\\application\\source\\imgui_impl_win32.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\platform_glfw.cpp.obj", "examples\\application\\source\\platform_glfw.cpp"],
"file": "examples\\application\\source\\platform_glfw.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\platform_win32.cpp.obj", "examples\\application\\source\\platform_win32.cpp"],
"file": "examples\\application\\source\\platform_win32.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\renderer_dx11.cpp.obj", "examples\\application\\source\\renderer_dx11.cpp"],
"file": "examples\\application\\source\\renderer_dx11.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\renderer_ogl3.cpp.obj", "examples\\application\\source\\renderer_ogl3.cpp"],
"file": "examples\\application\\source\\renderer_ogl3.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\builders.cpp.obj", "examples\\blueprints-example\\utilities\\builders.cpp"],
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\builders.cpp.obj", "examples\\blueprints-example\\utilities\\builders.cpp"],
"file": "examples\\blueprints-example\\utilities\\builders.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\drawing.cpp.obj", "examples\\blueprints-example\\utilities\\drawing.cpp"],
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\drawing.cpp.obj", "examples\\blueprints-example\\utilities\\drawing.cpp"],
"file": "examples\\blueprints-example\\utilities\\drawing.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\widgets.cpp.obj", "examples\\blueprints-example\\utilities\\widgets.cpp"],
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\utilities\\widgets.cpp.obj", "examples\\blueprints-example\\utilities\\widgets.cpp"],
"file": "examples\\blueprints-example\\utilities\\widgets.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\1.0.0\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\Administrator\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\blueprints-example.cpp.obj", "examples\\blueprints-example\\blueprints-example.cpp"],
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\blueprints\\windows\\x64\\debug\\examples\\blueprints-example\\blueprints-example.cpp.obj", "examples\\blueprints-example\\blueprints-example.cpp"],
"file": "examples\\blueprints-example\\blueprints-example.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\application.cpp.obj", "examples\\application\\source\\application.cpp"],
"file": "examples\\application\\source\\application.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_dx11.cpp.obj", "examples\\application\\source\\imgui_impl_dx11.cpp"],
"file": "examples\\application\\source\\imgui_impl_dx11.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_glfw.cpp.obj", "examples\\application\\source\\imgui_impl_glfw.cpp"],
"file": "examples\\application\\source\\imgui_impl_glfw.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_opengl3.cpp.obj", "examples\\application\\source\\imgui_impl_opengl3.cpp"],
"file": "examples\\application\\source\\imgui_impl_opengl3.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\imgui_impl_win32.cpp.obj", "examples\\application\\source\\imgui_impl_win32.cpp"],
"file": "examples\\application\\source\\imgui_impl_win32.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\platform_glfw.cpp.obj", "examples\\application\\source\\platform_glfw.cpp"],
"file": "examples\\application\\source\\platform_glfw.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\platform_win32.cpp.obj", "examples\\application\\source\\platform_win32.cpp"],
"file": "examples\\application\\source\\platform_win32.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\renderer_dx11.cpp.obj", "examples\\application\\source\\renderer_dx11.cpp"],
"file": "examples\\application\\source\\renderer_dx11.cpp"
},
{
"directory": "f:\\xmake.repo\\examples\\imgui-node-editor",
"arguments": ["clang.exe", "-c", "-Qunused-arguments", "-m64", "-g", "-O0", "-std=c++20", "-Iexamples\\application\\include", "-DGLFW_INCLUDE_NONE", "-fexceptions", "-fcxx-exceptions", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\i\\imgui-node-editor\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-isystem", "C:\\Users\\ouczbs\\AppData\\Local\\.xmake\\packages\\g\\glfw\\3.4\\f3ef7b01012b41a78d013e07909d2197\\include", "-isystem", "F:\\xmake.repo\\examples\\imgui-node-editor\\build\\.packages\\d\\dxsdk11\\latest\\c58660415038492fbf16afa532c5e70e\\include", "-o", "build\\.objs\\application\\windows\\x64\\debug\\examples\\application\\source\\renderer_ogl3.cpp.obj", "examples\\application\\source\\renderer_ogl3.cpp"],
"file": "examples\\application\\source\\renderer_ogl3.cpp"
}]

View File

@ -53,5 +53,3 @@ private:
ImFont* m_DefaultFont = nullptr;
ImFont* m_HeaderFont = nullptr;
};
int Main(int argc, char** argv);

View File

@ -1,21 +0,0 @@
# include "application.h"
# include "platform.h"
# if PLATFORM(WINDOWS)
# define NOMINMAX
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
# include <stdlib.h> // __argc, argv
# endif
# if defined(_WIN32) && !defined(_CONSOLE)
int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{
return Main(__argc, __argv);
}
# else
int main(int argc, char** argv)
{
return Main(argc, argv);
}
# endif

View File

@ -383,9 +383,9 @@ bool ImGui_ImplDX11_CreateDeviceObjects()
// Create the input layout
D3D11_INPUT_ELEMENT_DESC local_layout[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (size_t)(&((ImDrawVert*)0)->pos), D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, (size_t)(&((ImDrawVert*)0)->uv), D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (size_t)(&((ImDrawVert*)0)->col), D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(ImDrawVert, pos), D3D11_INPUT_PER_VERTEX_DATA, 0},
{ "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, offsetof(ImDrawVert, uv), D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, offsetof(ImDrawVert, col), D3D11_INPUT_PER_VERTEX_DATA, 0 },
};
if (g_pd3dDevice->CreateInputLayout(local_layout, 3, g_pVertexShaderBlob->GetBufferPointer(), g_pVertexShaderBlob->GetBufferSize(), &g_pInputLayout) != S_OK)
return false;

View File

@ -1,7 +1,26 @@
target("application")
set_kind("binary")
set_rundir(".")
add_packages("imgui","imgui-node-editor", "glfw", {public = true})
set_kind("static")
add_syslinks("d3d11",{public = true})
add_packages("imgui","imgui-node-editor", "glfw", "dxsdk11", {public = true})
add_includedirs("include",{public = true})
add_files("source/*.cpp")
add_headerfiles("source/*.h","include/*.h")
add_files("source/*.cpp")
--[[
local cpppath = path.join(os.curdir(),"source/*.cpp")
on_load(function(target)
local files = {}
for __, filepath in ipairs(os.files(cpppath)) do
local filename = path.filename(filepath)
local isAdd = string.sub(filename, 1, string.len("imgui_impl_")) ~= "imgui_impl_"
isAdd = isAdd and string.sub(filename, 1, string.len("renderer_")) ~= "renderer_"
isAdd = isAdd or filename == "imgui_impl_glfw.cpp"
isAdd = isAdd or filename == "imgui_impl_win32.cpp"
if isAdd then
table.insert(files, filepath)
end
end
--table.insert(files, "sources/imgui_impl_glfw.cpp")
target:add("files", files)
end)
]]

View File

@ -1824,7 +1824,7 @@ struct Example:
bool m_ShowOrdinals = false;
};
int Main(int argc, char** argv)
int main(int argc, char** argv)
{
Example exampe("Blueprints", argc, argv);

View File

@ -1,6 +1,6 @@
target("blueprints")
set_kind("binary")
set_rundir(".")
set_rundir(path.join(os.projectdir(), "examples"))
add_deps("application")
add_files("utilities/*.cpp", "*.cpp")
add_headerfiles("utilities/*.h")

View File

@ -5,7 +5,7 @@ set_languages("cxx20")
set_project("imgui-node-editor")
set_toolchains("clang")
add_requires("imgui", "glfw")
add_requires("imgui", "glfw", "dxsdk11")
add_requires("imgui-node-editor")
includes("examples/**.lua")

View File

@ -0,0 +1,74 @@
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) Microsoft Corporation. All Rights Reserved.
//
// File: d3dx11.h
// Content: D3DX11 utility library
//
//////////////////////////////////////////////////////////////////////////////
#ifdef __D3DX11_INTERNAL__
#error Incorrect D3DX11 header used
#endif
#ifndef __D3DX11_H__
#define __D3DX11_H__
// Defines
#include <limits.h>
#include <float.h>
#ifdef ALLOW_THROWING_NEW
#include <new>
#endif
#define D3DX11_DEFAULT ((UINT) -1)
#define D3DX11_FROM_FILE ((UINT) -3)
#define DXGI_FORMAT_FROM_FILE ((DXGI_FORMAT) -3)
#ifndef D3DX11INLINE
#ifdef _MSC_VER
#if (_MSC_VER >= 1200)
#define D3DX11INLINE __forceinline
#else
#define D3DX11INLINE __inline
#endif
#else
#ifdef __cplusplus
#define D3DX11INLINE inline
#else
#define D3DX11INLINE
#endif
#endif
#endif
// Includes
#include "d3d11.h"
#include "d3dx11.h"
#include "d3dx11core.h"
#include "d3dx11tex.h"
#include "d3dx11async.h"
// Errors
#define _FACDD 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
enum _D3DX11_ERR {
D3DX11_ERR_CANNOT_MODIFY_INDEX_BUFFER = MAKE_DDHRESULT(2900),
D3DX11_ERR_INVALID_MESH = MAKE_DDHRESULT(2901),
D3DX11_ERR_CANNOT_ATTR_SORT = MAKE_DDHRESULT(2902),
D3DX11_ERR_SKINNING_NOT_SUPPORTED = MAKE_DDHRESULT(2903),
D3DX11_ERR_TOO_MANY_INFLUENCES = MAKE_DDHRESULT(2904),
D3DX11_ERR_INVALID_DATA = MAKE_DDHRESULT(2905),
D3DX11_ERR_LOADED_MESH_HAS_NO_DATA = MAKE_DDHRESULT(2906),
D3DX11_ERR_DUPLICATE_NAMED_FRAGMENT = MAKE_DDHRESULT(2907),
D3DX11_ERR_CANNOT_REMOVE_LAST_ITEM = MAKE_DDHRESULT(2908),
};
#endif //__D3DX11_H__

View File

@ -0,0 +1,164 @@
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: D3DX11Async.h
// Content: D3DX11 Asynchronous Shader loaders / compilers
//
//////////////////////////////////////////////////////////////////////////////
#ifndef __D3DX11ASYNC_H__
#define __D3DX11ASYNC_H__
#include "d3dx11.h"
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
//----------------------------------------------------------------------------
// D3DX11Compile:
// ------------------
// Compiles an effect or shader.
//
// Parameters:
// pSrcFile
// Source file name.
// hSrcModule
// Module handle. if NULL, current module will be used.
// pSrcResource
// Resource name in module.
// pSrcData
// Pointer to source code.
// SrcDataLen
// Size of source code, in bytes.
// pDefines
// Optional NULL-terminated array of preprocessor macro definitions.
// pInclude
// Optional interface pointer to use for handling #include directives.
// If this parameter is NULL, #includes will be honored when compiling
// from file, and will error when compiling from resource or memory.
// pFunctionName
// Name of the entrypoint function where execution should begin.
// pProfile
// Instruction set to be used when generating code. Currently supported
// profiles are "vs_1_1", "vs_2_0", "vs_2_a", "vs_2_sw", "vs_3_0",
// "vs_3_sw", "vs_4_0", "vs_4_1",
// "ps_2_0", "ps_2_a", "ps_2_b", "ps_2_sw", "ps_3_0",
// "ps_3_sw", "ps_4_0", "ps_4_1",
// "gs_4_0", "gs_4_1",
// "tx_1_0",
// "fx_4_0", "fx_4_1"
// Note that this entrypoint does not compile fx_2_0 targets, for that
// you need to use the D3DX9 function.
// Flags1
// See D3D10_SHADER_xxx flags.
// Flags2
// See D3D10_EFFECT_xxx flags.
// ppShader
// Returns a buffer containing the created shader. This buffer contains
// the compiled shader code, as well as any embedded debug and symbol
// table info. (See D3D10GetShaderConstantTable)
// ppErrorMsgs
// Returns a buffer containing a listing of errors and warnings that were
// encountered during the compile. If you are running in a debugger,
// these are the same messages you will see in your debug output.
// pHResult
// Pointer to a memory location to receive the return value upon completion.
// Maybe NULL if not needed.
// If pPump != NULL, pHResult must be a valid memory location until the
// the asynchronous execution completes.
//----------------------------------------------------------------------------
HRESULT WINAPI D3DX11CompileFromFileA(LPCSTR pSrcFile,CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11CompileFromFileW(LPCWSTR pSrcFile, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CompileFromFile D3DX11CompileFromFileW
#else
#define D3DX11CompileFromFile D3DX11CompileFromFileA
#endif
HRESULT WINAPI D3DX11CompileFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11CompileFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CompileFromResource D3DX11CompileFromResourceW
#else
#define D3DX11CompileFromResource D3DX11CompileFromResourceA
#endif
HRESULT WINAPI D3DX11CompileFromMemory(LPCSTR pSrcData, SIZE_T SrcDataLen, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2, ID3DX11ThreadPump* pPump, ID3D10Blob** ppShader, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11PreprocessShaderFromFileA(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11PreprocessShaderFromFileW(LPCWSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11PreprocessShaderFromMemory(LPCSTR pSrcData, SIZE_T SrcDataSize, LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11PreprocessShaderFromResourceA(HMODULE hModule, LPCSTR pResourceName, LPCSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
HRESULT WINAPI D3DX11PreprocessShaderFromResourceW(HMODULE hModule, LPCWSTR pResourceName, LPCWSTR pSrcFileName, CONST D3D10_SHADER_MACRO* pDefines,
LPD3D10INCLUDE pInclude, ID3DX11ThreadPump *pPump, ID3D10Blob** ppShaderText, ID3D10Blob** ppErrorMsgs, HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileW
#define D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceW
#else
#define D3DX11PreprocessShaderFromFile D3DX11PreprocessShaderFromFileA
#define D3DX11PreprocessShaderFromResource D3DX11PreprocessShaderFromResourceA
#endif
//----------------------------------------------------------------------------
// Async processors
//----------------------------------------------------------------------------
HRESULT WINAPI D3DX11CreateAsyncCompilerProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
LPCSTR pFunctionName, LPCSTR pProfile, UINT Flags1, UINT Flags2,
ID3D10Blob **ppCompiledShader, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);
HRESULT WINAPI D3DX11CreateAsyncShaderPreprocessProcessor(LPCSTR pFileName, CONST D3D10_SHADER_MACRO* pDefines, LPD3D10INCLUDE pInclude,
ID3D10Blob** ppShaderText, ID3D10Blob **ppErrorBuffer, ID3DX11DataProcessor **ppProcessor);
//----------------------------------------------------------------------------
// D3DX11 Asynchronous texture I/O (advanced mode)
//----------------------------------------------------------------------------
HRESULT WINAPI D3DX11CreateAsyncFileLoaderW(LPCWSTR pFileName, ID3DX11DataLoader **ppDataLoader);
HRESULT WINAPI D3DX11CreateAsyncFileLoaderA(LPCSTR pFileName, ID3DX11DataLoader **ppDataLoader);
HRESULT WINAPI D3DX11CreateAsyncMemoryLoader(LPCVOID pData, SIZE_T cbData, ID3DX11DataLoader **ppDataLoader);
HRESULT WINAPI D3DX11CreateAsyncResourceLoaderW(HMODULE hSrcModule, LPCWSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);
HRESULT WINAPI D3DX11CreateAsyncResourceLoaderA(HMODULE hSrcModule, LPCSTR pSrcResource, ID3DX11DataLoader **ppDataLoader);
#ifdef UNICODE
#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderW
#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderW
#else
#define D3DX11CreateAsyncFileLoader D3DX11CreateAsyncFileLoaderA
#define D3DX11CreateAsyncResourceLoader D3DX11CreateAsyncResourceLoaderA
#endif
HRESULT WINAPI D3DX11CreateAsyncTextureProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);
HRESULT WINAPI D3DX11CreateAsyncTextureInfoProcessor(D3DX11_IMAGE_INFO *pImageInfo, ID3DX11DataProcessor **ppDataProcessor);
HRESULT WINAPI D3DX11CreateAsyncShaderResourceViewProcessor(ID3D11Device *pDevice, D3DX11_IMAGE_LOAD_INFO *pLoadInfo, ID3DX11DataProcessor **ppDataProcessor);
#ifdef __cplusplus
}
#endif //__cplusplus
#endif //__D3DX11ASYNC_H__

View File

@ -0,0 +1,128 @@
///////////////////////////////////////////////////////////////////////////
//
// Copyright (C) Microsoft Corporation. All Rights Reserved.
//
// File: d3dx11core.h
// Content: D3DX11 core types and functions
//
///////////////////////////////////////////////////////////////////////////
#include "d3dx11.h"
#ifndef __D3DX11CORE_H__
#define __D3DX11CORE_H__
// Current name of the DLL shipped in the same SDK as this header.
#define D3DX11_DLL_W L"d3dx11_43.dll"
#define D3DX11_DLL_A "d3dx11_43.dll"
#ifdef UNICODE
#define D3DX11_DLL D3DX11_DLL_W
#else
#define D3DX11_DLL D3DX11_DLL_A
#endif
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
///////////////////////////////////////////////////////////////////////////
// D3DX11_SDK_VERSION:
// -----------------
// This identifier is passed to D3DX11CheckVersion in order to ensure that an
// application was built against the correct header files and lib files.
// This number is incremented whenever a header (or other) change would
// require applications to be rebuilt. If the version doesn't match,
// D3DX11CreateVersion will return FALSE. (The number itself has no meaning.)
///////////////////////////////////////////////////////////////////////////
#define D3DX11_SDK_VERSION 43
#ifdef D3D_DIAG_DLL
BOOL WINAPI D3DX11DebugMute(BOOL Mute);
#endif
HRESULT WINAPI D3DX11CheckVersion(UINT D3DSdkVersion, UINT D3DX11SdkVersion);
#ifdef __cplusplus
}
#endif //__cplusplus
//////////////////////////////////////////////////////////////////////////////
// ID3DX11ThreadPump:
//////////////////////////////////////////////////////////////////////////////
#undef INTERFACE
#define INTERFACE ID3DX11DataLoader
DECLARE_INTERFACE(ID3DX11DataLoader)
{
STDMETHOD(Load)(THIS) PURE;
STDMETHOD(Decompress)(THIS_ void **ppData, SIZE_T *pcBytes) PURE;
STDMETHOD(Destroy)(THIS) PURE;
};
#undef INTERFACE
#define INTERFACE ID3DX11DataProcessor
DECLARE_INTERFACE(ID3DX11DataProcessor)
{
STDMETHOD(Process)(THIS_ void *pData, SIZE_T cBytes) PURE;
STDMETHOD(CreateDeviceObject)(THIS_ void **ppDataObject) PURE;
STDMETHOD(Destroy)(THIS) PURE;
};
// {C93FECFA-6967-478a-ABBC-402D90621FCB}
DEFINE_GUID(IID_ID3DX11ThreadPump,
0xc93fecfa, 0x6967, 0x478a, 0xab, 0xbc, 0x40, 0x2d, 0x90, 0x62, 0x1f, 0xcb);
#undef INTERFACE
#define INTERFACE ID3DX11ThreadPump
DECLARE_INTERFACE_(ID3DX11ThreadPump, IUnknown)
{
// IUnknown
STDMETHOD(QueryInterface)(THIS_ REFIID iid, LPVOID *ppv) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
// ID3DX11ThreadPump
STDMETHOD(AddWorkItem)(THIS_ ID3DX11DataLoader *pDataLoader, ID3DX11DataProcessor *pDataProcessor, HRESULT *pHResult, void **ppDeviceObject) PURE;
STDMETHOD_(UINT, GetWorkItemCount)(THIS) PURE;
STDMETHOD(WaitForAllItems)(THIS) PURE;
STDMETHOD(ProcessDeviceWorkItems)(THIS_ UINT iWorkItemCount);
STDMETHOD(PurgeAllItems)(THIS) PURE;
STDMETHOD(GetQueueStatus)(THIS_ UINT *pIoQueue, UINT *pProcessQueue, UINT *pDeviceQueue) PURE;
};
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
HRESULT WINAPI D3DX11CreateThreadPump(UINT cIoThreads, UINT cProcThreads, ID3DX11ThreadPump **ppThreadPump);
HRESULT WINAPI D3DX11UnsetAllDeviceObjects(ID3D11DeviceContext *pContext);
#ifdef __cplusplus
}
#endif //__cplusplus
///////////////////////////////////////////////////////////////////////////
#define _FACD3D 0x876
#define MAKE_D3DHRESULT( code ) MAKE_HRESULT( 1, _FACD3D, code )
#define MAKE_D3DSTATUS( code ) MAKE_HRESULT( 0, _FACD3D, code )
#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
#endif //__D3DX11CORE_H__

View File

@ -0,0 +1,772 @@
//////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) Microsoft Corporation. All Rights Reserved.
//
// File: d3dx11tex.h
// Content: D3DX11 texturing APIs
//
//////////////////////////////////////////////////////////////////////////////
#include "d3dx11.h"
#ifndef __D3DX11TEX_H__
#define __D3DX11TEX_H__
//----------------------------------------------------------------------------
// D3DX11_FILTER flags:
// ------------------
//
// A valid filter must contain one of these values:
//
// D3DX11_FILTER_NONE
// No scaling or filtering will take place. Pixels outside the bounds
// of the source image are assumed to be transparent black.
// D3DX11_FILTER_POINT
// Each destination pixel is computed by sampling the nearest pixel
// from the source image.
// D3DX11_FILTER_LINEAR
// Each destination pixel is computed by linearly interpolating between
// the nearest pixels in the source image. This filter works best
// when the scale on each axis is less than 2.
// D3DX11_FILTER_TRIANGLE
// Every pixel in the source image contributes equally to the
// destination image. This is the slowest of all the filters.
// D3DX11_FILTER_BOX
// Each pixel is computed by averaging a 2x2(x2) box pixels from
// the source image. Only works when the dimensions of the
// destination are half those of the source. (as with mip maps)
//
// And can be OR'd with any of these optional flags:
//
// D3DX11_FILTER_MIRROR_U
// Indicates that pixels off the edge of the texture on the U-axis
// should be mirrored, not wraped.
// D3DX11_FILTER_MIRROR_V
// Indicates that pixels off the edge of the texture on the V-axis
// should be mirrored, not wraped.
// D3DX11_FILTER_MIRROR_W
// Indicates that pixels off the edge of the texture on the W-axis
// should be mirrored, not wraped.
// D3DX11_FILTER_MIRROR
// Same as specifying D3DX11_FILTER_MIRROR_U | D3DX11_FILTER_MIRROR_V |
// D3DX11_FILTER_MIRROR_V
// D3DX11_FILTER_DITHER
// Dithers the resulting image using a 4x4 order dither pattern.
// D3DX11_FILTER_SRGB_IN
// Denotes that the input data is in sRGB (gamma 2.2) colorspace.
// D3DX11_FILTER_SRGB_OUT
// Denotes that the output data is in sRGB (gamma 2.2) colorspace.
// D3DX11_FILTER_SRGB
// Same as specifying D3DX11_FILTER_SRGB_IN | D3DX11_FILTER_SRGB_OUT
//
//----------------------------------------------------------------------------
typedef enum D3DX11_FILTER_FLAG
{
D3DX11_FILTER_NONE = (1 << 0),
D3DX11_FILTER_POINT = (2 << 0),
D3DX11_FILTER_LINEAR = (3 << 0),
D3DX11_FILTER_TRIANGLE = (4 << 0),
D3DX11_FILTER_BOX = (5 << 0),
D3DX11_FILTER_MIRROR_U = (1 << 16),
D3DX11_FILTER_MIRROR_V = (2 << 16),
D3DX11_FILTER_MIRROR_W = (4 << 16),
D3DX11_FILTER_MIRROR = (7 << 16),
D3DX11_FILTER_DITHER = (1 << 19),
D3DX11_FILTER_DITHER_DIFFUSION= (2 << 19),
D3DX11_FILTER_SRGB_IN = (1 << 21),
D3DX11_FILTER_SRGB_OUT = (2 << 21),
D3DX11_FILTER_SRGB = (3 << 21),
} D3DX11_FILTER_FLAG;
//----------------------------------------------------------------------------
// D3DX11_NORMALMAP flags:
// ---------------------
// These flags are used to control how D3DX11ComputeNormalMap generates normal
// maps. Any number of these flags may be OR'd together in any combination.
//
// D3DX11_NORMALMAP_MIRROR_U
// Indicates that pixels off the edge of the texture on the U-axis
// should be mirrored, not wraped.
// D3DX11_NORMALMAP_MIRROR_V
// Indicates that pixels off the edge of the texture on the V-axis
// should be mirrored, not wraped.
// D3DX11_NORMALMAP_MIRROR
// Same as specifying D3DX11_NORMALMAP_MIRROR_U | D3DX11_NORMALMAP_MIRROR_V
// D3DX11_NORMALMAP_INVERTSIGN
// Inverts the direction of each normal
// D3DX11_NORMALMAP_COMPUTE_OCCLUSION
// Compute the per pixel Occlusion term and encodes it into the alpha.
// An Alpha of 1 means that the pixel is not obscured in anyway, and
// an alpha of 0 would mean that the pixel is completly obscured.
//
//----------------------------------------------------------------------------
typedef enum D3DX11_NORMALMAP_FLAG
{
D3DX11_NORMALMAP_MIRROR_U = (1 << 16),
D3DX11_NORMALMAP_MIRROR_V = (2 << 16),
D3DX11_NORMALMAP_MIRROR = (3 << 16),
D3DX11_NORMALMAP_INVERTSIGN = (8 << 16),
D3DX11_NORMALMAP_COMPUTE_OCCLUSION = (16 << 16),
} D3DX11_NORMALMAP_FLAG;
//----------------------------------------------------------------------------
// D3DX11_CHANNEL flags:
// -------------------
// These flags are used by functions which operate on or more channels
// in a texture.
//
// D3DX11_CHANNEL_RED
// Indicates the red channel should be used
// D3DX11_CHANNEL_BLUE
// Indicates the blue channel should be used
// D3DX11_CHANNEL_GREEN
// Indicates the green channel should be used
// D3DX11_CHANNEL_ALPHA
// Indicates the alpha channel should be used
// D3DX11_CHANNEL_LUMINANCE
// Indicates the luminaces of the red green and blue channels should be
// used.
//
//----------------------------------------------------------------------------
typedef enum D3DX11_CHANNEL_FLAG
{
D3DX11_CHANNEL_RED = (1 << 0),
D3DX11_CHANNEL_BLUE = (1 << 1),
D3DX11_CHANNEL_GREEN = (1 << 2),
D3DX11_CHANNEL_ALPHA = (1 << 3),
D3DX11_CHANNEL_LUMINANCE = (1 << 4),
} D3DX11_CHANNEL_FLAG;
//----------------------------------------------------------------------------
// D3DX11_IMAGE_FILE_FORMAT:
// ---------------------
// This enum is used to describe supported image file formats.
//
//----------------------------------------------------------------------------
typedef enum D3DX11_IMAGE_FILE_FORMAT
{
D3DX11_IFF_BMP = 0,
D3DX11_IFF_JPG = 1,
D3DX11_IFF_PNG = 3,
D3DX11_IFF_DDS = 4,
D3DX11_IFF_TIFF = 10,
D3DX11_IFF_GIF = 11,
D3DX11_IFF_WMP = 12,
D3DX11_IFF_FORCE_DWORD = 0x7fffffff
} D3DX11_IMAGE_FILE_FORMAT;
//----------------------------------------------------------------------------
// D3DX11_SAVE_TEXTURE_FLAG:
// ---------------------
// This enum is used to support texture saving options.
//
//----------------------------------------------------------------------------
typedef enum D3DX11_SAVE_TEXTURE_FLAG
{
D3DX11_STF_USEINPUTBLOB = 0x0001,
} D3DX11_SAVE_TEXTURE_FLAG;
//----------------------------------------------------------------------------
// D3DX11_IMAGE_INFO:
// ---------------
// This structure is used to return a rough description of what the
// the original contents of an image file looked like.
//
// Width
// Width of original image in pixels
// Height
// Height of original image in pixels
// Depth
// Depth of original image in pixels
// ArraySize
// Array size in textures
// MipLevels
// Number of mip levels in original image
// MiscFlags
// Miscellaneous flags
// Format
// D3D format which most closely describes the data in original image
// ResourceDimension
// D3D11_RESOURCE_DIMENSION representing the dimension of texture stored in the file.
// D3D11_RESOURCE_DIMENSION_TEXTURE1D, 2D, 3D
// ImageFileFormat
// D3DX11_IMAGE_FILE_FORMAT representing the format of the image file.
//----------------------------------------------------------------------------
typedef struct D3DX11_IMAGE_INFO
{
UINT Width;
UINT Height;
UINT Depth;
UINT ArraySize;
UINT MipLevels;
UINT MiscFlags;
DXGI_FORMAT Format;
D3D11_RESOURCE_DIMENSION ResourceDimension;
D3DX11_IMAGE_FILE_FORMAT ImageFileFormat;
} D3DX11_IMAGE_INFO;
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
//////////////////////////////////////////////////////////////////////////////
// Image File APIs ///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3DX11_IMAGE_LOAD_INFO:
// ---------------
// This structure can be optionally passed in to texture loader APIs to
// control how textures get loaded. Pass in D3DX11_DEFAULT for any of these
// to have D3DX automatically pick defaults based on the source file.
//
// Width
// Rescale texture to Width texels wide
// Height
// Rescale texture to Height texels high
// Depth
// Rescale texture to Depth texels deep
// FirstMipLevel
// First mip level to load
// MipLevels
// Number of mip levels to load after the first level
// Usage
// D3D11_USAGE flag for the new texture
// BindFlags
// D3D11 Bind flags for the new texture
// CpuAccessFlags
// D3D11 CPU Access flags for the new texture
// MiscFlags
// Reserved. Must be 0
// Format
// Resample texture to the specified format
// Filter
// Filter the texture using the specified filter (only when resampling)
// MipFilter
// Filter the texture mip levels using the specified filter (only if
// generating mips)
// pSrcInfo
// (optional) pointer to a D3DX11_IMAGE_INFO structure that will get
// populated with source image information
//----------------------------------------------------------------------------
typedef struct D3DX11_IMAGE_LOAD_INFO
{
UINT Width;
UINT Height;
UINT Depth;
UINT FirstMipLevel;
UINT MipLevels;
D3D11_USAGE Usage;
UINT BindFlags;
UINT CpuAccessFlags;
UINT MiscFlags;
DXGI_FORMAT Format;
UINT Filter;
UINT MipFilter;
D3DX11_IMAGE_INFO* pSrcInfo;
#ifdef __cplusplus
D3DX11_IMAGE_LOAD_INFO()
{
Width = D3DX11_DEFAULT;
Height = D3DX11_DEFAULT;
Depth = D3DX11_DEFAULT;
FirstMipLevel = D3DX11_DEFAULT;
MipLevels = D3DX11_DEFAULT;
Usage = (D3D11_USAGE) D3DX11_DEFAULT;
BindFlags = D3DX11_DEFAULT;
CpuAccessFlags = D3DX11_DEFAULT;
MiscFlags = D3DX11_DEFAULT;
Format = DXGI_FORMAT_FROM_FILE;
Filter = D3DX11_DEFAULT;
MipFilter = D3DX11_DEFAULT;
pSrcInfo = NULL;
}
#endif
} D3DX11_IMAGE_LOAD_INFO;
//-------------------------------------------------------------------------------
// GetImageInfoFromFile/Resource/Memory:
// ------------------------------
// Fills in a D3DX11_IMAGE_INFO struct with information about an image file.
//
// Parameters:
// pSrcFile
// File name of the source image.
// pSrcModule
// Module where resource is located, or NULL for module associated
// with image the os used to create the current process.
// pSrcResource
// Resource name.
// pSrcData
// Pointer to file in memory.
// SrcDataSize
// Size in bytes of file in memory.
// pPump
// Optional pointer to a thread pump object to use.
// pSrcInfo
// Pointer to a D3DX11_IMAGE_INFO structure to be filled in with the
// description of the data in the source image file.
// pHResult
// Pointer to a memory location to receive the return value upon completion.
// Maybe NULL if not needed.
// If pPump != NULL, pHResult must be a valid memory location until the
// the asynchronous execution completes.
//-------------------------------------------------------------------------------
HRESULT WINAPI
D3DX11GetImageInfoFromFileA(
LPCSTR pSrcFile,
ID3DX11ThreadPump* pPump,
D3DX11_IMAGE_INFO* pSrcInfo,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11GetImageInfoFromFileW(
LPCWSTR pSrcFile,
ID3DX11ThreadPump* pPump,
D3DX11_IMAGE_INFO* pSrcInfo,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileW
#else
#define D3DX11GetImageInfoFromFile D3DX11GetImageInfoFromFileA
#endif
HRESULT WINAPI
D3DX11GetImageInfoFromResourceA(
HMODULE hSrcModule,
LPCSTR pSrcResource,
ID3DX11ThreadPump* pPump,
D3DX11_IMAGE_INFO* pSrcInfo,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11GetImageInfoFromResourceW(
HMODULE hSrcModule,
LPCWSTR pSrcResource,
ID3DX11ThreadPump* pPump,
D3DX11_IMAGE_INFO* pSrcInfo,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceW
#else
#define D3DX11GetImageInfoFromResource D3DX11GetImageInfoFromResourceA
#endif
HRESULT WINAPI
D3DX11GetImageInfoFromMemory(
LPCVOID pSrcData,
SIZE_T SrcDataSize,
ID3DX11ThreadPump* pPump,
D3DX11_IMAGE_INFO* pSrcInfo,
HRESULT* pHResult);
//////////////////////////////////////////////////////////////////////////////
// Create/Save Texture APIs //////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3DX11CreateTextureFromFile/Resource/Memory:
// D3DX11CreateShaderResourceViewFromFile/Resource/Memory:
// -----------------------------------
// Create a texture object from a file or resource.
//
// Parameters:
//
// pDevice
// The D3D device with which the texture is going to be used.
// pSrcFile
// File name.
// hSrcModule
// Module handle. if NULL, current module will be used.
// pSrcResource
// Resource name in module
// pvSrcData
// Pointer to file in memory.
// SrcDataSize
// Size in bytes of file in memory.
// pLoadInfo
// Optional pointer to a D3DX11_IMAGE_LOAD_INFO structure that
// contains additional loader parameters.
// pPump
// Optional pointer to a thread pump object to use.
// ppTexture
// [out] Created texture object.
// ppShaderResourceView
// [out] Shader resource view object created.
// pHResult
// Pointer to a memory location to receive the return value upon completion.
// Maybe NULL if not needed.
// If pPump != NULL, pHResult must be a valid memory location until the
// the asynchronous execution completes.
//
//----------------------------------------------------------------------------
// FromFile
HRESULT WINAPI
D3DX11CreateShaderResourceViewFromFileA(
ID3D11Device* pDevice,
LPCSTR pSrcFile,
D3DX11_IMAGE_LOAD_INFO *pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11ShaderResourceView** ppShaderResourceView,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11CreateShaderResourceViewFromFileW(
ID3D11Device* pDevice,
LPCWSTR pSrcFile,
D3DX11_IMAGE_LOAD_INFO *pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11ShaderResourceView** ppShaderResourceView,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileW
#else
#define D3DX11CreateShaderResourceViewFromFile D3DX11CreateShaderResourceViewFromFileA
#endif
HRESULT WINAPI
D3DX11CreateTextureFromFileA(
ID3D11Device* pDevice,
LPCSTR pSrcFile,
D3DX11_IMAGE_LOAD_INFO *pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11Resource** ppTexture,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11CreateTextureFromFileW(
ID3D11Device* pDevice,
LPCWSTR pSrcFile,
D3DX11_IMAGE_LOAD_INFO *pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11Resource** ppTexture,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileW
#else
#define D3DX11CreateTextureFromFile D3DX11CreateTextureFromFileA
#endif
// FromResource (resources in dll/exes)
HRESULT WINAPI
D3DX11CreateShaderResourceViewFromResourceA(
ID3D11Device* pDevice,
HMODULE hSrcModule,
LPCSTR pSrcResource,
D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11ShaderResourceView** ppShaderResourceView,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11CreateShaderResourceViewFromResourceW(
ID3D11Device* pDevice,
HMODULE hSrcModule,
LPCWSTR pSrcResource,
D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11ShaderResourceView** ppShaderResourceView,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceW
#else
#define D3DX11CreateShaderResourceViewFromResource D3DX11CreateShaderResourceViewFromResourceA
#endif
HRESULT WINAPI
D3DX11CreateTextureFromResourceA(
ID3D11Device* pDevice,
HMODULE hSrcModule,
LPCSTR pSrcResource,
D3DX11_IMAGE_LOAD_INFO *pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11Resource** ppTexture,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11CreateTextureFromResourceW(
ID3D11Device* pDevice,
HMODULE hSrcModule,
LPCWSTR pSrcResource,
D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11Resource** ppTexture,
HRESULT* pHResult);
#ifdef UNICODE
#define D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceW
#else
#define D3DX11CreateTextureFromResource D3DX11CreateTextureFromResourceA
#endif
// FromFileInMemory
HRESULT WINAPI
D3DX11CreateShaderResourceViewFromMemory(
ID3D11Device* pDevice,
LPCVOID pSrcData,
SIZE_T SrcDataSize,
D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11ShaderResourceView** ppShaderResourceView,
HRESULT* pHResult);
HRESULT WINAPI
D3DX11CreateTextureFromMemory(
ID3D11Device* pDevice,
LPCVOID pSrcData,
SIZE_T SrcDataSize,
D3DX11_IMAGE_LOAD_INFO* pLoadInfo,
ID3DX11ThreadPump* pPump,
ID3D11Resource** ppTexture,
HRESULT* pHResult);
//////////////////////////////////////////////////////////////////////////////
// Misc Texture APIs /////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------------
// D3DX11_TEXTURE_LOAD_INFO:
// ------------------------
//
//----------------------------------------------------------------------------
typedef struct _D3DX11_TEXTURE_LOAD_INFO
{
D3D11_BOX *pSrcBox;
D3D11_BOX *pDstBox;
UINT SrcFirstMip;
UINT DstFirstMip;
UINT NumMips;
UINT SrcFirstElement;
UINT DstFirstElement;
UINT NumElements;
UINT Filter;
UINT MipFilter;
#ifdef __cplusplus
_D3DX11_TEXTURE_LOAD_INFO()
{
pSrcBox = NULL;
pDstBox = NULL;
SrcFirstMip = 0;
DstFirstMip = 0;
NumMips = D3DX11_DEFAULT;
SrcFirstElement = 0;
DstFirstElement = 0;
NumElements = D3DX11_DEFAULT;
Filter = D3DX11_DEFAULT;
MipFilter = D3DX11_DEFAULT;
}
#endif
} D3DX11_TEXTURE_LOAD_INFO;
//----------------------------------------------------------------------------
// D3DX11LoadTextureFromTexture:
// ----------------------------
// Load a texture from a texture.
//
// Parameters:
//
//----------------------------------------------------------------------------
HRESULT WINAPI
D3DX11LoadTextureFromTexture(
ID3D11DeviceContext *pContext,
ID3D11Resource *pSrcTexture,
D3DX11_TEXTURE_LOAD_INFO *pLoadInfo,
ID3D11Resource *pDstTexture);
//----------------------------------------------------------------------------
// D3DX11FilterTexture:
// ------------------
// Filters mipmaps levels of a texture.
//
// Parameters:
// pBaseTexture
// The texture object to be filtered
// SrcLevel
// The level whose image is used to generate the subsequent levels.
// MipFilter
// D3DX11_FILTER flags controlling how each miplevel is filtered.
// Or D3DX11_DEFAULT for D3DX11_FILTER_BOX,
//
//----------------------------------------------------------------------------
HRESULT WINAPI
D3DX11FilterTexture(
ID3D11DeviceContext *pContext,
ID3D11Resource *pTexture,
UINT SrcLevel,
UINT MipFilter);
//----------------------------------------------------------------------------
// D3DX11SaveTextureToFile:
// ----------------------
// Save a texture to a file.
//
// Parameters:
// pDestFile
// File name of the destination file
// DestFormat
// D3DX11_IMAGE_FILE_FORMAT specifying file format to use when saving.
// pSrcTexture
// Source texture, containing the image to be saved
//
//----------------------------------------------------------------------------
HRESULT WINAPI
D3DX11SaveTextureToFileA(
ID3D11DeviceContext *pContext,
ID3D11Resource *pSrcTexture,
D3DX11_IMAGE_FILE_FORMAT DestFormat,
LPCSTR pDestFile);
HRESULT WINAPI
D3DX11SaveTextureToFileW(
ID3D11DeviceContext *pContext,
ID3D11Resource *pSrcTexture,
D3DX11_IMAGE_FILE_FORMAT DestFormat,
LPCWSTR pDestFile);
#ifdef UNICODE
#define D3DX11SaveTextureToFile D3DX11SaveTextureToFileW
#else
#define D3DX11SaveTextureToFile D3DX11SaveTextureToFileA
#endif
//----------------------------------------------------------------------------
// D3DX11SaveTextureToMemory:
// ----------------------
// Save a texture to a blob.
//
// Parameters:
// pSrcTexture
// Source texture, containing the image to be saved
// DestFormat
// D3DX11_IMAGE_FILE_FORMAT specifying file format to use when saving.
// ppDestBuf
// address of a d3dxbuffer pointer to return the image data
// Flags
// optional flags
//----------------------------------------------------------------------------
HRESULT WINAPI
D3DX11SaveTextureToMemory(
ID3D11DeviceContext *pContext,
ID3D11Resource* pSrcTexture,
D3DX11_IMAGE_FILE_FORMAT DestFormat,
ID3D10Blob** ppDestBuf,
UINT Flags);
//----------------------------------------------------------------------------
// D3DX11ComputeNormalMap:
// ---------------------
// Converts a height map into a normal map. The (x,y,z) components of each
// normal are mapped to the (r,g,b) channels of the output texture.
//
// Parameters
// pSrcTexture
// Pointer to the source heightmap texture
// Flags
// D3DX11_NORMALMAP flags
// Channel
// D3DX11_CHANNEL specifying source of height information
// Amplitude
// The constant value which the height information is multiplied by.
// pDestTexture
// Pointer to the destination texture
//---------------------------------------------------------------------------
HRESULT WINAPI
D3DX11ComputeNormalMap(
ID3D11DeviceContext *pContext,
ID3D11Texture2D *pSrcTexture,
UINT Flags,
UINT Channel,
FLOAT Amplitude,
ID3D11Texture2D *pDestTexture);
//----------------------------------------------------------------------------
// D3DX11SHProjectCubeMap:
// ----------------------
// Projects a function represented in a cube map into spherical harmonics.
//
// Parameters:
// Order
// Order of the SH evaluation, generates Order^2 coefs, degree is Order-1
// pCubeMap
// CubeMap that is going to be projected into spherical harmonics
// pROut
// Output SH vector for Red.
// pGOut
// Output SH vector for Green
// pBOut
// Output SH vector for Blue
//
//---------------------------------------------------------------------------
HRESULT WINAPI
D3DX11SHProjectCubeMap(
ID3D11DeviceContext *pContext,
__in_range(2,6) UINT Order,
ID3D11Texture2D *pCubeMap,
__out_ecount(Order*Order) FLOAT *pROut,
__out_ecount_opt(Order*Order) FLOAT *pGOut,
__out_ecount_opt(Order*Order) FLOAT *pBOut);
#ifdef __cplusplus
}
#endif //__cplusplus
#endif //__D3DX11TEX_H__

View File

@ -0,0 +1,76 @@
//--------------------------------------------------------------------------------------
// File: DXErr.h
//
// DirectX Error Library
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
// This version only supports UNICODE.
#pragma once
#include <windows.h>
#include <sal.h>
#ifdef __cplusplus
extern "C" {
#endif
//--------------------------------------------------------------------------------------
// DXGetErrorString
//--------------------------------------------------------------------------------------
const WCHAR* WINAPI DXGetErrorStringW( _In_ HRESULT hr );
#define DXGetErrorString DXGetErrorStringW
//--------------------------------------------------------------------------------------
// DXGetErrorDescription has to be modified to return a copy in a buffer rather than
// the original static string.
//--------------------------------------------------------------------------------------
void WINAPI DXGetErrorDescriptionW( _In_ HRESULT hr, _Out_cap_(count) WCHAR* desc, _In_ size_t count );
#define DXGetErrorDescription DXGetErrorDescriptionW
//--------------------------------------------------------------------------------------
// DXTrace
//
// Desc: Outputs a formatted error message to the debug stream
//
// Args: WCHAR* strFile The current file, typically passed in using the
// __FILEW__ macro.
// DWORD dwLine The current line number, typically passed in using the
// __LINE__ macro.
// HRESULT hr An HRESULT that will be traced to the debug stream.
// CHAR* strMsg A string that will be traced to the debug stream (may be NULL)
// BOOL bPopMsgBox If TRUE, then a message box will popup also containing the passed info.
//
// Return: The hr that was passed in.
//--------------------------------------------------------------------------------------
HRESULT WINAPI DXTraceW( _In_z_ const WCHAR* strFile, _In_ DWORD dwLine, _In_ HRESULT hr, _In_opt_ const WCHAR* strMsg, _In_ bool bPopMsgBox );
#define DXTrace DXTraceW
//--------------------------------------------------------------------------------------
//
// Helper macros
//
//--------------------------------------------------------------------------------------
#if defined(DEBUG) || defined(_DEBUG)
#define DXTRACE_MSG(str) DXTrace( __FILEW__, (DWORD)__LINE__, 0, str, false )
#define DXTRACE_ERR(str,hr) DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, false )
#define DXTRACE_ERR_MSGBOX(str,hr) DXTrace( __FILEW__, (DWORD)__LINE__, hr, str, true )
#else
#define DXTRACE_MSG(str) (0L)
#define DXTRACE_ERR(str,hr) (hr)
#define DXTRACE_ERR_MSGBOX(str,hr) (hr)
#endif
#ifdef __cplusplus
}
#endif //__cplusplus

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
target("dxsdk11")
set_kind("static")
add_cxxflags("-Wno-narrowing", {force = true})
add_includedirs("include",{public = true})
add_files("src/*.cpp")
add_headerfiles("include/*.h")

View File

@ -0,0 +1,6 @@
package("dxsdk11")
set_sourcedir(path.join(os.scriptdir(), "latest"))
on_install(function(package)
import("package.tools.xmake").install(package, {})
end)

View File

@ -4,4 +4,4 @@ target("imgui-node-editor")
add_files("src/*.cpp")
add_includedirs("include",{public = true})
add_packages("imgui")
add_headerfiles("src/*.h","src/*.inl")
add_headerfiles("src/*.h","src/*.inl","include/*.h")

View File

@ -1,28 +1,6 @@
package("imgui-node-editor")
set_homepage("https://github.com/thedmd/imgui-node-editor")
set_description("Node Editor for dear imgui")
set_sourcedir("src")
add_versions("1.0.0", "d41d8cd98f00b204e9800998ecf8427e")
add_deps("imgui")
on_install(function (package)
os.cp("*", package:installdir())
end)
on_load(function (package)
package:addenv("includedirs", package:installdir("include"))
end)
add_links("imgui-node-editor")
add_includedirs("include")
package("imgui-node-editor")
--[[
https://github.com/thedmd/imgui-node-editor
v0.9.3
]]
set_description("Node Editor for dear imgui v0.9.3")
set_sourcedir(path.join(os.scriptdir(), "latest"))
on_install(function(package)

View File

@ -1,8 +1,6 @@
package("imgui")
--[[
https://github.com/ocornut/imgui
v1.90.6
]]
set_homepage("https://github.com/ocornut/imgui")
set_description("v1.90.6")
set_sourcedir(path.join(os.scriptdir(), "latest"))
on_install(function(package)