aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-08 08:32:05 +0800
committerchai <chaifix@163.com>2018-11-08 08:32:05 +0800
commit186c68f964868eff0ba543777f47ff036735ef77 (patch)
tree5018aca298c2c7e3d7788e692cbb8f7c778fb2fe
parent78138dc8e08cebff3b8630cab5b54951061844b8 (diff)
*更新粒子系统
-rw-r--r--bin/Jin.exebin2342912 -> 2342912 bytes
-rw-r--r--build/vc++/libjin/libjin.vcxproj3
-rw-r--r--build/vc++/libjin/libjin.vcxproj.filters9
-rw-r--r--src/libjin/Core/je_configuration.h2
-rw-r--r--src/libjin/Graphics/particles/je_particle_emitter.cpp9
-rw-r--r--src/libjin/Graphics/particles/je_particle_system.h2
-rw-r--r--src/libjin/Graphics/shaders/je_shader.h5
-rw-r--r--src/libjin/Math/je_bezier_curve.cpp0
-rw-r--r--src/libjin/Math/je_bezier_curve.h17
-rw-r--r--src/libjin/Math/je_random.cpp15
-rw-r--r--src/libjin/Math/je_random.h18
-rw-r--r--src/lua/modules/graphics/je_lua_graphics.cpp6
12 files changed, 79 insertions, 7 deletions
diff --git a/bin/Jin.exe b/bin/Jin.exe
index a0fe1a8..dd6ce2e 100644
--- a/bin/Jin.exe
+++ b/bin/Jin.exe
Binary files differ
diff --git a/build/vc++/libjin/libjin.vcxproj b/build/vc++/libjin/libjin.vcxproj
index 892229f..9c2be12 100644
--- a/build/vc++/libjin/libjin.vcxproj
+++ b/build/vc++/libjin/libjin.vcxproj
@@ -197,6 +197,7 @@
<ClInclude Include="..\..\..\src\libjin\Input\je_keyboard.h" />
<ClInclude Include="..\..\..\src\libjin\Input\je_mouse.h" />
<ClInclude Include="..\..\..\src\libjin\jin.h" />
+ <ClInclude Include="..\..\..\src\libjin\math\je_bezier_curve.h" />
<ClInclude Include="..\..\..\src\libjin\Math\je_constant.h" />
<ClInclude Include="..\..\..\src\libjin\Math\je_math.h" />
<ClInclude Include="..\..\..\src\libjin\Math\je_matrix.h" />
@@ -262,7 +263,9 @@
<ClCompile Include="..\..\..\src\libjin\Input\je_joypad.cpp" />
<ClCompile Include="..\..\..\src\libjin\Input\je_keyboard.cpp" />
<ClCompile Include="..\..\..\src\libjin\Input\je_mouse.cpp" />
+ <ClCompile Include="..\..\..\src\libjin\math\je_bezier_curve.cpp" />
<ClCompile Include="..\..\..\src\libjin\Math\je_matrix.cpp" />
+ <ClCompile Include="..\..\..\src\libjin\math\je_random.cpp" />
<ClCompile Include="..\..\..\src\libjin\Net\je_net_manager.cpp" />
<ClCompile Include="..\..\..\src\libjin\Net\je_socket.cpp" />
<ClCompile Include="..\..\..\src\libjin\threads\je_thread.cpp" />
diff --git a/build/vc++/libjin/libjin.vcxproj.filters b/build/vc++/libjin/libjin.vcxproj.filters
index 88717b9..1dce461 100644
--- a/build/vc++/libjin/libjin.vcxproj.filters
+++ b/build/vc++/libjin/libjin.vcxproj.filters
@@ -309,6 +309,9 @@
<ClInclude Include="..\..\..\src\libjin\threads\je_thread.h">
<Filter>source\threads</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\src\libjin\math\je_bezier_curve.h">
+ <Filter>source\math</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\src\libjin\README.md">
@@ -469,5 +472,11 @@
<ClCompile Include="..\..\..\src\libjin\threads\je_thread.cpp">
<Filter>source\threads</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\src\libjin\math\je_random.cpp">
+ <Filter>source\math</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\src\libjin\math\je_bezier_curve.cpp">
+ <Filter>source\math</Filter>
+ </ClCompile>
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/src/libjin/Core/je_configuration.h b/src/libjin/Core/je_configuration.h
index 3ef52c8..80e2748 100644
--- a/src/libjin/Core/je_configuration.h
+++ b/src/libjin/Core/je_configuration.h
@@ -53,4 +53,6 @@
#define jin_ai
+#define JIN_EXPORT __declspec(dllexport)
+
#endif // __JE_COMMON_MODULES_H__ \ No newline at end of file
diff --git a/src/libjin/Graphics/particles/je_particle_emitter.cpp b/src/libjin/Graphics/particles/je_particle_emitter.cpp
index ded7b8b..63d3393 100644
--- a/src/libjin/Graphics/particles/je_particle_emitter.cpp
+++ b/src/libjin/Graphics/particles/je_particle_emitter.cpp
@@ -1,5 +1,11 @@
+#include <time.h>
+
+#include "../../math/je_random.h"
+
#include "je_particle_emitter.h"
+using namespace JinEngine::Math;
+
namespace JinEngine
{
namespace Graphics
@@ -7,6 +13,9 @@ namespace JinEngine
namespace Particles
{
+ // Particle emitter
+ static RandomGenerator rnd(time(NULL));
+
ParticleEmitter::ParticleEmitter(ParticleSystem& ps)
: mParticleSystem(ps)
{
diff --git a/src/libjin/Graphics/particles/je_particle_system.h b/src/libjin/Graphics/particles/je_particle_system.h
index 76d86fa..afa96b2 100644
--- a/src/libjin/Graphics/particles/je_particle_system.h
+++ b/src/libjin/Graphics/particles/je_particle_system.h
@@ -54,7 +54,7 @@ namespace JinEngine
void update(float sec);
///
- /// Render particle system it self.
+ /// Render particle system.
///
void render(int x, int y, float sx = 1, float sy = 1, float r = 0, float ax = 0, float ay = 0);
diff --git a/src/libjin/Graphics/shaders/je_shader.h b/src/libjin/Graphics/shaders/je_shader.h
index d89b827..2009e79 100644
--- a/src/libjin/Graphics/shaders/je_shader.h
+++ b/src/libjin/Graphics/shaders/je_shader.h
@@ -25,8 +25,9 @@ namespace JinEngine
///
/// Built in shader program.
///
- /// Built in shader program written with custom shading language called JSL (jin shading language). A JSL
- /// program is compiled into glsl, so most glsl built in functions and structs are available in JSL.
+ /// Built in shader program written with custom shading language called JSL (jin shading language). A
+ /// JSL program is compiled into glsl, so most glsl built in functions and structs are available in
+ /// JSL.
///
class Shader
{
diff --git a/src/libjin/Math/je_bezier_curve.cpp b/src/libjin/Math/je_bezier_curve.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/libjin/Math/je_bezier_curve.cpp
diff --git a/src/libjin/Math/je_bezier_curve.h b/src/libjin/Math/je_bezier_curve.h
new file mode 100644
index 0000000..6925baf
--- /dev/null
+++ b/src/libjin/Math/je_bezier_curve.h
@@ -0,0 +1,17 @@
+#ifndef __JIN_BEZIER_CURVE_H__
+#define __JIN_BEZIER_CURVE_H__
+
+namespace JinEngine
+{
+ namespace Math
+ {
+
+ class BezierCurve
+ {
+
+ };
+
+ } // namespace Math
+} // namespace JinEngine
+
+#endif \ No newline at end of file
diff --git a/src/libjin/Math/je_random.cpp b/src/libjin/Math/je_random.cpp
new file mode 100644
index 0000000..a8f3310
--- /dev/null
+++ b/src/libjin/Math/je_random.cpp
@@ -0,0 +1,15 @@
+#include "je_random.h"
+
+namespace JinEngine
+{
+ namespace Math
+ {
+
+
+
+ RandomGenerator::RandomGenerator()
+ {
+ }
+
+ }
+} \ No newline at end of file
diff --git a/src/libjin/Math/je_random.h b/src/libjin/Math/je_random.h
index ff58918..0bcdec7 100644
--- a/src/libjin/Math/je_random.h
+++ b/src/libjin/Math/je_random.h
@@ -1,14 +1,28 @@
#ifndef __JE_RANDOM_H__
#define __JE_RANDOM_H__
+#include "../common/je_types.h"
+
namespace JinEngine
{
namespace Math
{
+ ///
+ /// A random number generator.
+ ///
+ class RandomGenerator
+ {
+ public:
+ RandomGenerator();
+ explicit RandomGenerator(uint32 seed);
+
+ uint32 rand(uint32 min, uint32 max);
+ float rand(float min, float max);
+ };
- }
-}
+ } // namespace Math
+} // namespace JinEngine
#endif \ No newline at end of file
diff --git a/src/lua/modules/graphics/je_lua_graphics.cpp b/src/lua/modules/graphics/je_lua_graphics.cpp
index c45a939..3befdde 100644
--- a/src/lua/modules/graphics/je_lua_graphics.cpp
+++ b/src/lua/modules/graphics/je_lua_graphics.cpp
@@ -502,8 +502,10 @@ namespace JinEngine
LUA_IMPLEMENT RenderMode strtomode(const char* str)
{
std::string s = std::string(str);
- if (s == "fill") return RenderMode::FILL;
- else if (s == "line") return RenderMode::LINE;
+ if (s == "fill")
+ return RenderMode::FILL;
+ else if (s == "line")
+ return RenderMode::LINE;
else return RenderMode::NONE;
}