summaryrefslogtreecommitdiffstats
path: root/unityplugin/GhostCubeScene/src
diff options
context:
space:
mode:
authorEgor <egor.yusov@gmail.com>2017-12-25 22:15:18 +0000
committerEgor <egor.yusov@gmail.com>2017-12-25 22:15:18 +0000
commit0d2b083616c1d1f8a0fd8882ffc0aaac270081f2 (patch)
tree3d3a0740bd26f1b58fd3a30ed6499543e02eeb2f /unityplugin/GhostCubeScene/src
parentUpdated core & sample submodules (linux implementation) (diff)
downloadDiligentEngine-0d2b083616c1d1f8a0fd8882ffc0aaac270081f2.tar.gz
DiligentEngine-0d2b083616c1d1f8a0fd8882ffc0aaac270081f2.zip
Enabled Unity Emulator on Linux. Linux platform is now fully supported
Diffstat (limited to 'unityplugin/GhostCubeScene/src')
-rw-r--r--unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp23
-rw-r--r--unityplugin/GhostCubeScene/src/LoadPluginFunctions.cpp46
2 files changed, 46 insertions, 23 deletions
diff --git a/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp b/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp
index 6a8f541..74cc10c 100644
--- a/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp
+++ b/unityplugin/GhostCubeScene/src/Android/AndroidMain.cpp
@@ -22,34 +22,11 @@
*/
// This header must be included, otherwise the linker will somehow fail to find android_main()
-#include <unordered_map>
-#include <string>
#include <android_native_app_glue.h>
-#include "IUnityInterface.h"
-
-extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetMatrixFromUnity
- (float m00, float m01, float m02, float m03,
- float m10, float m11, float m12, float m13,
- float m20, float m21, float m22, float m23,
- float m30, float m31, float m32, float m33);
-
-extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetTexturesFromUnity(void* renderTargetHandle, void *depthBufferHandle);
// Actual implementation of the android_main()
void android_main_impl( struct android_app* state );
-
-void *LoadPluginFunction(const char *name)
-{
- static std::unordered_map<std::string, void*> functions_map =
- {
- {"SetMatrixFromUnity", reinterpret_cast<void*>(SetMatrixFromUnity) },
- {"SetTexturesFromUnity", reinterpret_cast<void*>(SetTexturesFromUnity) }
- };
- auto it = functions_map.find(name);
- return it != functions_map.end() ? it->second : nullptr;
-}
-
// When a native library is being loaded, JNI loader looks for the android_main function.
// If the entry does not export that function, it will fail to load. So we have to define
// android_main() in every android native application
diff --git a/unityplugin/GhostCubeScene/src/LoadPluginFunctions.cpp b/unityplugin/GhostCubeScene/src/LoadPluginFunctions.cpp
new file mode 100644
index 0000000..9e0aa66
--- /dev/null
+++ b/unityplugin/GhostCubeScene/src/LoadPluginFunctions.cpp
@@ -0,0 +1,46 @@
+/* Copyright 2015-2017 Egor Yusov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF ANY PROPRIETARY RIGHTS.
+ *
+ * In no event and under no legal theory, whether in tort (including negligence),
+ * contract, or otherwise, unless required by applicable law (such as deliberate
+ * and grossly negligent acts) or agreed to in writing, shall any Contributor be
+ * liable for any damages, including any direct, indirect, special, incidental,
+ * or consequential damages of any character arising as a result of this License or
+ * out of the use or inability to use the software (including but not limited to damages
+ * for loss of goodwill, work stoppage, computer failure or malfunction, or any and
+ * all other commercial damages or losses), even if such Contributor has been advised
+ * of the possibility of such damages.
+ */
+
+#include <unordered_map>
+#include <string>
+
+#include "IUnityInterface.h"
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetMatrixFromUnity
+ (float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33);
+
+extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API SetTexturesFromUnity(void* renderTargetHandle, void *depthBufferHandle);
+
+void *LoadPluginFunction(const char *name)
+{
+ static std::unordered_map<std::string, void*> functions_map =
+ {
+ {"SetMatrixFromUnity", reinterpret_cast<void*>(SetMatrixFromUnity) },
+ {"SetTexturesFromUnity", reinterpret_cast<void*>(SetTexturesFromUnity) }
+ };
+ auto it = functions_map.find(name);
+ return it != functions_map.end() ? it->second : nullptr;
+}