lumino 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/Tools/EngineResources/NotoColorEmoji.ttf +0 -0
  3. data/Tools/EngineResources/README.md +4 -0
  4. data/Tools/ProjectTemplates/cpp-cmake/CMakeLists.txt +14 -0
  5. data/Tools/ProjectTemplates/cpp-cmake/assets/LineWave.fx +57 -0
  6. data/Tools/ProjectTemplates/cpp-cmake/assets/icon256.png +0 -0
  7. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/CMakeLists.txt +20 -0
  8. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/Common.h +4 -0
  9. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/EditorMain.cpp +10 -0
  10. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/EditorMain.h +16 -0
  11. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/PCH.cpp +1 -0
  12. data/Tools/ProjectTemplates/cpp-cmake/projects/Editor/PCH.h +9 -0
  13. data/Tools/ProjectTemplates/cpp-cmake/projects/Game/CMakeLists.txt +16 -0
  14. data/Tools/ProjectTemplates/cpp-cmake/projects/Game/PCH.cpp +1 -0
  15. data/Tools/ProjectTemplates/cpp-cmake/projects/Game/PCH.h +8 -0
  16. data/Tools/ProjectTemplates/cpp-cmake/projects/Runtime/CMakeLists.txt +15 -0
  17. data/Tools/ProjectTemplates/cpp-cmake/projects/Runtime/Main.Windows.cpp +29 -0
  18. data/Tools/ProjectTemplates/cpp-cmake/projects/Runtime/PCH.cpp +1 -0
  19. data/Tools/ProjectTemplates/cpp-cmake/projects/Runtime/PCH.h +9 -0
  20. data/Tools/ProjectTemplates/cpp-cmake/src/App.cpp +18 -0
  21. data/Tools/ProjectTemplates/cpp-cmake/src/App.h +12 -0
  22. data/Tools/ProjectTemplates/cpp-default/LuminoApp.sln +25 -0
  23. data/Tools/ProjectTemplates/cpp-default/assets/LineWave.fx +57 -0
  24. data/Tools/ProjectTemplates/cpp-default/assets/icon256.png +0 -0
  25. data/Tools/ProjectTemplates/cpp-default/assets/picture1.jpg +0 -0
  26. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/CMakeLists.txt +64 -0
  27. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/build.gradle +43 -0
  28. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/proguard-rules.pro +21 -0
  29. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/AndroidManifest.xml +24 -0
  30. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/cpp/PCH.cpp +1 -0
  31. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/cpp/PCH.h +4 -0
  32. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/cpp/native-lib.cpp +114 -0
  33. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +34 -0
  34. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
  35. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/layout/activity_main.xml +19 -0
  36. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  37. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  38. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  39. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  40. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  41. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  42. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  43. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  44. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  45. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  46. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  47. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  48. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/values/colors.xml +6 -0
  49. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/values/strings.xml +3 -0
  50. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/app/src/main/res/values/styles.xml +11 -0
  51. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/build.gradle +27 -0
  52. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/gradle.properties +13 -0
  53. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/gradle/wrapper/gradle-wrapper.jar +0 -0
  54. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/gradle/wrapper/gradle-wrapper.properties +6 -0
  55. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/gradlew +172 -0
  56. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/gradlew.bat +84 -0
  57. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Android/settings.gradle +1 -0
  58. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Web/CMakeLists.txt +27 -0
  59. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Web/PCH.cpp +1 -0
  60. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Web/PCH.h +5 -0
  61. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Web/pre.js +13 -0
  62. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/Launch.cpp +30 -0
  63. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/LuminoApp.ico +0 -0
  64. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/LuminoApp.rc +0 -0
  65. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/LuminoApp.vcxproj +117 -0
  66. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/LuminoApp.vcxproj.filters +41 -0
  67. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/PCH.cpp +1 -0
  68. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/PCH.h +6 -0
  69. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/Resource.h +30 -0
  70. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/Resource.rc +0 -0
  71. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/app.ico +0 -0
  72. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/small.ico +0 -0
  73. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.Windows/targetver.h +6 -0
  74. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS.xcodeproj/project.pbxproj +450 -0
  75. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  76. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  77. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/AppDelegate.h +11 -0
  78. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/AppDelegate.mm +70 -0
  79. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json +221 -0
  80. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Assets.xcassets/ColorMap.textureset/Contents.json +17 -0
  81. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Assets.xcassets/ColorMap.textureset/Universal.mipmapset/ColorMap.png +0 -0
  82. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Assets.xcassets/ColorMap.textureset/Universal.mipmapset/Contents.json +12 -0
  83. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Assets.xcassets/Contents.json +6 -0
  84. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Base.lproj/LaunchScreen.storyboard +25 -0
  85. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Base.lproj/Main.storyboard +28 -0
  86. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/GameViewController.h +6 -0
  87. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/GameViewController.mm +26 -0
  88. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Info.plist +50 -0
  89. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Prefix.pch +7 -0
  90. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Renderer.h +9 -0
  91. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/Renderer.mm +52 -0
  92. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/RootGLKView.h +13 -0
  93. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/RootGLKView.mm +10 -0
  94. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.iOS/LuminoApp.iOS/main.mm +9 -0
  95. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS.xcodeproj/project.pbxproj +454 -0
  96. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  97. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  98. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json +58 -0
  99. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Assets.xcassets/ColorMap.textureset/Contents.json +17 -0
  100. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Assets.xcassets/ColorMap.textureset/Universal.mipmapset/ColorMap.png +0 -0
  101. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Assets.xcassets/ColorMap.textureset/Universal.mipmapset/Contents.json +12 -0
  102. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Assets.xcassets/Contents.json +6 -0
  103. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Info.plist +32 -0
  104. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/LuminoApp_macOS.entitlements +10 -0
  105. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/Prefix.pch +8 -0
  106. data/Tools/ProjectTemplates/cpp-default/projects/LuminoApp.macOS/LuminoApp.macOS/main.mm +22 -0
  107. data/Tools/ProjectTemplates/cpp-default/src/App.cpp +16 -0
  108. data/Tools/ProjectTemplates/ruby-default/assets/icon256.png +0 -0
  109. data/Tools/ProjectTemplates/ruby-default/assets/picture1.jpg +0 -0
  110. data/Tools/ProjectTemplates/ruby-default/main.rb +12 -0
  111. data/Tools/lumino-rb.exe +0 -0
  112. data/Tools/vswhere.exe +0 -0
  113. data/bin/console +14 -0
  114. data/bin/setup +8 -0
  115. data/exe/lumino-rb +11 -0
  116. data/ext/FlatC.generated.h +2239 -0
  117. data/ext/FlatCommon.h +176 -0
  118. data/ext/Lumino.RubyExt.generated.cpp +8833 -0
  119. data/ext/LuminoEngine.dll +0 -0
  120. data/ext/LuminoRubyRuntimeManager.cpp +439 -0
  121. data/ext/LuminoRubyRuntimeManager.h +92 -0
  122. data/ext/extconf.rb +9 -0
  123. data/lib/lumino.rb +41 -0
  124. data/lib/lumino/cli.rb +10 -0
  125. data/lib/lumino/version.rb +3 -0
  126. data/test/test_engine.rb +93 -0
  127. data/test/test_struct.rb +44 -0
  128. metadata +214 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 55750d4f3c6f2198a4861767ab93acd5307a265eb38f7ca21f99d9215623ec7b
4
+ data.tar.gz: 84ecc45fe71f8e91a2f87819f573e57d470c904a8fa32be0a843bbdbdc2c21de
5
+ SHA512:
6
+ metadata.gz: 156a139db79f41a30eee59e1a304c505a3e99e2e78de774f196d5d7c5140eb3f0b24b5ddcfcf18b9cea9c91495deb8a279290e6a66265000165b8fce07bc6eca
7
+ data.tar.gz: e7f7ba50cf67405ade5f98f98bd9d61e48505cd64fb40f214ec41544aaad819e86d66c3218ef05882d725dd8eae80643e745029db217ebf9f7d49077a518b685
@@ -0,0 +1,4 @@
1
+ EngineResources
2
+ ==========
3
+
4
+
@@ -0,0 +1,14 @@
1
+ cmake_minimum_required(VERSION 3.1.0)
2
+ project(LuminoApp)
3
+
4
+ if (LUMINO_REPO_ROOT)
5
+ # for engine development
6
+ include(${LUMINO_REPO_ROOT}/tools/CMake/LuminoSetupForEngineDevelopment.cmake)
7
+ else()
8
+ find_package(Lumino)
9
+ endif()
10
+
11
+ add_subdirectory(projects/Game)
12
+ add_subdirectory(projects/Runtime)
13
+ add_subdirectory(projects/Editor)
14
+ set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT Runtime)
@@ -0,0 +1,57 @@
1
+
2
+ struct VS_INPUT
3
+ {
4
+ float4 Pos : POSITION;
5
+ float4 TexUV : TEXCOORD;
6
+ };
7
+
8
+ struct VS_OUTPUT
9
+ {
10
+ float4 Pos : SV_POSITION;
11
+ float4 TexUV : TEXCOORD;
12
+ };
13
+
14
+ VS_OUTPUT vsMain(VS_INPUT input)
15
+ {
16
+ VS_OUTPUT output = (VS_OUTPUT)0;
17
+ output.Pos = input.Pos;
18
+ output.TexUV = input.TexUV;
19
+ return output;
20
+ }
21
+
22
+ struct PS_INPUT
23
+ {
24
+ float4 TexUV : TEXCOORD;
25
+ };
26
+
27
+
28
+ cbuffer ConstBuff
29
+ {
30
+ float time;
31
+ };
32
+
33
+ float4 psMain(PS_INPUT input) : SV_TARGET
34
+ {
35
+ float2 st = input.TexUV;
36
+ st -= 0.5;
37
+ float3 color = float3(0.0, 0.0, 0.0);
38
+ float c = 0.0;
39
+ for (float i = 0; i < 12; i++) {
40
+
41
+ st.x += sin(st.y * 4.0 + time * 2.0 + c * 40.0) * 0.2 * cos(time + (c + 2.0) * 300.0);
42
+ color += (1.0 - float3(pow(abs(st.x), 0.03)));
43
+ c += 1.0;
44
+ }
45
+
46
+ color = float3(color.r * 0.2, color.g * 1.0, color.b * 1.5);
47
+ return float4(color, 1.0);
48
+ }
49
+
50
+ technique MainTech
51
+ {
52
+ pass Pass0
53
+ {
54
+ VertexShader = vsMain;
55
+ PixelShader = psMain;
56
+ }
57
+ }
@@ -0,0 +1,20 @@
1
+ cmake_minimum_required (VERSION 3.0.0)
2
+ project(Editor)
3
+
4
+ #--------------------
5
+ # Files
6
+
7
+ file(GLOB_RECURSE LOCAL_SOURCES *.h *.cpp)
8
+ source_group("src" FILES ${LOCAL_SOURCES})
9
+
10
+ #--------------------
11
+ # Projects
12
+
13
+ add_library(${PROJECT_NAME} SHARED ${LOCAL_SOURCES} "PCH.h" "PCH.cpp")
14
+ target_link_libraries(${PROJECT_NAME} LuminoEngine LuminoEditor)
15
+ set_target_properties(${PROJECT_NAME}
16
+ PROPERTIES
17
+ RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/.ln/Plugins"
18
+ RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/.ln/Plugins"
19
+ )
20
+ ln_add_pch(${PROJECT_NAME} "PCH.h" "PCH.cpp")
@@ -0,0 +1,4 @@
1
+ #pragma once
2
+ //#define LN_MSVC_AUTO_LINK_LIBRARIES
3
+ #include <LuminoEngine.hpp>
4
+ #include <LuminoEditor/Plugin.hpp>
@@ -0,0 +1,10 @@
1
+ #include "EditorMain.h"
2
+
3
+ //==============================================================================
4
+ // EditorExtension
5
+
6
+ EditorExtension::EditorExtension()
7
+ {
8
+ }
9
+
10
+ LUMINO_MODULE(EditorExtension);
@@ -0,0 +1,16 @@
1
+ #pragma once
2
+ #include "Common.h"
3
+
4
+ class EditorExtension : public ln::IPluginModule
5
+ {
6
+ public:
7
+ EditorExtension();
8
+ virtual const ln::Char* moduleId() const { return u"E3E852F4-FA79-4337-80E8-DBDB3F23ED51"; }
9
+ virtual const ln::Char* moduleDisplayName() const { return u"EditorExtension"; }
10
+ virtual int getEditorExtensionCount() { return 0; }
11
+ virtual ln::IEditorExtension* getEditorExtension(int index) { return nullptr; }
12
+ virtual void onActivate(lna::EditorContext* context) {}
13
+ virtual void onDeactivate(lna::EditorContext* context) {}
14
+
15
+ private:
16
+ };
@@ -0,0 +1 @@
1
+ #include "PCH.h"
@@ -0,0 +1,9 @@
1
+ 
2
+ #pragma once
3
+ //#define LN_MSVC_AUTO_LINK_LIBRARIES
4
+ #include <LuminoEngine.hpp>
5
+ #include <LuminoEngine/Effect/EffectContext.hpp>
6
+ #include <Windows.h>
7
+
8
+ template<class T> using Ref = ln::Ref<T>;
9
+
@@ -0,0 +1,16 @@
1
+ cmake_minimum_required(VERSION 3.1.0)
2
+ project(Game)
3
+
4
+ file(GLOB LOCAL_SOURCES "../../src/*.h" "../../src/*.cpp")
5
+ source_group("src" FILES ${LOCAL_SOURCES})
6
+
7
+ set(
8
+ LOCAL_SOURCES
9
+ ${LOCAL_SOURCES}
10
+ )
11
+
12
+ add_library(${PROJECT_NAME} ${LOCAL_SOURCES} "PCH.h" "PCH.cpp")
13
+ target_include_directories(${PROJECT_NAME} PRIVATE .)
14
+ target_link_libraries(${PROJECT_NAME} LuminoEngine)
15
+ ln_add_pch(${PROJECT_NAME} "PCH.h" "PCH.cpp")
16
+
@@ -0,0 +1 @@
1
+ #include "PCH.h"
@@ -0,0 +1,8 @@
1
+ 
2
+ #pragma once
3
+ //#define LN_MSVC_AUTO_LINK_LIBRARIES
4
+ #include <LuminoEngine.hpp>
5
+ #include <LuminoEngine/Effect/EffectContext.hpp>
6
+
7
+ template<class T> using Ref = ln::Ref<T>;
8
+
@@ -0,0 +1,15 @@
1
+ cmake_minimum_required(VERSION 3.0.0)
2
+ project(Runtime)
3
+
4
+ set(
5
+ LOCAL_SOURCES
6
+ PCH.cpp
7
+ PCH.h
8
+ Main.Windows.cpp
9
+ )
10
+ source_group("src" FILES ${LOCAL_SOURCES})
11
+
12
+ add_executable(${PROJECT_NAME} ${LOCAL_SOURCES} "PCH.h" "PCH.cpp")
13
+ target_include_directories(${PROJECT_NAME} PRIVATE .)
14
+ target_link_libraries(${PROJECT_NAME} Game)
15
+ ln_add_pch(${PROJECT_NAME} "PCH.h" "PCH.cpp")
@@ -0,0 +1,29 @@
1
+
2
+ #include <LuminoEngine/Platform/Win32PlatformInterface.hpp>
3
+
4
+ extern "C" ::ln::Application* LuminoCreateApplicationInstance();
5
+
6
+ int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
7
+ _In_opt_ HINSTANCE hPrevInstance,
8
+ _In_ LPWSTR lpCmdLine,
9
+ _In_ int nCmdShow)
10
+ {
11
+ #ifdef LN_DEBUG
12
+ auto projectRoot = ln::Path(ln::Environment::executablePath()).parent().parent().parent().parent().parent();
13
+ ln::EngineSettings::addAssetDirectory(ln::Path::combine(projectRoot, u"Assets"));
14
+ ln::EngineSettings::addAssetDirectory(ln::Path::combine(projectRoot, u".ln", u"Assets"));
15
+ #endif
16
+
17
+ auto archive = u"Assets.lca";
18
+ if (ln::FileSystem::existsFile(archive)) {
19
+ ln::EngineSettings::addAssetArchive(archive, ln::String::Empty);
20
+ }
21
+
22
+ ::ln::Application* app = ::LuminoCreateApplicationInstance();
23
+ return ln::Win32PlatformInterface::WinMain(app);
24
+ }
25
+
26
+ int main(int argc, char** argv)
27
+ {
28
+ return wWinMain(0, 0, 0, 0);
29
+ }
@@ -0,0 +1,9 @@
1
+ 
2
+ #pragma once
3
+ //#define LN_MSVC_AUTO_LINK_LIBRARIES
4
+ #include <LuminoEngine.hpp>
5
+ #include <LuminoEngine/Effect/EffectContext.hpp>
6
+ #include <Windows.h>
7
+
8
+ template<class T> using Ref = ln::Ref<T>;
9
+
@@ -0,0 +1,18 @@
1
+ 
2
+ #include "App.h"
3
+
4
+ HelloApp::HelloApp()
5
+ {
6
+ ln::GlobalLogger::setLevel(ln::LogLevel::Debug);
7
+ }
8
+
9
+ void HelloApp::onStart()
10
+ {
11
+ }
12
+
13
+ void HelloApp::onUpdate()
14
+ {
15
+ }
16
+
17
+ LUMINO_APP(HelloApp);
18
+
@@ -0,0 +1,12 @@
1
+ #pragma once
2
+
3
+ class HelloApp : public ln::Application
4
+ {
5
+ public:
6
+ HelloApp();
7
+ virtual void onStart() override;
8
+ virtual void onUpdate() override;
9
+
10
+ private:
11
+ };
12
+
@@ -0,0 +1,25 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio Version 16
4
+ VisualStudioVersion = 16.0.29613.14
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LuminoApp", "projects\LuminoApp.Windows\LuminoApp.vcxproj", "{8B0FDA31-FE19-481F-9E75-C7701ECAD0A1}"
7
+ EndProject
8
+ Global
9
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
10
+ Debug|x64 = Debug|x64
11
+ Release|x64 = Release|x64
12
+ EndGlobalSection
13
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
14
+ {8B0FDA31-FE19-481F-9E75-C7701ECAD0A1}.Debug|x64.ActiveCfg = Debug|x64
15
+ {8B0FDA31-FE19-481F-9E75-C7701ECAD0A1}.Debug|x64.Build.0 = Debug|x64
16
+ {8B0FDA31-FE19-481F-9E75-C7701ECAD0A1}.Release|x64.ActiveCfg = Release|x64
17
+ {8B0FDA31-FE19-481F-9E75-C7701ECAD0A1}.Release|x64.Build.0 = Release|x64
18
+ EndGlobalSection
19
+ GlobalSection(SolutionProperties) = preSolution
20
+ HideSolutionNode = FALSE
21
+ EndGlobalSection
22
+ GlobalSection(ExtensibilityGlobals) = postSolution
23
+ SolutionGuid = {73F28750-BF50-48FD-B094-0A92DC6E5051}
24
+ EndGlobalSection
25
+ EndGlobal
@@ -0,0 +1,57 @@
1
+
2
+ struct VS_INPUT
3
+ {
4
+ float4 Pos : POSITION;
5
+ float4 TexUV : TEXCOORD;
6
+ };
7
+
8
+ struct VS_OUTPUT
9
+ {
10
+ float4 Pos : SV_POSITION;
11
+ float4 TexUV : TEXCOORD;
12
+ };
13
+
14
+ VS_OUTPUT vsMain(VS_INPUT input)
15
+ {
16
+ VS_OUTPUT output = (VS_OUTPUT)0;
17
+ output.Pos = input.Pos;
18
+ output.TexUV = input.TexUV;
19
+ return output;
20
+ }
21
+
22
+ struct PS_INPUT
23
+ {
24
+ float4 TexUV : TEXCOORD;
25
+ };
26
+
27
+
28
+ cbuffer ConstBuff
29
+ {
30
+ float time;
31
+ };
32
+
33
+ float4 psMain(PS_INPUT input) : SV_TARGET
34
+ {
35
+ float2 st = input.TexUV;
36
+ st -= 0.5;
37
+ float3 color = float3(0.0, 0.0, 0.0);
38
+ float c = 0.0;
39
+ for (float i = 0; i < 12; i++) {
40
+
41
+ st.x += sin(st.y * 4.0 + time * 2.0 + c * 40.0) * 0.2 * cos(time + (c + 2.0) * 300.0);
42
+ color += (1.0 - float3(pow(abs(st.x), 0.03)));
43
+ c += 1.0;
44
+ }
45
+
46
+ color = float3(color.r * 0.2, color.g * 1.0, color.b * 1.5);
47
+ return float4(color, 1.0);
48
+ }
49
+
50
+ technique MainTech
51
+ {
52
+ pass Pass0
53
+ {
54
+ VertexShader = vsMain;
55
+ PixelShader = psMain;
56
+ }
57
+ }
@@ -0,0 +1,64 @@
1
+ cmake_minimum_required(VERSION 3.4.1)
2
+
3
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
4
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
5
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
6
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
7
+
8
+ set(LN_TARGET_ARCH Android-${ANDROID_ABI})
9
+ set(LUMINO_ENGINE_ROOT $ENV{LUMINO_PATH}/Engine/${LN_TARGET_ARCH})
10
+
11
+ list(APPEND CMAKE_FIND_ROOT_PATH ${LUMINO_ENGINE_ROOT}/lib/Android-${ANDROID_ABI})
12
+
13
+ include(${LUMINO_ENGINE_ROOT}/LuminoConfig.cmake)
14
+
15
+ file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_LIST_DIR}/../../../src/*.cpp)
16
+
17
+
18
+ # Creates and names a library, sets it as either STATIC
19
+ # or SHARED, and provides the relative paths to its source code.
20
+ # You can define multiple libraries, and CMake builds them for you.
21
+ # Gradle automatically packages shared libraries with your APK.
22
+
23
+ add_library( # Sets the name of the library.
24
+ native-lib
25
+
26
+ # Sets the library as a shared library.
27
+ SHARED
28
+
29
+ ${SOURCES}
30
+ src/main/cpp/native-lib.cpp
31
+ src/main/cpp/PCH.cpp
32
+ src/main/cpp/PCH.h
33
+ )
34
+ ln_add_pch(native-lib src/main/cpp/PCH.h src/main/cpp/PCH.cpp)
35
+
36
+ # Searches for a specified prebuilt library and stores the path as a
37
+ # variable. Because CMake includes system libraries in the search path by
38
+ # default, you only need to specify the name of the public NDK library
39
+ # you want to add. CMake verifies that the library exists before
40
+ # completing its build.
41
+
42
+ find_library( # Sets the name of the path variable.
43
+ log-lib
44
+
45
+ # Specifies the name of the NDK library that
46
+ # you want CMake to locate.
47
+ log )
48
+
49
+ # Specifies libraries CMake should link to your target library. You
50
+ # can link multiple libraries, such as libraries you define in this
51
+ # build script, prebuilt third-party libraries, or system libraries.
52
+
53
+ target_link_libraries( # Specifies the target library.
54
+ native-lib
55
+
56
+ # Links the target library to the log library
57
+ # included in the NDK.
58
+ ${log-lib}
59
+ EGL
60
+ GLESv3
61
+ m
62
+ z
63
+ LuminoEngine
64
+ )
@@ -0,0 +1,43 @@
1
+ apply plugin: 'com.android.application'
2
+
3
+ android {
4
+ signingConfigs {
5
+ config {
6
+ }
7
+ }
8
+ compileSdkVersion 27
9
+ defaultConfig {
10
+ applicationId "org.lumino.lib.luminoapp"
11
+ minSdkVersion 26
12
+ targetSdkVersion 27
13
+ versionCode 1
14
+ versionName "1.0"
15
+ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
16
+ externalNativeBuild {
17
+ cmake {
18
+ cppFlags "-std=c++14"
19
+ arguments "-DANDROID_STL=c++_shared"
20
+ }
21
+ }
22
+ }
23
+ buildTypes {
24
+ release {
25
+ minifyEnabled false
26
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
27
+ }
28
+ }
29
+ externalNativeBuild {
30
+ cmake {
31
+ path "CMakeLists.txt"
32
+ }
33
+ }
34
+ }
35
+
36
+ dependencies {
37
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
38
+ implementation 'com.android.support:appcompat-v7:27.1.1'
39
+ implementation 'com.android.support.constraint:constraint-layout:1.1.3'
40
+ testImplementation 'junit:junit:4.12'
41
+ androidTestImplementation 'com.android.support.test:runner:1.0.2'
42
+ androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
43
+ }