aboutsummaryrefslogtreecommitdiff
path: root/demo/DemoApp/meshLoaderGenerated.h
diff options
context:
space:
mode:
authorAndrew Reidmeyer <[email protected]>2017-06-13 20:38:29 -0600
committerAndrew Reidmeyer <[email protected]>2017-06-13 20:38:29 -0600
commit62a1427154131f2387675957c1d2027061f354f0 (patch)
tree4efdcb7d3fe9722d46523a51bc5c90b96f25441e /demo/DemoApp/meshLoaderGenerated.h
parentInitial 1.0.0 binary release (diff)
downloadflow-1.0.1.tar.xz
flow-1.0.1.zip
NvFlow 1.0.1v1.0.1
Diffstat (limited to 'demo/DemoApp/meshLoaderGenerated.h')
-rw-r--r--demo/DemoApp/meshLoaderGenerated.h132
1 files changed, 132 insertions, 0 deletions
diff --git a/demo/DemoApp/meshLoaderGenerated.h b/demo/DemoApp/meshLoaderGenerated.h
new file mode 100644
index 0000000..c931f4f
--- /dev/null
+++ b/demo/DemoApp/meshLoaderGenerated.h
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved.
+*
+* NVIDIA CORPORATION and its licensors retain all intellectual property
+* and proprietary rights in and to this software, related documentation
+* and any modifications thereto. Any use, reproduction, disclosure or
+* distribution of this software and related documentation without an express
+* license agreement from NVIDIA CORPORATION is strictly prohibited.
+*/
+
+typedef MeshContext* (*MeshContextCreate_ptr_t)(const MeshContextDesc* desc);
+typedef void (*MeshContextUpdate_ptr_t)(MeshContext* context, const MeshContextDesc* desc);
+typedef void (*MeshContextRelease_ptr_t)(MeshContext* context);
+typedef MeshIndexBuffer* (*MeshIndexBufferCreate_ptr_t)(MeshContext* context, MeshUint* indices, MeshUint numIndices);
+typedef void (*MeshIndexBufferRelease_ptr_t)(MeshIndexBuffer* buffer);
+typedef MeshVertexBuffer* (*MeshVertexBufferCreate_ptr_t)(MeshContext* context, MeshVertex* vertices, MeshUint numVertices);
+typedef void (*MeshVertexBufferRelease_ptr_t)(MeshVertexBuffer* buffer);
+typedef void (*MeshContextDraw_ptr_t)(MeshContext* context, const MeshContextDrawParams* params);
+typedef MeshContext* (*MeshInteropContextCreate_ptr_t)(AppGraphCtx* appctx);
+typedef void (*MeshInteropContextUpdate_ptr_t)(MeshContext* context, AppGraphCtx* appctx);
+
+struct MeshLoader
+{
+ void* module = nullptr;
+ const char* suffix = "";
+ char buf[1024u];
+
+ MeshContextCreate_ptr_t MeshContextCreate_ptr;
+ MeshContextUpdate_ptr_t MeshContextUpdate_ptr;
+ MeshContextRelease_ptr_t MeshContextRelease_ptr;
+ MeshIndexBufferCreate_ptr_t MeshIndexBufferCreate_ptr;
+ MeshIndexBufferRelease_ptr_t MeshIndexBufferRelease_ptr;
+ MeshVertexBufferCreate_ptr_t MeshVertexBufferCreate_ptr;
+ MeshVertexBufferRelease_ptr_t MeshVertexBufferRelease_ptr;
+ MeshContextDraw_ptr_t MeshContextDraw_ptr;
+ MeshInteropContextCreate_ptr_t MeshInteropContextCreate_ptr;
+ MeshInteropContextUpdate_ptr_t MeshInteropContextUpdate_ptr;
+
+}gMeshLoader;
+
+MeshContext* MeshContextCreate(const MeshContextDesc* desc)
+{
+ return gMeshLoader.MeshContextCreate_ptr(desc);
+}
+
+void MeshContextUpdate(MeshContext* context, const MeshContextDesc* desc)
+{
+ return gMeshLoader.MeshContextUpdate_ptr(context, desc);
+}
+
+void MeshContextRelease(MeshContext* context)
+{
+ return gMeshLoader.MeshContextRelease_ptr(context);
+}
+
+MeshIndexBuffer* MeshIndexBufferCreate(MeshContext* context, MeshUint* indices, MeshUint numIndices)
+{
+ return gMeshLoader.MeshIndexBufferCreate_ptr(context, indices, numIndices);
+}
+
+void MeshIndexBufferRelease(MeshIndexBuffer* buffer)
+{
+ return gMeshLoader.MeshIndexBufferRelease_ptr(buffer);
+}
+
+MeshVertexBuffer* MeshVertexBufferCreate(MeshContext* context, MeshVertex* vertices, MeshUint numVertices)
+{
+ return gMeshLoader.MeshVertexBufferCreate_ptr(context, vertices, numVertices);
+}
+
+void MeshVertexBufferRelease(MeshVertexBuffer* buffer)
+{
+ return gMeshLoader.MeshVertexBufferRelease_ptr(buffer);
+}
+
+void MeshContextDraw(MeshContext* context, const MeshContextDrawParams* params)
+{
+ return gMeshLoader.MeshContextDraw_ptr(context, params);
+}
+
+MeshContext* MeshInteropContextCreate(AppGraphCtx* appctx)
+{
+ return gMeshLoader.MeshInteropContextCreate_ptr(appctx);
+}
+
+void MeshInteropContextUpdate(MeshContext* context, AppGraphCtx* appctx)
+{
+ return gMeshLoader.MeshInteropContextUpdate_ptr(context, appctx);
+}
+
+void* meshLoaderLoadFunction(MeshLoader* inst, const char* name)
+{
+ snprintf(inst->buf, 1024u, "%s%s", name, inst->suffix);
+
+ return SDL_LoadFunction(inst->module, inst->buf);
+}
+
+void loadMesh(AppGraphCtxType type)
+{
+ const char* moduleName = demoAppDLLName(type);
+
+ gMeshLoader.suffix = demoAppBackendSuffix(type);
+
+ gMeshLoader.module = SDL_LoadObject(moduleName);
+
+ gMeshLoader.MeshContextCreate_ptr = (MeshContextCreate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshContextCreate"));
+ gMeshLoader.MeshContextUpdate_ptr = (MeshContextUpdate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshContextUpdate"));
+ gMeshLoader.MeshContextRelease_ptr = (MeshContextRelease_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshContextRelease"));
+ gMeshLoader.MeshIndexBufferCreate_ptr = (MeshIndexBufferCreate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshIndexBufferCreate"));
+ gMeshLoader.MeshIndexBufferRelease_ptr = (MeshIndexBufferRelease_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshIndexBufferRelease"));
+ gMeshLoader.MeshVertexBufferCreate_ptr = (MeshVertexBufferCreate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshVertexBufferCreate"));
+ gMeshLoader.MeshVertexBufferRelease_ptr = (MeshVertexBufferRelease_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshVertexBufferRelease"));
+ gMeshLoader.MeshContextDraw_ptr = (MeshContextDraw_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshContextDraw"));
+ gMeshLoader.MeshInteropContextCreate_ptr = (MeshInteropContextCreate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshInteropContextCreate"));
+ gMeshLoader.MeshInteropContextUpdate_ptr = (MeshInteropContextUpdate_ptr_t)(meshLoaderLoadFunction(&gMeshLoader, "MeshInteropContextUpdate"));
+}
+
+void unloadMesh()
+{
+ gMeshLoader.MeshContextCreate_ptr = nullptr;
+ gMeshLoader.MeshContextUpdate_ptr = nullptr;
+ gMeshLoader.MeshContextRelease_ptr = nullptr;
+ gMeshLoader.MeshIndexBufferCreate_ptr = nullptr;
+ gMeshLoader.MeshIndexBufferRelease_ptr = nullptr;
+ gMeshLoader.MeshVertexBufferCreate_ptr = nullptr;
+ gMeshLoader.MeshVertexBufferRelease_ptr = nullptr;
+ gMeshLoader.MeshContextDraw_ptr = nullptr;
+ gMeshLoader.MeshInteropContextCreate_ptr = nullptr;
+ gMeshLoader.MeshInteropContextUpdate_ptr = nullptr;
+
+ SDL_UnloadObject(gMeshLoader.module);
+}