├── Bin
├── CoreData
│ ├── Materials
│ │ └── DefaultGrey.xml
│ ├── RenderPaths
│ │ ├── Deferred.xml
│ │ ├── Forward.xml
│ │ ├── ForwardDepth.xml
│ │ ├── Prepass.xml
│ │ └── PrepassHDR.xml
│ ├── Shaders
│ │ ├── GLSL
│ │ │ ├── AutoExposure.glsl
│ │ │ ├── Basic.glsl
│ │ │ ├── Bloom.glsl
│ │ │ ├── BloomHDR.glsl
│ │ │ ├── Blur.glsl
│ │ │ ├── ColorCorrection.glsl
│ │ │ ├── CopyFramebuffer.glsl
│ │ │ ├── DeferredLight.glsl
│ │ │ ├── Depth.glsl
│ │ │ ├── FXAA2.glsl
│ │ │ ├── FXAA3.glsl
│ │ │ ├── Fog.glsl
│ │ │ ├── GammaCorrection.glsl
│ │ │ ├── GreyScale.glsl
│ │ │ ├── Lighting.glsl
│ │ │ ├── LitParticle.glsl
│ │ │ ├── LitSolid.glsl
│ │ │ ├── PostProcess.glsl
│ │ │ ├── PrepassLight.glsl
│ │ │ ├── Samplers.glsl
│ │ │ ├── ScreenPos.glsl
│ │ │ ├── Shadow.glsl
│ │ │ ├── Skybox.glsl
│ │ │ ├── Stencil.glsl
│ │ │ ├── TerrainBlend.glsl
│ │ │ ├── Tonemap.glsl
│ │ │ ├── Transform.glsl
│ │ │ ├── Uniforms.glsl
│ │ │ ├── Unlit.glsl
│ │ │ ├── Vegetation.glsl
│ │ │ ├── VegetationDepth.glsl
│ │ │ ├── VegetationShadow.glsl
│ │ │ └── Water.glsl
│ │ └── HLSL
│ │ │ ├── AutoExposure.hlsl
│ │ │ ├── Basic.hlsl
│ │ │ ├── Bloom.hlsl
│ │ │ ├── BloomHDR.hlsl
│ │ │ ├── Blur.hlsl
│ │ │ ├── ColorCorrection.hlsl
│ │ │ ├── CopyFramebuffer.hlsl
│ │ │ ├── DeferredLight.hlsl
│ │ │ ├── Depth.hlsl
│ │ │ ├── FXAA2.hlsl
│ │ │ ├── FXAA3.hlsl
│ │ │ ├── Fog.hlsl
│ │ │ ├── GammaCorrection.hlsl
│ │ │ ├── GreyScale.hlsl
│ │ │ ├── Lighting.hlsl
│ │ │ ├── LitParticle.hlsl
│ │ │ ├── LitSolid.hlsl
│ │ │ ├── PostProcess.hlsl
│ │ │ ├── PrepassLight.hlsl
│ │ │ ├── Samplers.hlsl
│ │ │ ├── ScreenPos.hlsl
│ │ │ ├── Shadow.hlsl
│ │ │ ├── Skybox.hlsl
│ │ │ ├── Stencil.hlsl
│ │ │ ├── TerrainBlend.hlsl
│ │ │ ├── Tonemap.hlsl
│ │ │ ├── Transform.hlsl
│ │ │ ├── Uniforms.hlsl
│ │ │ ├── Unlit.hlsl
│ │ │ ├── Vegetation.hlsl
│ │ │ ├── VegetationDepth.hlsl
│ │ │ ├── VegetationShadow.hlsl
│ │ │ └── Water.hlsl
│ ├── Techniques
│ │ ├── Diff.xml
│ │ ├── DiffAO.xml
│ │ ├── DiffAOAlpha.xml
│ │ ├── DiffAOAlphaMask.xml
│ │ ├── DiffAdd.xml
│ │ ├── DiffAddAlpha.xml
│ │ ├── DiffAlpha.xml
│ │ ├── DiffAlphaMask.xml
│ │ ├── DiffEmissive.xml
│ │ ├── DiffEmissiveAlpha.xml
│ │ ├── DiffEnvCube.xml
│ │ ├── DiffEnvCubeAO.xml
│ │ ├── DiffEnvCubeAOAlpha.xml
│ │ ├── DiffEnvCubeAlpha.xml
│ │ ├── DiffLightMap.xml
│ │ ├── DiffLightMapAlpha.xml
│ │ ├── DiffLitParticleAlpha.xml
│ │ ├── DiffMultiply.xml
│ │ ├── DiffNormal.xml
│ │ ├── DiffNormalAO.xml
│ │ ├── DiffNormalAOAlpha.xml
│ │ ├── DiffNormalAOAlphaMask.xml
│ │ ├── DiffNormalAlpha.xml
│ │ ├── DiffNormalAlphaMask.xml
│ │ ├── DiffNormalEmissive.xml
│ │ ├── DiffNormalEmissiveAlpha.xml
│ │ ├── DiffNormalEnvCube.xml
│ │ ├── DiffNormalEnvCubeAlpha.xml
│ │ ├── DiffNormalPacked.xml
│ │ ├── DiffNormalPackedAO.xml
│ │ ├── DiffNormalPackedAOAlpha.xml
│ │ ├── DiffNormalPackedAOAlphaMask.xml
│ │ ├── DiffNormalPackedAlpha.xml
│ │ ├── DiffNormalPackedAlphaMask.xml
│ │ ├── DiffNormalPackedEmissive.xml
│ │ ├── DiffNormalPackedEmissiveAlpha.xml
│ │ ├── DiffNormalPackedEnvCube.xml
│ │ ├── DiffNormalPackedEnvCubeAlpha.xml
│ │ ├── DiffNormalPackedSpec.xml
│ │ ├── DiffNormalPackedSpecAO.xml
│ │ ├── DiffNormalPackedSpecAOAlpha.xml
│ │ ├── DiffNormalPackedSpecAOAlphaMask.xml
│ │ ├── DiffNormalPackedSpecAlpha.xml
│ │ ├── DiffNormalPackedSpecAlphaMask.xml
│ │ ├── DiffNormalPackedSpecEmissive.xml
│ │ ├── DiffNormalPackedSpecEmissiveAlpha.xml
│ │ ├── DiffNormalSpec.xml
│ │ ├── DiffNormalSpecAO.xml
│ │ ├── DiffNormalSpecAOAlpha.xml
│ │ ├── DiffNormalSpecAOAlphaMask.xml
│ │ ├── DiffNormalSpecAlpha.xml
│ │ ├── DiffNormalSpecAlphaMask.xml
│ │ ├── DiffNormalSpecEmissive.xml
│ │ ├── DiffNormalSpecEmissiveAlpha.xml
│ │ ├── DiffOverlay.xml
│ │ ├── DiffSkybox.xml
│ │ ├── DiffSkyplane.xml
│ │ ├── DiffSpec.xml
│ │ ├── DiffSpecAlpha.xml
│ │ ├── DiffSpecAlphaMask.xml
│ │ ├── DiffUnlit.xml
│ │ ├── DiffUnlitAlpha.xml
│ │ ├── DiffVColAdd.xml
│ │ ├── DiffVColAddAlpha.xml
│ │ ├── DiffVColMultiply.xml
│ │ ├── DiffVColUnlitAlpha.xml
│ │ ├── NoTexture.xml
│ │ ├── NoTextureAO.xml
│ │ ├── NoTextureAOAlpha.xml
│ │ ├── NoTextureAdd.xml
│ │ ├── NoTextureAddAlpha.xml
│ │ ├── NoTextureAlpha.xml
│ │ ├── NoTextureEnvCube.xml
│ │ ├── NoTextureEnvCubeAO.xml
│ │ ├── NoTextureEnvCubeAOAlpha.xml
│ │ ├── NoTextureEnvCubeAlpha.xml
│ │ ├── NoTextureMultiply.xml
│ │ ├── NoTextureNormal.xml
│ │ ├── NoTextureNormalAlpha.xml
│ │ ├── NoTextureNormalPacked.xml
│ │ ├── NoTextureNormalPackedAlpha.xml
│ │ ├── NoTextureOverlay.xml
│ │ ├── NoTextureUnlit.xml
│ │ ├── NoTextureUnlitAlpha.xml
│ │ ├── NoTextureUnlitVCol.xml
│ │ ├── NoTextureVColAdd.xml
│ │ ├── NoTextureVColAddAlpha.xml
│ │ ├── NoTextureVColMultiply.xml
│ │ ├── TerrainBlend.xml
│ │ ├── VegetationDiff.xml
│ │ ├── VegetationDiffAlphaMask.xml
│ │ ├── VegetationDiffUnlit.xml
│ │ ├── VegetationDiffUnlitAlphaMask.xml
│ │ └── Water.xml
│ └── Textures
│ │ ├── LUTIdentity.png
│ │ ├── LUTIdentity.xml
│ │ ├── Ramp.png
│ │ ├── Ramp.xml
│ │ ├── RampExtreme.png
│ │ ├── RampExtreme.xml
│ │ ├── RampWide.png
│ │ ├── RampWide.xml
│ │ ├── Spot.png
│ │ ├── Spot.xml
│ │ ├── SpotWide.png
│ │ └── SpotWide.xml
├── Data
│ ├── Fonts
│ │ ├── Anonymous Pro.ttf
│ │ ├── BlueHighway.ttf
│ │ ├── OFL.txt
│ │ └── read_me.html
│ ├── Materials
│ │ ├── Editor
│ │ │ ├── BlueUnlit.xml
│ │ │ ├── BrightBlueUnlit.xml
│ │ │ ├── BrightGreenUnlit.xml
│ │ │ ├── BrightRedUnlit.xml
│ │ │ ├── GreenUnlit.xml
│ │ │ ├── RedUnlit.xml
│ │ │ └── TexturedUnlit.xml
│ │ ├── GreenTransparent.xml
│ │ ├── Jack.xml
│ │ ├── JackEnvMap.xml
│ │ ├── LitSmoke.xml
│ │ ├── Mushroom.xml
│ │ ├── MushroomEnvMap.xml
│ │ ├── MushroomWind.xml
│ │ ├── MushroomWindUnlit.xml
│ │ ├── NinjaSnowWar
│ │ │ ├── CloudPlane.xml
│ │ │ ├── Ninja.xml
│ │ │ ├── Potion.xml
│ │ │ ├── Snow.xml
│ │ │ └── SnowCrate.xml
│ │ ├── Particle.xml
│ │ ├── Skybox.xml
│ │ ├── Smoke.xml
│ │ ├── Stone.xml
│ │ ├── StoneEnvMap.xml
│ │ ├── StoneEnvMapSmall.xml
│ │ ├── StoneSmall.xml
│ │ ├── StoneTiled.xml
│ │ ├── StoneTiledH.xml
│ │ ├── Terrain.xml
│ │ ├── UrhoDecal.xml
│ │ ├── UrhoDecalAlpha.xml
│ │ ├── VColUnlit.xml
│ │ └── Water.xml
│ ├── Textures
│ │ ├── BrightDay1_NegX.dds
│ │ ├── BrightDay1_NegY.dds
│ │ ├── BrightDay1_NegZ.dds
│ │ ├── BrightDay1_PosX.dds
│ │ ├── BrightDay1_PosY.dds
│ │ ├── BrightDay1_PosZ.dds
│ │ ├── Editor
│ │ │ ├── EditorIcons.png
│ │ │ ├── EditorIcons.xml
│ │ │ └── NoPreviewAvailable.png
│ │ ├── Flare.dds
│ │ ├── HeightMap.png
│ │ ├── Jack_body_color.jpg
│ │ ├── Jack_face.jpg
│ │ ├── Logo.png
│ │ ├── Logo.xml
│ │ ├── LogoLarge.png
│ │ ├── LogoLarge.xml
│ │ ├── Mushroom.dds
│ │ ├── NinjaSnowWar
│ │ │ ├── CloudPlane.dds
│ │ │ ├── HealthBarBorder.png
│ │ │ ├── HealthBarInside.png
│ │ │ ├── Ninja.dds
│ │ │ ├── Sight.png
│ │ │ ├── Sight.xml
│ │ │ ├── Snow.dds
│ │ │ └── SnowCrate.dds
│ │ ├── OldUI.png
│ │ ├── OldUI.xml
│ │ ├── Skybox.xml
│ │ ├── Smoke.dds
│ │ ├── StoneDiffuse.dds
│ │ ├── StoneNormal.dds
│ │ ├── TerrainDetail1.dds
│ │ ├── TerrainDetail2.dds
│ │ ├── TerrainDetail3.dds
│ │ ├── TerrainWeights.dds
│ │ ├── TouchInput.png
│ │ ├── UI.png
│ │ ├── UI.xml
│ │ ├── UrhoDecal.dds
│ │ ├── UrhoDecalAlpha.dds
│ │ ├── UrhoIcon.png
│ │ └── WaterNoise.dds
│ ├── UI
│ │ ├── DefaultStyle.xml
│ │ ├── EditorContextMenu.xml
│ │ ├── EditorHierarchyWindow.xml
│ │ ├── EditorIcons.xml
│ │ ├── EditorInspectorWindow.xml
│ │ ├── EditorInspector_Attribute.xml
│ │ ├── EditorInspector_Style.xml
│ │ ├── EditorInspector_Variable.xml
│ │ ├── EditorMaterialWindow.xml
│ │ ├── EditorPreferencesDialog.xml
│ │ ├── EditorQuickMenu.xml
│ │ ├── EditorResourceBrowser.xml
│ │ ├── EditorResourceFilterWindow.xml
│ │ ├── EditorSettingsDialog.xml
│ │ ├── EditorSpawnWindow.xml
│ │ ├── EditorViewport.xml
│ │ ├── MessageBox.xml
│ │ ├── OldStyle.xml
│ │ ├── ScreenJoystick.xml
│ │ ├── ScreenJoystickSettings.xml
│ │ ├── ScreenJoystickSettings_NinjaSnowWar.xml
│ │ ├── ScreenJoystickSettings_Samples.xml
│ │ ├── ScreenJoystick_NinjaSnowWar.xml
│ │ └── ScreenJoystick_Samples.xml
│ └── Urho2D
│ │ ├── Aster.png
│ │ ├── Ball.png
│ │ ├── Box.png
│ │ ├── GoldIcon.png
│ │ ├── GoldIcon.scml
│ │ ├── GoldIcon.xml
│ │ ├── GoldIcon
│ │ ├── 1.png
│ │ ├── 2.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ └── 5.png
│ │ ├── fire.pex
│ │ ├── greenspiral.pex
│ │ ├── greenspiral.png
│ │ ├── imp
│ │ ├── imp.png
│ │ ├── imp.scml
│ │ ├── imp.txt
│ │ ├── imp.xml
│ │ ├── imp_blood.png
│ │ ├── imp_body.png
│ │ ├── imp_footbig.png
│ │ ├── imp_footsmall.png
│ │ ├── imp_handbig.png
│ │ ├── imp_handsmall.png
│ │ ├── imp_handthrow.png
│ │ ├── imp_head.png
│ │ ├── imp_headangry.png
│ │ └── imp_headblink.png
│ │ ├── sun.pex
│ │ └── sun.png
├── ParticleEditor2D.exe
├── QtCore4.dll
├── QtGui4.dll
├── msvcp110.dll
└── msvcr110.dll
├── License.txt
├── Readme.md
└── Source
└── Tools
├── CMakeLists.txt
└── ParticleEditor2D
├── CMakeLists.txt
├── ColorVarianceEditor.cpp
├── ColorVarianceEditor.h
├── EmitterAttributeEditor.cpp
├── EmitterAttributeEditor.h
├── FloatEditor.cpp
├── FloatEditor.h
├── Images
├── Icon.png
├── New.png
├── Open.png
├── Save.png
├── SaveAs.png
├── Settings.png
├── SplashScreen.jpg
├── ZoomIn.png
├── ZoomOut.png
└── ZoomReset.png
├── IntEditor.cpp
├── IntEditor.h
├── Main.cpp
├── MainWindow.cpp
├── MainWindow.h
├── ParticleAttributeEditor.cpp
├── ParticleAttributeEditor.h
├── ParticleEditor.cpp
├── ParticleEditor.h
├── ParticleEffectEditor.cpp
├── ParticleEffectEditor.h
├── Resources.qrc
├── ScrollAreaWidget.cpp
├── ScrollAreaWidget.h
├── ValueVarianceEditor.cpp
├── ValueVarianceEditor.h
├── Vector2Editor.cpp
├── Vector2Editor.h
├── rc
├── Hmovetoolbar.png
├── Hsepartoolbar.png
├── Vmovetoolbar.png
├── Vsepartoolbar.png
├── branch_closed-on.png
├── branch_closed.png
├── branch_open-on.png
├── branch_open.png
├── checkbox.png
├── close.png
├── down_arrow.png
├── down_arrow_disabled.png
├── left_arrow.png
├── left_arrow_disabled.png
├── right_arrow.png
├── right_arrow_disabled.png
├── sizegrip.png
├── stylesheet-branch-end.png
├── stylesheet-branch-more.png
├── stylesheet-vline.png
├── transparent.png
├── undock.png
├── up_arrow.png
└── up_arrow_disabled.png
├── style.qrc
└── style.qss
/Bin/CoreData/Materials/DefaultGrey.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/CoreData/RenderPaths/Deferred.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Bin/CoreData/RenderPaths/Forward.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/RenderPaths/ForwardDepth.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Bin/CoreData/RenderPaths/Prepass.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/RenderPaths/PrepassHDR.xml:
--------------------------------------------------------------------------------
1 |
2 | rgba16f
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Basic.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 |
5 | #if defined(DIFFMAP) || defined(ALPHAMAP)
6 | varying vec2 vTexCoord;
7 | #endif
8 | #ifdef VERTEXCOLOR
9 | varying vec4 vColor;
10 | #endif
11 |
12 | void VS()
13 | {
14 | mat4 modelMatrix = iModelMatrix;
15 | vec3 worldPos = GetWorldPos(modelMatrix);
16 | gl_Position = GetClipPos(worldPos);
17 |
18 | #ifdef DIFFMAP
19 | vTexCoord = iTexCoord;
20 | #endif
21 | #ifdef VERTEXCOLOR
22 | vColor = iColor;
23 | #endif
24 | }
25 |
26 | void PS()
27 | {
28 | vec4 diffColor = cMatDiffColor;
29 |
30 | #ifdef VERTEXCOLOR
31 | diffColor *= vColor;
32 | #endif
33 |
34 | #if (!defined(DIFFMAP)) && (!defined(ALPHAMAP))
35 | gl_FragColor = diffColor;
36 | #endif
37 | #ifdef DIFFMAP
38 | vec4 diffInput = texture2D(sDiffMap, vTexCoord);
39 | #ifdef ALPHAMASK
40 | if (diffInput.a < 0.5)
41 | discard;
42 | #endif
43 | gl_FragColor = diffColor * diffInput;
44 | #endif
45 | #ifdef ALPHAMAP
46 | float alphaInput = texture2D(sDiffMap, vTexCoord).a;
47 | gl_FragColor = vec4(diffColor.rgb, diffColor.a * alphaInput);
48 | #endif
49 | }
50 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Bloom.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 |
6 | varying vec2 vTexCoord;
7 | varying vec2 vScreenPos;
8 |
9 | #ifdef COMPILEPS
10 | uniform float cBloomThreshold;
11 | uniform vec2 cBloomMix;
12 | uniform vec2 cHBlurInvSize;
13 | #endif
14 |
15 | void VS()
16 | {
17 | mat4 modelMatrix = iModelMatrix;
18 | vec3 worldPos = GetWorldPos(modelMatrix);
19 | gl_Position = GetClipPos(worldPos);
20 | vTexCoord = GetQuadTexCoord(gl_Position);
21 | vScreenPos = GetScreenPosPreDiv(gl_Position);
22 | }
23 |
24 | void PS()
25 | {
26 | #ifdef BRIGHT
27 | vec3 rgb = texture2D(sDiffMap, vScreenPos).rgb;
28 | gl_FragColor = vec4((rgb - vec3(cBloomThreshold, cBloomThreshold, cBloomThreshold)) / (1.0 - cBloomThreshold), 1.0);
29 | #endif
30 |
31 | #ifdef HBLUR
32 | vec3 rgb = texture2D(sDiffMap, vTexCoord + vec2(-2.0, 0.0) * cHBlurInvSize).rgb * 0.1;
33 | rgb += texture2D(sDiffMap, vTexCoord + vec2(-1.0, 0.0) * cHBlurInvSize).rgb * 0.25;
34 | rgb += texture2D(sDiffMap, vTexCoord + vec2(0.0, 0.0) * cHBlurInvSize).rgb * 0.3;
35 | rgb += texture2D(sDiffMap, vTexCoord + vec2(1.0, 0.0) * cHBlurInvSize).rgb * 0.25;
36 | rgb += texture2D(sDiffMap, vTexCoord + vec2(2.0, 0.0) * cHBlurInvSize).rgb * 0.1;
37 | gl_FragColor = vec4(rgb, 1.0);
38 | #endif
39 |
40 | #ifdef VBLUR
41 | vec3 rgb = texture2D(sDiffMap, vTexCoord + vec2(0.0, -2.0) * cHBlurInvSize).rgb * 0.1;
42 | rgb += texture2D(sDiffMap, vTexCoord + vec2(0.0, -1.0) * cHBlurInvSize).rgb * 0.25;
43 | rgb += texture2D(sDiffMap, vTexCoord + vec2(0.0, 0.0) * cHBlurInvSize).rgb * 0.3;
44 | rgb += texture2D(sDiffMap, vTexCoord + vec2(0.0, 1.0) * cHBlurInvSize).rgb * 0.25;
45 | rgb += texture2D(sDiffMap, vTexCoord + vec2(0.0, 2.0) * cHBlurInvSize).rgb * 0.1;
46 | gl_FragColor = vec4(rgb, 1.0);
47 | #endif
48 |
49 | #ifdef COMBINE
50 | vec3 original = texture2D(sDiffMap, vScreenPos).rgb * cBloomMix.x;
51 | vec3 bloom = texture2D(sNormalMap, vTexCoord).rgb * cBloomMix.y;
52 | // Prevent oversaturation
53 | original *= max(vec3(1.0) - bloom, vec3(0.0));
54 | gl_FragColor = vec4(original + bloom, 1.0);
55 | #endif
56 | }
57 |
58 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/BloomHDR.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "PostProcess.glsl"
6 |
7 | varying vec2 vTexCoord;
8 | varying vec2 vScreenPos;
9 |
10 | #ifdef COMPILEPS
11 | uniform float cBloomHDRThreshold;
12 | uniform float cBloomHDRBlurSigma;
13 | uniform float cBloomHDRBlurRadius;
14 | uniform vec2 cBloomHDRBlurDir;
15 | uniform vec2 cBloomHDRMix;
16 | uniform vec2 cBright2InvSize;
17 | uniform vec2 cBright4InvSize;
18 | uniform vec2 cBright8InvSize;
19 | uniform vec2 cBright16InvSize;
20 |
21 | const int BlurKernelSize = 5;
22 | #endif
23 |
24 | void VS()
25 | {
26 | mat4 modelMatrix = iModelMatrix;
27 | vec3 worldPos = GetWorldPos(modelMatrix);
28 | gl_Position = GetClipPos(worldPos);
29 | vTexCoord = GetQuadTexCoord(gl_Position);
30 | vScreenPos = GetScreenPosPreDiv(gl_Position);
31 | }
32 |
33 | void PS()
34 | {
35 | #ifdef BRIGHT
36 | vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
37 | gl_FragColor = vec4(max(color - cBloomHDRThreshold, 0.0), 1.0);
38 | #endif
39 |
40 | #ifdef BLUR16
41 | gl_FragColor = GaussianBlur(BlurKernelSize, cBloomHDRBlurDir, cBright16InvSize * cBloomHDRBlurRadius, cBloomHDRBlurSigma, sDiffMap, vScreenPos);
42 | #endif
43 |
44 | #ifdef BLUR8
45 | gl_FragColor = GaussianBlur(BlurKernelSize, cBloomHDRBlurDir, cBright8InvSize * cBloomHDRBlurRadius, cBloomHDRBlurSigma, sDiffMap, vScreenPos);
46 | #endif
47 |
48 | #ifdef BLUR4
49 | gl_FragColor = GaussianBlur(BlurKernelSize, cBloomHDRBlurDir, cBright4InvSize * cBloomHDRBlurRadius, cBloomHDRBlurSigma, sDiffMap, vScreenPos);
50 | #endif
51 |
52 | #ifdef BLUR2
53 | gl_FragColor = GaussianBlur(BlurKernelSize, cBloomHDRBlurDir, cBright2InvSize * cBloomHDRBlurRadius, cBloomHDRBlurSigma, sDiffMap, vScreenPos);
54 | #endif
55 |
56 | #ifdef COMBINE16
57 | gl_FragColor = texture2D(sDiffMap, vScreenPos) + texture2D(sNormalMap, vTexCoord);
58 | #endif
59 |
60 | #ifdef COMBINE8
61 | gl_FragColor = texture2D(sDiffMap, vScreenPos) + texture2D(sNormalMap, vTexCoord);
62 | #endif
63 |
64 | #ifdef COMBINE4
65 | gl_FragColor = texture2D(sDiffMap, vScreenPos) + texture2D(sNormalMap, vTexCoord);
66 | #endif
67 |
68 | #ifdef COMBINE2
69 | vec3 color = texture2D(sDiffMap, vScreenPos).rgb * cBloomHDRMix.x;
70 | vec3 bloom = texture2D(sNormalMap, vTexCoord).rgb * cBloomHDRMix.y;
71 | gl_FragColor = vec4(color + bloom, 1.0);
72 | #endif
73 | }
74 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Blur.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "PostProcess.glsl"
6 |
7 | varying vec2 vTexCoord;
8 | varying vec2 vScreenPos;
9 |
10 | #ifdef COMPILEPS
11 | uniform vec2 cBlurDir;
12 | uniform float cBlurRadius;
13 | uniform float cBlurSigma;
14 | uniform vec2 cBlurHInvSize;
15 | #endif
16 |
17 | void VS()
18 | {
19 | mat4 modelMatrix = iModelMatrix;
20 | vec3 worldPos = GetWorldPos(modelMatrix);
21 | gl_Position = GetClipPos(worldPos);
22 | vTexCoord = GetQuadTexCoord(gl_Position);
23 | vScreenPos = GetScreenPosPreDiv(gl_Position);
24 | }
25 |
26 | void PS()
27 | {
28 | #ifdef BLUR3
29 | gl_FragColor = GaussianBlur(3, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, vTexCoord);
30 | #endif
31 |
32 | #ifdef BLUR5
33 | gl_FragColor = GaussianBlur(5, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, vTexCoord);
34 | #endif
35 |
36 | #ifdef BLUR7
37 | gl_FragColor = GaussianBlur(7, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, vTexCoord);
38 | #endif
39 |
40 | #ifdef BLUR9
41 | gl_FragColor = GaussianBlur(9, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, vTexCoord);
42 | #endif
43 | }
44 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/ColorCorrection.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "PostProcess.glsl"
6 |
7 | varying vec2 vScreenPos;
8 |
9 | void VS()
10 | {
11 | mat4 modelMatrix = iModelMatrix;
12 | vec3 worldPos = GetWorldPos(modelMatrix);
13 | gl_Position = GetClipPos(worldPos);
14 | vScreenPos = GetScreenPosPreDiv(gl_Position);
15 | }
16 |
17 | void PS()
18 | {
19 | vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
20 | gl_FragColor = vec4(ColorCorrection(color, sVolumeMap), 1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/CopyFramebuffer.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 |
6 | varying vec2 vScreenPos;
7 |
8 | void VS()
9 | {
10 | mat4 modelMatrix = iModelMatrix;
11 | vec3 worldPos = GetWorldPos(modelMatrix);
12 | gl_Position = GetClipPos(worldPos);
13 | vScreenPos = GetScreenPosPreDiv(gl_Position);
14 | }
15 |
16 | void PS()
17 | {
18 | gl_FragColor = texture2D(sDiffMap, vScreenPos);
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Depth.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 |
5 | varying vec3 vTexCoord;
6 |
7 | void VS()
8 | {
9 | mat4 modelMatrix = iModelMatrix;
10 | vec3 worldPos = GetWorldPos(modelMatrix);
11 | gl_Position = GetClipPos(worldPos);
12 | vTexCoord = vec3(GetTexCoord(iTexCoord), GetDepth(gl_Position));
13 | }
14 |
15 | void PS()
16 | {
17 | #ifdef ALPHAMASK
18 | float alpha = texture2D(sDiffMap, vTexCoord.xy).a;
19 | if (alpha < 0.5)
20 | discard;
21 | #endif
22 |
23 | gl_FragColor = vec4(EncodeDepth(vTexCoord.z), 1.0);
24 | }
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Fog.glsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEPS
2 | vec3 GetFog(vec3 color, float fogFactor)
3 | {
4 | return mix(cFogColor, color, fogFactor);
5 | }
6 |
7 | vec3 GetLitFog(vec3 color, float fogFactor)
8 | {
9 | return color * fogFactor;
10 | }
11 |
12 | float GetFogFactor(float depth)
13 | {
14 | return clamp((cFogParams.x - depth) * cFogParams.y, 0.0, 1.0);
15 | }
16 |
17 | float GetHeightFogFactor(float depth, float height)
18 | {
19 | float fogFactor = GetFogFactor(depth);
20 | float heightFogFactor = (height - cFogParams.z) * cFogParams.w;
21 | heightFogFactor = 1.0 - clamp(exp(-(heightFogFactor * heightFogFactor)), 0.0, 1.0);
22 | return min(heightFogFactor, fogFactor);
23 | }
24 | #endif
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/GammaCorrection.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "PostProcess.glsl"
6 |
7 | varying vec2 vScreenPos;
8 |
9 | void VS()
10 | {
11 | mat4 modelMatrix = iModelMatrix;
12 | vec3 worldPos = GetWorldPos(modelMatrix);
13 | gl_Position = GetClipPos(worldPos);
14 | vScreenPos = GetScreenPosPreDiv(gl_Position);
15 | }
16 |
17 | void PS()
18 | {
19 | vec3 color = texture2D(sDiffMap, vScreenPos).rgb;
20 | gl_FragColor = vec4(ToInverseGamma(color), 1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/GreyScale.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "Lighting.glsl"
6 |
7 | varying vec2 vScreenPos;
8 |
9 | void VS()
10 | {
11 | mat4 modelMatrix = iModelMatrix;
12 | vec3 worldPos = GetWorldPos(modelMatrix);
13 | gl_Position = GetClipPos(worldPos);
14 | vScreenPos = GetScreenPosPreDiv(gl_Position);
15 | }
16 |
17 | void PS()
18 | {
19 | vec3 rgb = texture2D(sDiffMap, vScreenPos).rgb;
20 | float intensity = GetIntensity(rgb);
21 | gl_FragColor = vec4(intensity, intensity, intensity, 1.0);
22 | }
23 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Samplers.glsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEPS
2 | uniform sampler2D sDiffMap;
3 | uniform samplerCube sDiffCubeMap;
4 | uniform sampler2D sNormalMap;
5 | uniform sampler2D sSpecMap;
6 | uniform sampler2D sEmissiveMap;
7 | uniform sampler2D sEnvMap;
8 | uniform samplerCube sEnvCubeMap;
9 | uniform sampler2D sLightRampMap;
10 | uniform sampler2D sLightSpotMap;
11 | uniform samplerCube sLightCubeMap;
12 | #ifndef GL_ES
13 | uniform sampler3D sVolumeMap;
14 | uniform sampler2D sAlbedoBuffer;
15 | uniform sampler2D sNormalBuffer;
16 | uniform sampler2D sDepthBuffer;
17 | uniform sampler2D sLightBuffer;
18 | uniform sampler2DShadow sShadowMap;
19 | uniform samplerCube sFaceSelectCubeMap;
20 | uniform samplerCube sIndirectionCubeMap;
21 | #else
22 | uniform sampler2D sShadowMap;
23 | #endif
24 |
25 | vec3 DecodeNormal(vec4 normalInput)
26 | {
27 | #ifdef PACKEDNORMAL
28 | vec3 normal;
29 | normal.xy = normalInput.ag * 2.0 - 1.0;
30 | normal.z = sqrt(max(1.0 - dot(normal.xy, normal.xy), 0.0));
31 | return normal;
32 | #else
33 | return normalize(normalInput.rgb * 2.0 - 1.0);
34 | #endif
35 | }
36 |
37 | vec3 EncodeDepth(float depth)
38 | {
39 | vec3 ret;
40 | depth *= 255.0;
41 | ret.x = floor(depth);
42 | depth = (depth - ret.x) * 255.0;
43 | ret.y = floor(depth);
44 | ret.z = (depth - ret.y);
45 | ret.xy *= 1.0 / 255.0;
46 | return ret;
47 | }
48 |
49 | float DecodeDepth(vec3 depth)
50 | {
51 | const vec3 dotValues = vec3(1.0, 1.0 / 255.0, 1.0 / (255.0 * 255.0));
52 | return dot(depth, dotValues);
53 | }
54 | #endif
55 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/ScreenPos.glsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEVS
2 | vec4 GetScreenPos(vec4 clipPos)
3 | {
4 | return vec4(
5 | clipPos.x * cGBufferOffsets.z + cGBufferOffsets.x * clipPos.w,
6 | clipPos.y * cGBufferOffsets.w + cGBufferOffsets.y * clipPos.w,
7 | 0.0,
8 | clipPos.w);
9 | }
10 |
11 | vec2 GetScreenPosPreDiv(vec4 clipPos)
12 | {
13 | return vec2(
14 | clipPos.x / clipPos.w * cGBufferOffsets.z + cGBufferOffsets.x,
15 | clipPos.y / clipPos.w * cGBufferOffsets.w + cGBufferOffsets.y);
16 | }
17 |
18 | vec2 GetQuadTexCoord(vec4 clipPos)
19 | {
20 | return vec2(
21 | clipPos.x / clipPos.w * 0.5 + 0.5,
22 | clipPos.y / clipPos.w * 0.5 + 0.5);
23 | }
24 |
25 | vec2 GetQuadTexCoordNoFlip(vec3 worldPos)
26 | {
27 | return vec2(
28 | worldPos.x * 0.5 + 0.5,
29 | -worldPos.y * 0.5 + 0.5);
30 | }
31 |
32 | vec3 GetFarRay(vec4 clipPos)
33 | {
34 | vec3 viewRay = vec3(
35 | clipPos.x / clipPos.w * cFrustumSize.x,
36 | clipPos.y / clipPos.w * cFrustumSize.y,
37 | cFrustumSize.z);
38 |
39 | return cCameraRot * viewRay;
40 | }
41 |
42 | vec3 GetNearRay(vec4 clipPos)
43 | {
44 | vec3 viewRay = vec3(
45 | clipPos.x / clipPos.w * cFrustumSize.x,
46 | clipPos.y / clipPos.w * cFrustumSize.y,
47 | 0.0);
48 |
49 | return (cCameraRot * viewRay) * cDepthMode.x;
50 | }
51 | #endif
52 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Shadow.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 |
5 | varying vec2 vTexCoord;
6 |
7 | void VS()
8 | {
9 | mat4 modelMatrix = iModelMatrix;
10 | vec3 worldPos = GetWorldPos(modelMatrix);
11 | gl_Position = GetClipPos(worldPos);
12 | vTexCoord = GetTexCoord(iTexCoord);
13 | }
14 |
15 | void PS()
16 | {
17 | #ifdef ALPHAMASK
18 | float alpha = texture2D(sDiffMap, vTexCoord).a;
19 | if (alpha < 0.5)
20 | discard;
21 | #endif
22 |
23 | gl_FragColor = vec4(1.0);
24 | }
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Skybox.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 |
5 | varying vec3 vTexCoord;
6 |
7 | void VS()
8 | {
9 | mat4 modelMatrix = iModelMatrix;
10 | vec3 worldPos = GetWorldPos(modelMatrix);
11 | gl_Position = GetClipPos(worldPos);
12 |
13 | gl_Position.z = gl_Position.w;
14 | vTexCoord = iPos.xyz;
15 | }
16 |
17 | void PS()
18 | {
19 | gl_FragColor = cMatDiffColor * textureCube(sDiffCubeMap, vTexCoord);
20 | }
21 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Stencil.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Transform.glsl"
3 |
4 | void VS()
5 | {
6 | mat4 modelMatrix = iModelMatrix;
7 | vec3 worldPos = GetWorldPos(modelMatrix);
8 | gl_Position = GetClipPos(worldPos);
9 | }
10 |
11 | void PS()
12 | {
13 | gl_FragColor = vec4(1.0);
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Tonemap.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "PostProcess.glsl"
6 |
7 | varying vec2 vScreenPos;
8 |
9 | #ifdef COMPILEPS
10 | uniform float cTonemapExposureBias;
11 | uniform float cTonemapMaxWhite;
12 | #endif
13 |
14 | void VS()
15 | {
16 | mat4 modelMatrix = iModelMatrix;
17 | vec3 worldPos = GetWorldPos(modelMatrix);
18 | gl_Position = GetClipPos(worldPos);
19 | vScreenPos = GetScreenPosPreDiv(gl_Position);
20 | }
21 |
22 | void PS()
23 | {
24 | #ifdef REINHARDEQ3
25 | vec3 color = ReinhardEq3Tonemap(max(texture2D(sDiffMap, vScreenPos).rgb * cTonemapExposureBias, 0.0));
26 | gl_FragColor = vec4(color, 1.0);
27 | #endif
28 |
29 | #ifdef REINHARDEQ4
30 | vec3 color = ReinhardEq4Tonemap(max(texture2D(sDiffMap, vScreenPos).rgb * cTonemapExposureBias, 0.0), cTonemapMaxWhite);
31 | gl_FragColor = vec4(color, 1.0);
32 | #endif
33 |
34 | #ifdef UNCHARTED2
35 | vec3 color = Uncharted2Tonemap(max(texture2D(sDiffMap, vScreenPos).rgb * cTonemapExposureBias, 0.0)) /
36 | Uncharted2Tonemap(vec3(cTonemapMaxWhite, cTonemapMaxWhite, cTonemapMaxWhite));
37 | gl_FragColor = vec4(color, 1.0);
38 | #endif
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Uniforms.glsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEVS
2 | uniform vec3 cAmbientStartColor;
3 | uniform vec3 cAmbientEndColor;
4 | uniform mat3 cBillboardRot;
5 | uniform vec3 cCameraPos;
6 | uniform mat3 cCameraRot;
7 | uniform float cNearClip;
8 | uniform float cFarClip;
9 | uniform vec4 cDepthMode;
10 | uniform vec3 cFrustumSize;
11 | uniform float cDeltaTime;
12 | uniform float cElapsedTime;
13 | uniform vec4 cGBufferOffsets;
14 | uniform vec3 cLightDir;
15 | uniform vec4 cLightPos;
16 | uniform mat4 cModel;
17 | uniform mat4 cViewProj;
18 | uniform vec4 cUOffset;
19 | uniform vec4 cVOffset;
20 | uniform mat4 cZone;
21 | #ifndef GL_ES
22 | uniform mat4 cLightMatrices[4];
23 | #else
24 | uniform mat4 cLightMatrices[2];
25 | #endif
26 | #ifdef SKINNED
27 | #ifdef RASPI
28 | uniform vec4 cSkinMatrices[32*3];
29 | #else
30 | uniform vec4 cSkinMatrices[64*3];
31 | #endif
32 | #endif
33 | #ifdef NUMVERTEXLIGHTS
34 | uniform vec4 cVertexLights[4*3];
35 | #endif
36 | #endif
37 |
38 | #ifdef COMPILEPS
39 | #ifdef GL_ES
40 | precision mediump float;
41 | #endif
42 |
43 | uniform vec3 cAmbientColor;
44 | uniform vec3 cCameraPosPS;
45 | uniform float cDeltaTimePS;
46 | uniform float cElapsedTimePS;
47 | uniform vec4 cFogParams;
48 | uniform vec3 cFogColor;
49 | uniform vec2 cGBufferInvSize;
50 | uniform vec4 cLightColor;
51 | uniform vec3 cLightDirPS;
52 | uniform vec4 cLightPosPS;
53 | uniform vec4 cMatDiffColor;
54 | uniform vec3 cMatEmissiveColor;
55 | uniform vec3 cMatEnvMapColor;
56 | uniform vec4 cMatSpecColor;
57 | uniform float cNearClipPS;
58 | uniform float cFarClipPS;
59 | uniform vec4 cShadowCubeAdjust;
60 | uniform vec4 cShadowDepthFade;
61 | uniform vec2 cShadowIntensity;
62 | uniform vec2 cShadowMapInvSize;
63 | uniform vec4 cShadowSplits;
64 | uniform mat4 cLightMatricesPS[4];
65 | #endif
66 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Unlit.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "Fog.glsl"
6 |
7 | varying vec2 vTexCoord;
8 | varying vec4 vWorldPos;
9 | #ifdef VERTEXCOLOR
10 | varying vec4 vColor;
11 | #endif
12 |
13 | void VS()
14 | {
15 | mat4 modelMatrix = iModelMatrix;
16 | vec3 worldPos = GetWorldPos(modelMatrix);
17 | gl_Position = GetClipPos(worldPos);
18 | vTexCoord = GetTexCoord(iTexCoord);
19 | vWorldPos = vec4(worldPos, GetDepth(gl_Position));
20 |
21 | #ifdef VERTEXCOLOR
22 | vColor = iColor;
23 | #endif
24 | }
25 |
26 | void PS()
27 | {
28 | // Get material diffuse albedo
29 | #ifdef DIFFMAP
30 | vec4 diffColor = cMatDiffColor * texture2D(sDiffMap, vTexCoord);
31 | #ifdef ALPHAMASK
32 | if (diffColor.a < 0.5)
33 | discard;
34 | #endif
35 | #else
36 | vec4 diffColor = cMatDiffColor;
37 | #endif
38 |
39 | #ifdef VERTEXCOLOR
40 | diffColor *= vColor;
41 | #endif
42 |
43 | // Get fog factor
44 | #ifdef HEIGHTFOG
45 | float fogFactor = GetHeightFogFactor(vWorldPos.w, vWorldPos.y);
46 | #else
47 | float fogFactor = GetFogFactor(vWorldPos.w);
48 | #endif
49 |
50 | #if defined(PREPASS)
51 | // Fill light pre-pass G-Buffer
52 | gl_FragData[0] = vec4(0.5, 0.5, 0.5, 1.0);
53 | gl_FragData[1] = vec4(EncodeDepth(vWorldPos.w), 0.0);
54 | #elif defined(DEFERRED)
55 | gl_FragData[0] = vec4(GetFog(diffColor.rgb, fogFactor), diffColor.a);
56 | gl_FragData[1] = vec4(0.0, 0.0, 0.0, 0.0);
57 | gl_FragData[2] = vec4(0.5, 0.5, 0.5, 1.0);
58 | gl_FragData[3] = vec4(EncodeDepth(vWorldPos.w), 0.0);
59 | #else
60 | gl_FragColor = vec4(GetFog(diffColor.rgb, fogFactor), diffColor.a);
61 | #endif
62 | }
63 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/VegetationDepth.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Transform.glsl"
3 |
4 | uniform float cWindHeightFactor;
5 | uniform float cWindHeightPivot;
6 | uniform float cWindPeriod;
7 | uniform vec2 cWindWorldSpacing;
8 |
9 | varying vec3 vTexCoord;
10 |
11 | void VS()
12 | {
13 | mat4 modelMatrix = iModelMatrix;
14 | vec3 worldPos = GetWorldPos(modelMatrix);
15 |
16 | float windStrength = max(iPos.y - cWindHeightPivot, 0.0) * cWindHeightFactor;
17 | float windPeriod = cElapsedTime * cWindPeriod + dot(worldPos.xz, cWindWorldSpacing);
18 | worldPos.x += windStrength * sin(windPeriod);
19 | worldPos.z -= windStrength * cos(windPeriod);
20 |
21 | gl_Position = GetClipPos(worldPos);
22 | vTexCoord = vec3(GetTexCoord(iTexCoord), GetDepth(gl_Position));
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/VegetationShadow.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Transform.glsl"
3 |
4 | uniform float cWindHeightFactor;
5 | uniform float cWindHeightPivot;
6 | uniform float cWindPeriod;
7 | uniform vec2 cWindWorldSpacing;
8 |
9 | varying vec2 vTexCoord;
10 |
11 | void VS()
12 | {
13 | mat4 modelMatrix = iModelMatrix;
14 | vec3 worldPos = GetWorldPos(modelMatrix);
15 |
16 | float windStrength = max(iPos.y - cWindHeightPivot, 0.0) * cWindHeightFactor;
17 | float windPeriod = cElapsedTime * cWindPeriod + dot(worldPos.xz, cWindWorldSpacing);
18 | worldPos.x += windStrength * sin(windPeriod);
19 | worldPos.z -= windStrength * cos(windPeriod);
20 |
21 | gl_Position = GetClipPos(worldPos);
22 | vTexCoord = GetTexCoord(iTexCoord);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/GLSL/Water.glsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.glsl"
2 | #include "Samplers.glsl"
3 | #include "Transform.glsl"
4 | #include "ScreenPos.glsl"
5 | #include "Fog.glsl"
6 |
7 | varying vec4 vScreenPos;
8 | varying vec2 vReflectUV;
9 | varying vec2 vWaterUV;
10 | varying vec3 vNormal;
11 | varying vec4 vEyeVec;
12 |
13 | #ifdef COMPILEVS
14 | uniform vec2 cNoiseSpeed;
15 | uniform float cNoiseTiling;
16 | #endif
17 | #ifdef COMPILEPS
18 | uniform float cNoiseStrength;
19 | uniform float cFresnelPower;
20 | uniform vec3 cWaterTint;
21 | #endif
22 |
23 | void VS()
24 | {
25 | mat4 modelMatrix = iModelMatrix;
26 | vec3 worldPos = GetWorldPos(modelMatrix);
27 | gl_Position = GetClipPos(worldPos);
28 | vScreenPos = GetScreenPos(gl_Position);
29 | // GetQuadTexCoord() returns a vec2 that is OK for quad rendering; multiply it with output W
30 | // coordinate to make it work with arbitrary meshes such as the water plane (perform divide in pixel shader)
31 | // Also because the quadTexCoord is based on the clip position, and Y is flipped when rendering to a texture
32 | // on OpenGL, must flip again to cancel it out
33 | vReflectUV = GetQuadTexCoord(gl_Position);
34 | vReflectUV.y = 1.0 - vReflectUV.y;
35 | vReflectUV *= gl_Position.w;
36 | vWaterUV = iTexCoord * cNoiseTiling + cElapsedTime * cNoiseSpeed;
37 | vNormal = GetWorldNormal(modelMatrix);
38 | vEyeVec = vec4(cCameraPos - worldPos, GetDepth(gl_Position));
39 | }
40 |
41 | void PS()
42 | {
43 | vec2 refractUV = vScreenPos.xy / vScreenPos.w;
44 | vec2 reflectUV = vReflectUV.xy / vScreenPos.w;
45 |
46 | vec2 noise = (texture2D(sNormalMap, vWaterUV).rg - 0.5) * cNoiseStrength;
47 | refractUV += noise;
48 | // Do not shift reflect UV coordinate upward, because it will reveal the clipping of geometry below water
49 | if (noise.y < 0.0)
50 | noise.y = 0.0;
51 | reflectUV += noise;
52 |
53 | float fresnel = pow(1.0 - clamp(dot(normalize(vEyeVec.xyz), vNormal), 0.0, 1.0), cFresnelPower);
54 | vec3 refractColor = texture2D(sEnvMap, refractUV).rgb * cWaterTint;
55 | vec3 reflectColor = texture2D(sDiffMap, reflectUV).rgb;
56 | vec3 finalColor = mix(refractColor, reflectColor, fresnel);
57 |
58 | gl_FragColor = vec4(GetFog(finalColor, GetFogFactor(vEyeVec.w)), 1.0);
59 | }
60 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Basic.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | void VS(float4 iPos : POSITION,
6 | #ifdef SKINNED
7 | float4 iBlendWeights : BLENDWEIGHT,
8 | int4 iBlendIndices : BLENDINDICES,
9 | #endif
10 | #ifdef INSTANCED
11 | float4x3 iModelInstance : TEXCOORD2,
12 | #endif
13 | #ifdef BILLBOARD
14 | float2 iSize : TEXCOORD1,
15 | #endif
16 | #ifdef DIFFMAP
17 | float2 iTexCoord : TEXCOORD0,
18 | #endif
19 | #ifdef VERTEXCOLOR
20 | float4 iColor : COLOR0,
21 | out float4 oColor : COLOR0,
22 | #endif
23 | #ifdef DIFFMAP
24 | out float2 oTexCoord : TEXCOORD0,
25 | #endif
26 | out float4 oPos : POSITION)
27 | {
28 | float4x3 modelMatrix = iModelMatrix;
29 | float3 worldPos = GetWorldPos(modelMatrix);
30 | oPos = GetClipPos(worldPos);
31 |
32 | #ifdef VERTEXCOLOR
33 | oColor = iColor;
34 | #endif
35 | #ifdef DIFFMAP
36 | oTexCoord = iTexCoord;
37 | #endif
38 | }
39 |
40 | void PS(
41 | #ifdef VERTEXCOLOR
42 | float4 iColor : COLOR0,
43 | #endif
44 | #if defined(DIFFMAP) || defined(ALPHAMAP)
45 | float2 iTexCoord : TEXCOORD0,
46 | #endif
47 | out float4 oColor : COLOR0)
48 | {
49 | float4 diffColor = cMatDiffColor;
50 |
51 | #ifdef VERTEXCOLOR
52 | diffColor *= iColor;
53 | #endif
54 |
55 | #if (!defined(DIFFMAP)) && (!defined(ALPHAMAP))
56 | oColor = diffColor;
57 | #endif
58 | #ifdef DIFFMAP
59 | float4 diffInput = tex2D(sDiffMap, iTexCoord);
60 | #ifdef ALPHAMASK
61 | if (diffInput.a < 0.5)
62 | discard;
63 | #endif
64 | oColor = diffColor * diffInput;
65 | #endif
66 | #ifdef ALPHAMAP
67 | float alphaInput = tex2D(sDiffMap, iTexCoord).a;
68 | oColor = float4(diffColor.rgb, diffColor.a * alphaInput);
69 | #endif
70 | }
71 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Bloom.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 | #include "Samplers.hlsl"
4 | #include "ScreenPos.hlsl"
5 |
6 | uniform float cBloomThreshold;
7 | uniform float2 cBloomMix;
8 | uniform float2 cHBlurOffsets;
9 | uniform float2 cHBlurInvSize;
10 |
11 | static const float offsets[5] = {
12 | 2.0,
13 | 1.0,
14 | 0.0,
15 | -1.0,
16 | -2.0,
17 | };
18 |
19 | static const float weights[5] = {
20 | 0.1,
21 | 0.25,
22 | 0.3,
23 | 0.25,
24 | 0.1
25 | };
26 |
27 | void VS(float4 iPos : POSITION,
28 | out float4 oPos : POSITION,
29 | out float2 oTexCoord : TEXCOORD0,
30 | out float2 oScreenPos : TEXCOORD1)
31 | {
32 | float4x3 modelMatrix = iModelMatrix;
33 | float3 worldPos = GetWorldPos(modelMatrix);
34 | oPos = GetClipPos(worldPos);
35 | oTexCoord = GetQuadTexCoord(oPos) + cHBlurOffsets;
36 | oScreenPos = GetScreenPosPreDiv(oPos);
37 | }
38 |
39 | void PS(float2 iTexCoord : TEXCOORD0,
40 | float2 iScreenPos : TEXCOORD1,
41 | out float4 oColor : COLOR0)
42 | {
43 | #ifdef BRIGHT
44 | float3 rgb = tex2D(sDiffMap, iScreenPos).rgb;
45 | oColor = float4((rgb - cBloomThreshold) / (1.0 - cBloomThreshold), 1.0);
46 | #endif
47 |
48 | #ifdef HBLUR
49 | float3 rgb = 0.0;
50 | for (int i = 0; i < 5; ++i)
51 | rgb += tex2D(sDiffMap, iTexCoord + (float2(offsets[i], 0.0)) * cHBlurInvSize).rgb * weights[i];
52 | oColor = float4(rgb, 1.0);
53 | #endif
54 |
55 | #ifdef VBLUR
56 | float3 rgb = 0.0;
57 | for (int i = 0; i < 5; ++i)
58 | rgb += tex2D(sDiffMap, iTexCoord + (float2(0.0, offsets[i])) * cHBlurInvSize).rgb * weights[i];
59 | oColor = float4(rgb, 1.0);
60 | #endif
61 |
62 | #ifdef COMBINE
63 | float3 original = tex2D(sDiffMap, iScreenPos).rgb * cBloomMix.x;
64 | float3 bloom = tex2D(sNormalMap, iTexCoord).rgb * cBloomMix.y;
65 | // Prevent oversaturation
66 | original *= saturate(1.0 - bloom);
67 | oColor = float4(original + bloom, 1.0);
68 | #endif
69 | }
70 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Blur.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 | #include "Samplers.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "PostProcess.hlsl"
6 |
7 | uniform float2 cBlurDir;
8 | uniform float cBlurRadius;
9 | uniform float cBlurSigma;
10 | uniform float2 cBlurHOffsets;
11 | uniform float2 cBlurHInvSize;
12 |
13 | void VS(float4 iPos : POSITION,
14 | out float4 oPos : POSITION,
15 | out float2 oTexCoord : TEXCOORD0,
16 | out float2 oScreenPos : TEXCOORD1)
17 | {
18 | float4x3 modelMatrix = iModelMatrix;
19 | float3 worldPos = GetWorldPos(modelMatrix);
20 | oPos = GetClipPos(worldPos);
21 | oTexCoord = GetQuadTexCoord(oPos) + cBlurHOffsets;
22 | oScreenPos = GetScreenPosPreDiv(oPos);
23 | }
24 |
25 | void PS(float2 iTexCoord : TEXCOORD0,
26 | float2 iScreenPos : TEXCOORD1,
27 | out float4 oColor : COLOR0)
28 | {
29 | #ifdef BLUR3
30 | oColor = GaussianBlur(3, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, iTexCoord);
31 | #endif
32 |
33 | #ifdef BLUR5
34 | oColor = GaussianBlur(5, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, iTexCoord);
35 | #endif
36 |
37 | #ifdef BLUR7
38 | oColor = GaussianBlur(7, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, iTexCoord);
39 | #endif
40 |
41 | #ifdef BLUR9
42 | oColor = GaussianBlur(9, cBlurDir, cBlurHInvSize * cBlurRadius, cBlurSigma, sDiffMap, iTexCoord);
43 | #endif
44 | }
45 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/ColorCorrection.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 | #include "Samplers.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "PostProcess.hlsl"
6 |
7 | void VS(float4 iPos : POSITION,
8 | out float4 oPos : POSITION,
9 | out float2 oScreenPos : TEXCOORD0)
10 | {
11 | float4x3 modelMatrix = iModelMatrix;
12 | float3 worldPos = GetWorldPos(modelMatrix);
13 | oPos = GetClipPos(worldPos);
14 | oScreenPos = GetScreenPosPreDiv(oPos);
15 | }
16 |
17 | void PS(float2 iScreenPos : TEXCOORD0,
18 | out float4 oColor : COLOR0)
19 | {
20 | float3 color = tex2D(sDiffMap, iScreenPos).rgb;
21 | oColor = float4(ColorCorrection(color, sVolumeMap), 1.0);
22 | }
23 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/CopyFramebuffer.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 | #include "ScreenPos.hlsl"
5 |
6 | void VS(float4 iPos : POSITION,
7 | out float2 oScreenPos : TEXCOORD0,
8 | out float4 oPos : POSITION)
9 | {
10 | float4x3 modelMatrix = iModelMatrix;
11 | float3 worldPos = GetWorldPos(modelMatrix);
12 | oPos = GetClipPos(worldPos);
13 | oScreenPos = GetScreenPosPreDiv(oPos);
14 | }
15 |
16 | void PS(float2 iScreenPos : TEXCOORD0,
17 | out float4 oColor : COLOR0)
18 | {
19 | oColor = tex2D(sDiffMap, iScreenPos);
20 | }
21 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Depth.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | void VS(float4 iPos : POSITION,
6 | #ifdef SKINNED
7 | float4 iBlendWeights : BLENDWEIGHT,
8 | int4 iBlendIndices : BLENDINDICES,
9 | #endif
10 | #ifdef INSTANCED
11 | float4x3 iModelInstance : TEXCOORD2,
12 | #endif
13 | float2 iTexCoord : TEXCOORD0,
14 | out float3 oTexCoord : TEXCOORD0,
15 | out float4 oPos : POSITION)
16 | {
17 | float4x3 modelMatrix = iModelMatrix;
18 | float3 worldPos = GetWorldPos(modelMatrix);
19 | oPos = GetClipPos(worldPos);
20 | oTexCoord = float3(GetTexCoord(iTexCoord), GetDepth(oPos));
21 | }
22 |
23 | void PS(
24 | float3 iTexCoord : TEXCOORD0,
25 | out float4 oColor : COLOR0)
26 | {
27 | #ifdef ALPHAMASK
28 | float alpha = tex2D(sDiffMap, iTexCoord.xy).a;
29 | if (alpha < 0.5)
30 | discard;
31 | #endif
32 |
33 | oColor = iTexCoord.z;
34 | }
35 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Fog.hlsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEPS
2 | float3 GetFog(float3 color, float fogFactor)
3 | {
4 | return lerp(cFogColor, color, fogFactor);
5 | }
6 |
7 | float3 GetLitFog(float3 color, float fogFactor)
8 | {
9 | return color * fogFactor;
10 | }
11 |
12 | float GetFogFactor(float depth)
13 | {
14 | return saturate((cFogParams.x - depth) * cFogParams.y);
15 | }
16 |
17 | float GetHeightFogFactor(float depth, float height)
18 | {
19 | float fogFactor = GetFogFactor(depth);
20 | float heightFogFactor = (height - cFogParams.z) * cFogParams.w;
21 | heightFogFactor = 1.0 - saturate(exp(-(heightFogFactor * heightFogFactor)));
22 | return min(heightFogFactor, fogFactor);
23 | }
24 | #endif
25 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/GammaCorrection.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 | #include "Samplers.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "PostProcess.hlsl"
6 |
7 | void VS(float4 iPos : POSITION,
8 | out float4 oPos : POSITION,
9 | out float2 oScreenPos : TEXCOORD0)
10 | {
11 | float4x3 modelMatrix = iModelMatrix;
12 | float3 worldPos = GetWorldPos(modelMatrix);
13 | oPos = GetClipPos(worldPos);
14 | oScreenPos = GetScreenPosPreDiv(oPos);
15 | }
16 |
17 | void PS(float2 iScreenPos : TEXCOORD0,
18 | out float4 oColor : COLOR0)
19 | {
20 | float3 color = tex2D(sDiffMap, iScreenPos).rgb;
21 | oColor = float4(ToInverseGamma(color), 1.0);
22 | }
23 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/GreyScale.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "Lighting.hlsl"
6 |
7 | void VS(float4 iPos : POSITION,
8 | out float4 oPos : POSITION,
9 | out float2 oScreenPos : TEXCOORD0)
10 | {
11 | float4x3 modelMatrix = iModelMatrix;
12 | float3 worldPos = GetWorldPos(modelMatrix);
13 | oPos = GetClipPos(worldPos);
14 | oScreenPos = GetScreenPosPreDiv(oPos);
15 | }
16 |
17 | void PS(float2 iScreenPos : TEXCOORD0,
18 | out float4 oColor : COLOR0)
19 | {
20 | float3 rgb = tex2D(sDiffMap, iScreenPos).rgb;
21 | float intensity = GetIntensity(rgb);
22 | oColor = float4(intensity, intensity, intensity, 1.0);
23 | }
24 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Samplers.hlsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEPS
2 | sampler2D sDiffMap : register(S0);
3 | samplerCUBE sDiffCubeMap : register(S0);
4 | sampler2D sAlbedoBuffer : register(S0);
5 | sampler2D sNormalMap : register(S1);
6 | sampler2D sNormalBuffer : register(S1);
7 | sampler2D sSpecMap : register(S2);
8 | sampler2D sEmissiveMap : register(S3);
9 | sampler2D sEnvMap : register(S4);
10 | samplerCUBE sEnvCubeMap : register(S4);
11 | sampler1D sLightRampMap : register(S5);
12 | sampler2D sLightSpotMap : register(S6);
13 | samplerCUBE sLightCubeMap : register(S6);
14 | sampler2D sShadowMap : register(S7);
15 | samplerCUBE sFaceSelectCubeMap : register(S8);
16 | samplerCUBE sIndirectionCubeMap : register(S9);
17 | sampler2D sDepthBuffer : register(S10);
18 | sampler2D sLightBuffer : register(S11);
19 | sampler3D sVolumeMap : register(S12);
20 |
21 | float4 Sample(sampler2D map, float2 texCoord)
22 | {
23 | // Use tex2Dlod if available to avoid divergence and allow branching
24 | #ifdef SM3
25 | return tex2Dlod(map, float4(texCoord, 0.0, 0.0));
26 | #else
27 | return tex2D(map, texCoord);
28 | #endif
29 | }
30 |
31 | float3 DecodeNormal(float4 normalInput)
32 | {
33 | #ifdef PACKEDNORMAL
34 | float3 normal;
35 | normal.xy = normalInput.ag * 2.0 - 1.0;
36 | #ifdef SM3
37 | normal.z = sqrt(max(1.0 - dot(normal.xy, normal.xy), 0.0));
38 | #else
39 | normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
40 | #endif
41 | return normal;
42 | #else
43 | return normalInput.rgb * 2.0 - 1.0;
44 | #endif
45 | }
46 | #endif
47 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/ScreenPos.hlsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEVS
2 | float4 GetScreenPos(float4 clipPos)
3 | {
4 | return float4(
5 | clipPos.x * cGBufferOffsets.z + cGBufferOffsets.x * clipPos.w,
6 | -clipPos.y * cGBufferOffsets.w + cGBufferOffsets.y * clipPos.w,
7 | 0.0,
8 | clipPos.w);
9 | }
10 |
11 | float2 GetScreenPosPreDiv(float4 clipPos)
12 | {
13 | return float2(
14 | clipPos.x / clipPos.w * cGBufferOffsets.z + cGBufferOffsets.x,
15 | -clipPos.y / clipPos.w * cGBufferOffsets.w + cGBufferOffsets.y);
16 | }
17 |
18 | float2 GetQuadTexCoord(float4 clipPos)
19 | {
20 | return float2(
21 | clipPos.x / clipPos.w * 0.5 + 0.5,
22 | -clipPos.y / clipPos.w * 0.5 + 0.5);
23 | }
24 |
25 | float2 GetQuadTexCoordNoFlip(float3 worldPos)
26 | {
27 | return float2(
28 | worldPos.x * 0.5 + 0.5,
29 | -worldPos.y * 0.5 + 0.5);
30 | }
31 |
32 | float3 GetFarRay(float4 clipPos)
33 | {
34 | float3 viewRay = float3(
35 | clipPos.x / clipPos.w * cFrustumSize.x,
36 | clipPos.y / clipPos.w * cFrustumSize.y,
37 | cFrustumSize.z);
38 |
39 | return mul(viewRay, cCameraRot);
40 | }
41 |
42 | float3 GetNearRay(float4 clipPos)
43 | {
44 | float3 viewRay = float3(
45 | clipPos.x / clipPos.w * cFrustumSize.x,
46 | clipPos.y / clipPos.w * cFrustumSize.y,
47 | 0.0);
48 |
49 | return mul(viewRay, cCameraRot) * cDepthMode.z;
50 | }
51 | #endif
52 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Shadow.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | void VS(float4 iPos : POSITION,
6 | #ifdef SKINNED
7 | float4 iBlendWeights : BLENDWEIGHT,
8 | int4 iBlendIndices : BLENDINDICES,
9 | #endif
10 | #ifdef INSTANCED
11 | float4x3 iModelInstance : TEXCOORD2,
12 | #endif
13 | float2 iTexCoord : TEXCOORD0,
14 | out float2 oTexCoord : TEXCOORD0,
15 | out float4 oPos : POSITION)
16 | {
17 | float4x3 modelMatrix = iModelMatrix;
18 | float3 worldPos = GetWorldPos(modelMatrix);
19 | oPos = GetClipPos(worldPos);
20 | oTexCoord = GetTexCoord(iTexCoord);
21 | }
22 |
23 | void PS(
24 | float2 iTexCoord : TEXCOORD0,
25 | out float4 oColor : COLOR0)
26 | {
27 | #ifdef ALPHAMASK
28 | float alpha = tex2D(sDiffMap, iTexCoord).a;
29 | if (alpha < 0.5)
30 | discard;
31 | #endif
32 |
33 | oColor = 1.0;
34 | }
35 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Skybox.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | void VS(float4 iPos : POSITION,
6 | out float4 oPos : POSITION,
7 | out float3 oTexCoord : TEXCOORD0)
8 | {
9 | float4x3 modelMatrix = iModelMatrix;
10 | float3 worldPos = GetWorldPos(modelMatrix);
11 | oPos = GetClipPos(worldPos);
12 |
13 | oPos.z = oPos.w;
14 | oTexCoord = iPos.xyz;
15 | }
16 |
17 | void PS(float3 iTexCoord : TEXCOORD0,
18 | out float4 oColor : COLOR0)
19 | {
20 | oColor = cMatDiffColor * texCUBE(sDiffCubeMap, iTexCoord);
21 | }
22 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Stencil.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 |
4 | void VS(float4 iPos : POSITION,
5 | out float4 oPos : POSITION)
6 | {
7 | float4x3 modelMatrix = iModelMatrix;
8 | float3 worldPos = GetWorldPos(modelMatrix);
9 | oPos = GetClipPos(worldPos);
10 | }
11 |
12 | void PS(out float4 oColor : COLOR0)
13 | {
14 | oColor = 1.0;
15 | }
16 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Tonemap.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Transform.hlsl"
3 | #include "Samplers.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "PostProcess.hlsl"
6 |
7 | uniform float cTonemapExposureBias;
8 | uniform float cTonemapMaxWhite;
9 |
10 | void VS(float4 iPos : POSITION,
11 | out float4 oPos : POSITION,
12 | out float2 oScreenPos : TEXCOORD0)
13 | {
14 | float4x3 modelMatrix = iModelMatrix;
15 | float3 worldPos = GetWorldPos(modelMatrix);
16 | oPos = GetClipPos(worldPos);
17 | oScreenPos = GetScreenPosPreDiv(oPos);
18 | }
19 |
20 | void PS(float2 iScreenPos : TEXCOORD0,
21 | out float4 oColor : COLOR0)
22 | {
23 | #ifdef REINHARDEQ3
24 | float3 color = ReinhardEq3Tonemap(max(tex2D(sDiffMap, iScreenPos).rgb * cTonemapExposureBias, 0.0));
25 | oColor = float4(color, 1.0);
26 | #endif
27 |
28 | #ifdef REINHARDEQ4
29 | float3 color = ReinhardEq4Tonemap(max(tex2D(sDiffMap, iScreenPos).rgb * cTonemapExposureBias, 0.0), cTonemapMaxWhite);
30 | oColor = float4(color, 1.0);
31 | #endif
32 |
33 | #ifdef UNCHARTED2
34 | float3 color = Uncharted2Tonemap(max(tex2D(sDiffMap, iScreenPos).rgb * cTonemapExposureBias, 0.0)) /
35 | Uncharted2Tonemap(float3(cTonemapMaxWhite, cTonemapMaxWhite, cTonemapMaxWhite));
36 | oColor = float4(color, 1.0);
37 | #endif
38 | }
39 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Transform.hlsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEVS
2 | #ifdef SKINNED
3 | float4x3 GetSkinMatrix(float4 blendWeights, int4 blendIndices)
4 | {
5 | return cSkinMatrices[blendIndices.x] * blendWeights.x +
6 | cSkinMatrices[blendIndices.y] * blendWeights.y +
7 | cSkinMatrices[blendIndices.z] * blendWeights.z +
8 | cSkinMatrices[blendIndices.w] * blendWeights.w;
9 | }
10 | #endif
11 |
12 | float2 GetTexCoord(float2 iTexCoord)
13 | {
14 | return float2(dot(iTexCoord, cUOffset.xy) + cUOffset.w, dot(iTexCoord, cVOffset.xy) + cVOffset.w);
15 | };
16 |
17 | float4 GetClipPos(float3 worldPos)
18 | {
19 | return mul(float4(worldPos, 1.0), cViewProj);
20 | }
21 |
22 | float GetZonePos(float3 worldPos)
23 | {
24 | return saturate(mul(float4(worldPos, 1.0), cZone).z);
25 | }
26 |
27 | float GetDepth(float4 clipPos)
28 | {
29 | return dot(clipPos.zw, cDepthMode.zw);
30 | }
31 |
32 | float3 GetBillboardPos(float4 iPos, float2 iSize, float4x3 modelMatrix)
33 | {
34 | return mul(iPos, modelMatrix) + mul(float3(iSize.x, iSize.y, 0.0), cBillboardRot);
35 | }
36 |
37 | float3 GetBillboardNormal()
38 | {
39 | return float3(-cBillboardRot[2][0], -cBillboardRot[2][1], -cBillboardRot[2][2]);
40 | }
41 |
42 | #if defined(SKINNED)
43 | #define iModelMatrix GetSkinMatrix(iBlendWeights, iBlendIndices);
44 | #elif defined(INSTANCED)
45 | #define iModelMatrix iModelInstance
46 | #else
47 | #define iModelMatrix cModel
48 | #endif
49 |
50 | #ifdef BILLBOARD
51 | #define GetWorldPos(modelMatrix) GetBillboardPos(iPos, iSize, modelMatrix)
52 | #else
53 | #define GetWorldPos(modelMatrix) mul(iPos, modelMatrix)
54 | #endif
55 |
56 | #ifdef BILLBOARD
57 | #define GetWorldNormal(modelMatrix) GetBillboardNormal()
58 | #else
59 | #define GetWorldNormal(modelMatrix) normalize(mul(iNormal, (float3x3)modelMatrix))
60 | #endif
61 |
62 | #define GetWorldTangent(modelMatrix) normalize(mul(iTangent.xyz, (float3x3)modelMatrix))
63 | #endif
64 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Uniforms.hlsl:
--------------------------------------------------------------------------------
1 | #ifdef COMPILEVS
2 | // Vertex shader uniforms
3 | uniform float3 cAmbientStartColor;
4 | uniform float3 cAmbientEndColor;
5 | uniform float3x3 cBillboardRot;
6 | uniform float3 cCameraPos;
7 | uniform float3x3 cCameraRot;
8 | uniform float cNearClip;
9 | uniform float cFarClip;
10 | uniform float4 cDepthMode;
11 | uniform float cDeltaTime;
12 | uniform float cElapsedTime;
13 | uniform float3 cFrustumSize;
14 | uniform float4 cGBufferOffsets;
15 | uniform float3 cLightDir;
16 | uniform float4 cLightPos;
17 | uniform float4x3 cModel;
18 | uniform float4x4 cViewProj;
19 | uniform float4 cUOffset;
20 | uniform float4 cVOffset;
21 | uniform float4x3 cZone;
22 | uniform float4x4 cLightMatrices[4];
23 | #ifdef SKINNED
24 | uniform float4x3 cSkinMatrices[64];
25 | #endif
26 | #ifdef NUMVERTEXLIGHTS
27 | uniform float4 cVertexLights[4*3];
28 | #endif
29 | #endif
30 |
31 | #ifdef COMPILEPS
32 | // Pixel shader uniforms
33 | uniform float3 cAmbientColor;
34 | uniform float3 cCameraPosPS;
35 | uniform float cDeltaTimePS;
36 | uniform float cElapsedTimePS;
37 | uniform float4 cFogParams;
38 | uniform float3 cFogColor;
39 | uniform float2 cGBufferInvSize;
40 | uniform float4 cLightColor;
41 | uniform float4 cLightPosPS;
42 | uniform float3 cLightDirPS;
43 | uniform float4 cMatDiffColor;
44 | uniform float3 cMatEmissiveColor;
45 | uniform float3 cMatEnvMapColor;
46 | uniform float4 cMatSpecColor;
47 | uniform float cNearClipPS;
48 | uniform float cFarClipPS;
49 | uniform float4 cShadowCubeAdjust;
50 | uniform float4 cShadowDepthFade;
51 | uniform float2 cShadowIntensity;
52 | uniform float2 cShadowMapInvSize;
53 | uniform float4 cShadowSplits;
54 | #ifdef SM3
55 | uniform float4x4 cLightMatricesPS[4];
56 | #else
57 | uniform float4x4 cLightMatricesPS[3];
58 | #endif
59 | #endif
60 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Unlit.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 | #include "Fog.hlsl"
5 |
6 | void VS(float4 iPos : POSITION,
7 | float2 iTexCoord : TEXCOORD0,
8 | #ifdef VERTEXCOLOR
9 | float4 iColor : COLOR0,
10 | #endif
11 | #ifdef SKINNED
12 | float4 iBlendWeights : BLENDWEIGHT,
13 | int4 iBlendIndices : BLENDINDICES,
14 | #endif
15 | #ifdef INSTANCED
16 | float4x3 iModelInstance : TEXCOORD2,
17 | #endif
18 | #ifdef BILLBOARD
19 | float2 iSize : TEXCOORD1,
20 | #endif
21 | out float2 oTexCoord : TEXCOORD0,
22 | out float4 oWorldPos : TEXCOORD2,
23 | #ifdef VERTEXCOLOR
24 | out float4 oColor : COLOR0,
25 | #endif
26 | out float4 oPos : POSITION)
27 | {
28 | float4x3 modelMatrix = iModelMatrix;
29 | float3 worldPos = GetWorldPos(modelMatrix);
30 | oPos = GetClipPos(worldPos);
31 | oTexCoord = GetTexCoord(iTexCoord);
32 | oWorldPos = float4(worldPos, GetDepth(oPos));
33 |
34 | #ifdef VERTEXCOLOR
35 | oColor = iColor;
36 | #endif
37 | }
38 |
39 | void PS(float2 iTexCoord : TEXCOORD0,
40 | float4 iWorldPos: TEXCOORD2,
41 | #ifdef VERTEXCOLOR
42 | float4 iColor : COLOR0,
43 | #endif
44 | #ifdef PREPASS
45 | out float4 oDepth : COLOR1,
46 | #endif
47 | #ifdef DEFERRED
48 | out float4 oAlbedo : COLOR1,
49 | out float4 oNormal : COLOR2,
50 | out float4 oDepth : COLOR3,
51 | #endif
52 | out float4 oColor : COLOR0)
53 | {
54 | // Get material diffuse albedo
55 | #ifdef DIFFMAP
56 | float4 diffColor = cMatDiffColor * tex2D(sDiffMap, iTexCoord);
57 | #ifdef ALPHAMASK
58 | if (diffColor.a < 0.5)
59 | discard;
60 | #endif
61 | #else
62 | float4 diffColor = cMatDiffColor;
63 | #endif
64 |
65 | #ifdef VERTEXCOLOR
66 | diffColor *= iColor;
67 | #endif
68 |
69 | // Get fog factor
70 | #ifdef HEIGHTFOG
71 | float fogFactor = GetHeightFogFactor(iWorldPos.w, iWorldPos.y);
72 | #else
73 | float fogFactor = GetFogFactor(iWorldPos.w);
74 | #endif
75 |
76 | #if defined(PREPASS)
77 | // Fill light pre-pass G-Buffer
78 | oColor = float4(0.5, 0.5, 0.5, 1.0);
79 | oDepth = iWorldPos.w;
80 | #elif defined(DEFERRED)
81 | // Fill deferred G-buffer
82 | oColor = float4(GetFog(diffColor.rgb, fogFactor), diffColor.a);
83 | oAlbedo = float4(0.0, 0.0, 0.0, 0.0);
84 | oNormal = float4(0.5, 0.5, 0.5, 1.0);
85 | oDepth = iWorldPos.w;
86 | #else
87 | oColor = float4(GetFog(diffColor.rgb, fogFactor), diffColor.a);
88 | #endif
89 | }
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/VegetationDepth.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | uniform float cWindHeightFactor;
6 | uniform float cWindHeightPivot;
7 | uniform float cWindPeriod;
8 | uniform float2 cWindWorldSpacing;
9 |
10 | void VS(float4 iPos : POSITION,
11 | #ifdef SKINNED
12 | float4 iBlendWeights : BLENDWEIGHT,
13 | int4 iBlendIndices : BLENDINDICES,
14 | #endif
15 | #ifdef INSTANCED
16 | float4x3 iModelInstance : TEXCOORD2,
17 | #endif
18 | float2 iTexCoord : TEXCOORD0,
19 | out float3 oTexCoord : TEXCOORD0,
20 | out float4 oPos : POSITION)
21 | {
22 | float4x3 modelMatrix = iModelMatrix;
23 | float3 worldPos = GetWorldPos(modelMatrix);
24 |
25 | float windStrength = max(iPos.y - cWindHeightPivot, 0.0) * cWindHeightFactor;
26 | float windPeriod = cElapsedTime * cWindPeriod + dot(worldPos.xz, cWindWorldSpacing);
27 | worldPos.x += windStrength * sin(windPeriod);
28 | worldPos.z -= windStrength * cos(windPeriod);
29 |
30 | oPos = GetClipPos(worldPos);
31 | oTexCoord = float3(GetTexCoord(iTexCoord), GetDepth(oPos));
32 | }
33 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/VegetationShadow.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 |
5 | uniform float cWindHeightFactor;
6 | uniform float cWindHeightPivot;
7 | uniform float cWindPeriod;
8 | uniform float2 cWindWorldSpacing;
9 |
10 | void VS(float4 iPos : POSITION,
11 | #ifdef SKINNED
12 | float4 iBlendWeights : BLENDWEIGHT,
13 | int4 iBlendIndices : BLENDINDICES,
14 | #endif
15 | #ifdef INSTANCED
16 | float4x3 iModelInstance : TEXCOORD2,
17 | #endif
18 | float2 iTexCoord : TEXCOORD0,
19 | out float2 oTexCoord : TEXCOORD0,
20 | out float4 oPos : POSITION)
21 | {
22 | float4x3 modelMatrix = iModelMatrix;
23 | float3 worldPos = GetWorldPos(modelMatrix);
24 |
25 | float windStrength = max(iPos.y - cWindHeightPivot, 0.0) * cWindHeightFactor;
26 | float windPeriod = cElapsedTime * cWindPeriod + dot(worldPos.xz, cWindWorldSpacing);
27 | worldPos.x += windStrength * sin(windPeriod);
28 | worldPos.z -= windStrength * cos(windPeriod);
29 |
30 | oPos = GetClipPos(worldPos);
31 | oTexCoord = GetTexCoord(iTexCoord);
32 | }
33 |
--------------------------------------------------------------------------------
/Bin/CoreData/Shaders/HLSL/Water.hlsl:
--------------------------------------------------------------------------------
1 | #include "Uniforms.hlsl"
2 | #include "Samplers.hlsl"
3 | #include "Transform.hlsl"
4 | #include "ScreenPos.hlsl"
5 | #include "Fog.hlsl"
6 |
7 | uniform float2 cNoiseSpeed;
8 | uniform float cNoiseTiling;
9 | uniform float cNoiseStrength;
10 | uniform float cFresnelPower;
11 | uniform float3 cWaterTint;
12 |
13 | void VS(float4 iPos : POSITION,
14 | float3 iNormal: NORMAL,
15 | float2 iTexCoord : TEXCOORD0,
16 | out float4 oScreenPos : TEXCOORD0,
17 | out float2 oReflectUV : TEXCOORD1,
18 | out float2 oWaterUV : TEXCOORD2,
19 | out float3 oNormal : TEXCOORD3,
20 | out float4 oEyeVec : TEXCOORD4,
21 | out float4 oPos : POSITION)
22 | {
23 | float4x3 modelMatrix = iModelMatrix;
24 | float3 worldPos = GetWorldPos(modelMatrix);
25 | oPos = GetClipPos(worldPos);
26 |
27 | oScreenPos = GetScreenPos(oPos);
28 | // GetQuadTexCoord() returns a float2 that is OK for quad rendering; multiply it with output W
29 | // coordinate to make it work with arbitrary meshes such as the water plane (perform divide in pixel shader)
30 | oReflectUV = GetQuadTexCoord(oPos) * oPos.w;
31 | oWaterUV = iTexCoord * cNoiseTiling + cElapsedTime * cNoiseSpeed;
32 | oNormal = GetWorldNormal(modelMatrix);
33 | oEyeVec = float4(cCameraPos - worldPos, GetDepth(oPos));
34 | }
35 |
36 | void PS(
37 | float4 iScreenPos : TEXCOORD0,
38 | float2 iReflectUV : TEXCOORD1,
39 | float2 iWaterUV : TEXCOORD2,
40 | float3 iNormal : TEXCOORD3,
41 | float4 iEyeVec : TEXCOORD4,
42 | out float4 oColor : COLOR0)
43 | {
44 | float2 refractUV = iScreenPos.xy / iScreenPos.w;
45 | float2 reflectUV = iReflectUV.xy / iScreenPos.w;
46 |
47 | float2 noise = (tex2D(sNormalMap, iWaterUV).rg - 0.5) * cNoiseStrength;
48 | refractUV += noise;
49 | // Do not shift reflect UV coordinate upward, because it will reveal the clipping of geometry below water
50 | if (noise.y < 0.0)
51 | noise.y = 0.0;
52 | reflectUV += noise;
53 |
54 | float fresnel = pow(1.0 - saturate(dot(normalize(iEyeVec.xyz), iNormal)), cFresnelPower);
55 | float3 refractColor = tex2D(sEnvMap, refractUV).rgb * cWaterTint;
56 | float3 reflectColor = tex2D(sDiffMap, reflectUV).rgb;
57 | float3 finalColor = lerp(refractColor, reflectColor, fresnel);
58 |
59 | oColor = float4(GetFog(finalColor, GetFogFactor(iEyeVec.w)), 1.0);
60 | }
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/Diff.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAOAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAdd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAddAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEmissive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEmissiveAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEnvCube.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEnvCubeAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEnvCubeAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffEnvCubeAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffLightMap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffLightMapAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffLitParticleAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffMultiply.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalAOAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalEmissive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalEmissiveAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalEnvCube.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalEnvCubeAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPacked.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedAOAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedEmissive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedEmissiveAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedEnvCube.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedEnvCubeAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecAOAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecEmissive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalPackedSpecEmissiveAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecAOAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecEmissive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffNormalSpecEmissiveAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffOverlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffSkybox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffSkyplane.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffSpec.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffSpecAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffSpecAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffUnlitAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffVColAdd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffVColAddAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffVColMultiply.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/DiffVColUnlitAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTexture.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureAdd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureAddAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureEnvCube.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureEnvCubeAO.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureEnvCubeAOAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureEnvCubeAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureMultiply.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureNormal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureNormalAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureNormalPacked.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureNormalPackedAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureOverlay.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureUnlitAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureUnlitVCol.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureVColAdd.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureVColAddAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/NoTextureVColMultiply.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/TerrainBlend.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/VegetationDiff.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/VegetationDiffAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/VegetationDiffUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/VegetationDiffUnlitAlphaMask.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/CoreData/Techniques/Water.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/LUTIdentity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/LUTIdentity.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/LUTIdentity.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/Ramp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/Ramp.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/Ramp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/RampExtreme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/RampExtreme.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/RampExtreme.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/RampWide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/RampWide.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/RampWide.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/Spot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/Spot.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/Spot.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/SpotWide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/CoreData/Textures/SpotWide.png
--------------------------------------------------------------------------------
/Bin/CoreData/Textures/SpotWide.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/Data/Fonts/Anonymous Pro.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Fonts/Anonymous Pro.ttf
--------------------------------------------------------------------------------
/Bin/Data/Fonts/BlueHighway.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Fonts/BlueHighway.ttf
--------------------------------------------------------------------------------
/Bin/Data/Fonts/read_me.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Fonts/read_me.html
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/BlueUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/BrightBlueUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/BrightGreenUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/BrightRedUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/GreenUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/RedUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Editor/TexturedUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/GreenTransparent.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Jack.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/JackEnvMap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/LitSmoke.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Mushroom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/MushroomEnvMap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/MushroomWind.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/MushroomWindUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/NinjaSnowWar/CloudPlane.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/NinjaSnowWar/Ninja.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/NinjaSnowWar/Potion.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/NinjaSnowWar/Snow.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/NinjaSnowWar/SnowCrate.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Particle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Skybox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Smoke.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Stone.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/StoneEnvMap.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/StoneEnvMapSmall.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/StoneSmall.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/StoneTiled.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/StoneTiledH.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Terrain.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/UrhoDecal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/UrhoDecalAlpha.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/VColUnlit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/Bin/Data/Materials/Water.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_NegX.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_NegX.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_NegY.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_NegY.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_NegZ.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_NegZ.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_PosX.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_PosX.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_PosY.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_PosY.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/BrightDay1_PosZ.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/BrightDay1_PosZ.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/Editor/EditorIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Editor/EditorIcons.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/Editor/EditorIcons.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/Editor/NoPreviewAvailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Editor/NoPreviewAvailable.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/Flare.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Flare.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/HeightMap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/HeightMap.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/Jack_body_color.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Jack_body_color.jpg
--------------------------------------------------------------------------------
/Bin/Data/Textures/Jack_face.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Jack_face.jpg
--------------------------------------------------------------------------------
/Bin/Data/Textures/Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Logo.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/Logo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/LogoLarge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/LogoLarge.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/LogoLarge.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/Mushroom.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Mushroom.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/CloudPlane.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/CloudPlane.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/HealthBarBorder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/HealthBarBorder.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/HealthBarInside.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/HealthBarInside.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/Ninja.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/Ninja.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/Sight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/Sight.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/Sight.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/Snow.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/Snow.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/NinjaSnowWar/SnowCrate.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/NinjaSnowWar/SnowCrate.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/OldUI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/OldUI.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/OldUI.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/Skybox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/Smoke.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/Smoke.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/StoneDiffuse.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/StoneDiffuse.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/StoneNormal.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/StoneNormal.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/TerrainDetail1.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/TerrainDetail1.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/TerrainDetail2.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/TerrainDetail2.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/TerrainDetail3.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/TerrainDetail3.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/TerrainWeights.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/TerrainWeights.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/TouchInput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/TouchInput.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/UI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/UI.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/UI.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bin/Data/Textures/UrhoDecal.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/UrhoDecal.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/UrhoDecalAlpha.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/UrhoDecalAlpha.dds
--------------------------------------------------------------------------------
/Bin/Data/Textures/UrhoIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/UrhoIcon.png
--------------------------------------------------------------------------------
/Bin/Data/Textures/WaterNoise.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Textures/WaterNoise.dds
--------------------------------------------------------------------------------
/Bin/Data/UI/EditorContextMenu.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Bin/Data/UI/EditorInspectorWindow.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Bin/Data/UI/EditorInspector_Attribute.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Bin/Data/UI/EditorInspector_Style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Bin/Data/UI/EditorQuickMenu.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Bin/Data/UI/MessageBox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/Bin/Data/UI/ScreenJoystickSettings_NinjaSnowWar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Octree
7 |
8 |
9 |
10 |
11 |
12 |
13 | Debug
14 |
15 |
16 |
17 |
18 |
19 |
20 | HUD
21 |
22 |
23 |
24 |
25 |
26 |
27 | Console
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Bin/Data/UI/ScreenJoystick_NinjaSnowWar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Jump
4 | Fire
5 | -12 36
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Bin/Data/UI/ScreenJoystick_Samples.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | 12 -76
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/Aster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/Aster.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/Ball.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/Ball.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/Box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/Box.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon/1.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon/2.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon/3.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon/4.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/GoldIcon/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/GoldIcon/5.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/fire.pex:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/greenspiral.pex:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/greenspiral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/greenspiral.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp.txt:
--------------------------------------------------------------------------------
1 | Copyright (C) 2013 by TreeFortress (https://github.com/treefortress/SpriterAS/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | 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. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_blood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_blood.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_body.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_body.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_footbig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_footbig.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_footsmall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_footsmall.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_handbig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_handbig.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_handsmall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_handsmall.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_handthrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_handthrow.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_head.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_headangry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_headangry.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/imp/imp_headblink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/imp/imp_headblink.png
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/sun.pex:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Bin/Data/Urho2D/sun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/Data/Urho2D/sun.png
--------------------------------------------------------------------------------
/Bin/ParticleEditor2D.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/ParticleEditor2D.exe
--------------------------------------------------------------------------------
/Bin/QtCore4.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/QtCore4.dll
--------------------------------------------------------------------------------
/Bin/QtGui4.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/QtGui4.dll
--------------------------------------------------------------------------------
/Bin/msvcp110.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/msvcp110.dll
--------------------------------------------------------------------------------
/Bin/msvcr110.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Bin/msvcr110.dll
--------------------------------------------------------------------------------
/License.txt:
--------------------------------------------------------------------------------
1 | ParticleEditor2D license
2 | ------------------------
3 |
4 | Copyright (c) 2014 the ParticleEditor2D project.
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
24 |
25 | QDarkStyleSheet License
26 | -----------------------
27 |
28 | The MIT License (MIT)
29 |
30 | Copyright (c) <2013-2014>
31 |
32 | Permission is hereby granted, free of charge, to any person obtaining a copy
33 | of this software and associated documentation files (the "Software"), to deal
34 | in the Software without restriction, including without limitation the rights
35 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36 | copies of the Software, and to permit persons to whom the Software is
37 | furnished to do so, subject to the following conditions:
38 |
39 | The above copyright notice and this permission notice shall be included in
40 | all copies or substantial portions of the Software.
41 |
42 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
48 | THE SOFTWARE.
49 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | # ParticleEditor2D
2 | Qt based particle editor for Urho3D
3 |
4 | Licensed under the MIT license, see License.txt for details.
5 |
6 | ## Credits
7 |
8 | Particle editor development, contributions and bugfixes by:
9 | - Aster Jian
10 | - Xu Jing
11 |
12 | ## Building prerequisites
13 |
14 | To build ParticleEditor2D, first install Qt4.x sdk, then copy ParticleEditor2D's source folder to Urho3D's source folder.
15 |
--------------------------------------------------------------------------------
/Source/Tools/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2008-2014 the Urho3D project.
3 | #
4 | # Permission is hereby granted, free of charge, to any person obtaining a copy
5 | # of this software and associated documentation files (the "Software"), to deal
6 | # in the Software without restriction, including without limitation the rights
7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | # copies of the Software, and to permit persons to whom the Software is
9 | # furnished to do so, subject to the following conditions:
10 | #
11 | # The above copyright notice and this permission notice shall be included in
12 | # all copies or substantial portions of the Software.
13 | #
14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | # THE SOFTWARE.
21 | #
22 |
23 | # Set project name
24 | project (Urho3D-Tools)
25 |
26 | # Find Urho3D library
27 | find_package (Urho3D REQUIRED)
28 | include_directories (${URHO3D_INCLUDE_DIRS})
29 |
30 | # Urho3DPlayer application
31 | add_subdirectory (Urho3DPlayer)
32 |
33 | # ParticleEditor application
34 | add_subdirectory (ParticleEditor2D)
35 |
36 | # Do not build tools for iOS and Android regardless of the URHO3D_TOOLS build option
37 | if (NOT IOS AND NOT ANDROID AND URHO3D_TOOLS)
38 | # Urho3D tools
39 | add_subdirectory (AssetImporter)
40 | add_subdirectory (OgreImporter)
41 | add_subdirectory (PackageTool)
42 | add_subdirectory (RampGenerator)
43 | if (URHO3D_ANGELSCRIPT)
44 | add_subdirectory (ScriptCompiler)
45 | endif ()
46 | endif ()
47 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (c) 2014 the ParticleEditor2D project.
3 | #
4 | # Permission is hereby granted, free of charge, to any person obtaining a copy
5 | # of this software and associated documentation files (the "Software"), to deal
6 | # in the Software without restriction, including without limitation the rights
7 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | # copies of the Software, and to permit persons to whom the Software is
9 | # furnished to do so, subject to the following conditions:
10 | #
11 | # The above copyright notice and this permission notice shall be included in
12 | # all copies or substantial portions of the Software.
13 | #
14 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | # THE SOFTWARE.
21 | #
22 |
23 | # Define target name
24 | set (TARGET_NAME ParticleEditor2D)
25 |
26 | find_package(Qt4 REQUIRED)
27 | include(${QT_USE_FILE})
28 | add_definitions(${QT_DEFINITIONS})
29 |
30 | # Find Urho3D library
31 | # find_package (Urho3D REQUIRED)
32 | # include_directories (${URHO3D_INCLUDE_DIRS})
33 |
34 | # INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
35 |
36 | # Define source files
37 | define_source_files ()
38 |
39 | # Moccing h files
40 | qt4_wrap_cpp( MOC_FILES ${H_FILES} )
41 |
42 | # Compile ui files
43 | file (GLOB UI_FILES *.ui)
44 | qt4_wrap_ui( UI_HEADERS ${UI_FILES} )
45 |
46 | # Rccing qrc files
47 | file (GLOB QRC_FILES *.qrc)
48 | qt4_add_resources( RCC_FILES ${QRC_FILES} )
49 |
50 | set (SOURCE_FILES ${SOURCE_FILES} ${MOC_FILES} ${UI_HEADERS} ${RCC_FILES})
51 |
52 | # Setup target with resource copying
53 | setup_main_executable ()
54 |
55 | target_link_libraries(${TARGET_NAME} ${QT_LIBRARIES})
56 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ColorVarianceEditor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include "Color.h"
26 | #include
27 |
28 | class QComboBox;
29 | class QFrame;
30 |
31 | namespace Urho3D
32 | {
33 | class FloatEditor;
34 |
35 | class ColorVarianceEditor : public QGroupBox
36 | {
37 | Q_OBJECT
38 |
39 | public:
40 | ColorVarianceEditor(const QString& text);
41 | virtual ~ColorVarianceEditor();
42 |
43 | public:
44 | /// Set value.
45 | void setValue(const Color& avarage, const Color& variance);
46 | /// Return value.
47 | Color avarage() const;
48 | Color variance() const;
49 |
50 | signals:
51 | void valueChanged(const Color& avarage, const Color& variance);
52 |
53 | protected slots:
54 | void colorModeComboBoxIndexChanged(int index);
55 | void editorValueChanged();
56 |
57 | private:
58 | FloatEditor* CreateFloatEditor(const QString& text);
59 |
60 | QComboBox* colorModeComboBox_;
61 |
62 | QFrame* frame_;
63 |
64 | QGroupBox* minColorGroupBox_;
65 | FloatEditor* minREditor_;
66 | FloatEditor* minGEditor_;
67 | FloatEditor* minBEditor_;
68 | FloatEditor* minAEditor_;
69 |
70 | QGroupBox* maxColorGroupBox_;
71 | FloatEditor* maxREditor_;
72 | FloatEditor* maxGEditor_;
73 | FloatEditor* maxBEditor_;
74 | FloatEditor* maxAEditor_;
75 | };
76 |
77 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/FloatEditor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include
26 |
27 | class QLabel;
28 | class QDoubleSpinBox;
29 | class QSlider;
30 |
31 | namespace Urho3D
32 | {
33 |
34 | class FloatEditor : public QHBoxLayout
35 | {
36 | Q_OBJECT
37 |
38 | public:
39 | FloatEditor(const QString& text, bool setLabelWidth = true);
40 | virtual ~FloatEditor();
41 |
42 | public:
43 | /// Set value.
44 | void setValue(float value);
45 | /// Return value.
46 | float value() const;
47 |
48 | /// Set range.
49 | void setRange(float min, float max);
50 |
51 | QLabel* label() const { return label_; }
52 | QSlider* slider() const { return slider_; }
53 | QDoubleSpinBox* spinBox() const { return spinBox_; }
54 |
55 | signals:
56 | void valueChanged(float);
57 |
58 | protected slots:
59 | void sliderValueChanged(int value);
60 | void spinBoxValueChanged(double value);
61 |
62 | private:
63 | void setSliderValue(double value);
64 |
65 | QLabel* label_ ;
66 | QSlider* slider_;
67 | QDoubleSpinBox* spinBox_;
68 | bool senderIsSlider_;
69 | bool senderIsSpinBox_;
70 | };
71 |
72 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/Icon.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/New.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/New.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/Open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/Open.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/Save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/Save.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/SaveAs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/SaveAs.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/Settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/Settings.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/SplashScreen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/SplashScreen.jpg
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/ZoomIn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/ZoomIn.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/ZoomOut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/ZoomOut.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Images/ZoomReset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/Images/ZoomReset.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/IntEditor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include
26 |
27 | class QLabel;
28 | class QSpinBox;
29 | class QSlider;
30 |
31 | namespace Urho3D
32 | {
33 |
34 | class IntEditor : public QHBoxLayout
35 | {
36 | Q_OBJECT
37 |
38 | public:
39 | IntEditor(const QString& text);
40 | virtual ~IntEditor();
41 |
42 | public:
43 | /// Set value.
44 | void setValue(int value);
45 | /// Return value.
46 | int value() const;
47 |
48 | /// Set range.
49 | void setRange(int min, int max);
50 | /// Return range.
51 | void GetRange(int& min, int& max) const;
52 |
53 | signals:
54 | void valueChanged(int);
55 |
56 | protected slots:
57 | void sliderValueChanged(int value);
58 | void spinBoxValueChanged(int value);
59 |
60 | private:
61 | QLabel* label_ ;
62 | QSlider* slider_;
63 | QSpinBox* spinBox_;
64 | bool senderIsSlider_;
65 | bool senderIsSpinBox_;
66 | };
67 |
68 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Main.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #include "Application.h"
24 | #include "ParticleEditor.h"
25 | #include
26 |
27 | int Main()
28 | {
29 | int argc = 0;
30 | char** argv = 0;
31 | Urho3D::SharedPtr context(new Urho3D::Context());
32 | Urho3D::ParticleEditor editor(argc, argv, context);
33 |
34 | QFile file(":/qdarkstyle/style.qss");
35 | if (file.open(QFile::ReadOnly | QFile::Text))
36 | editor.setStyleSheet(QLatin1String(file.readAll()));
37 |
38 | return editor.Run();
39 | }
40 |
41 | DEFINE_MAIN(Main());
42 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ParticleEffectEditor.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 |
21 | // THE SOFTWARE.
22 | //
23 |
24 | #include "ParticleEditor.h"
25 | #include "ParticleEffectEditor.h"
26 |
27 |
28 | namespace Urho3D
29 | {
30 | ParticleEffectEditor::ParticleEffectEditor(Context* context) :
31 | Object(context),
32 | updatingWidget_(false)
33 | {
34 |
35 | }
36 |
37 | ParticleEffectEditor::~ParticleEffectEditor()
38 | {
39 |
40 | }
41 |
42 | void ParticleEffectEditor::UpdateWidget()
43 | {
44 | updatingWidget_ = true;
45 |
46 | HandleUpdateWidget();
47 |
48 | updatingWidget_ = false;
49 | }
50 |
51 | ParticleEffect2D* ParticleEffectEditor::GetEffect() const
52 | {
53 | return ParticleEditor::Get()->GetEffect();
54 | }
55 |
56 | ParticleEmitter2D* ParticleEffectEditor::GetEmitter() const
57 | {
58 | return ParticleEditor::Get()->GetEmitter();
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ParticleEffectEditor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include "Object.h"
26 |
27 | namespace Urho3D
28 | {
29 | class ParticleEffect2D;
30 | class ParticleEmitter2D;
31 |
32 | /// Particle effect editor interface.
33 | class ParticleEffectEditor : public Object
34 | {
35 | OBJECT(ParticleEffectEditor)
36 |
37 | public:
38 | ParticleEffectEditor(Context* context);
39 | virtual ~ParticleEffectEditor();
40 |
41 | /// Update widget.
42 | void UpdateWidget();
43 |
44 | protected:
45 | /// Handle update widget.
46 | virtual void HandleUpdateWidget() = 0;
47 |
48 | /// Return particle effect.
49 | ParticleEffect2D* GetEffect() const;
50 | /// Return particle emitter.
51 | ParticleEmitter2D* GetEmitter() const;
52 |
53 | /// Is updating widget.
54 | bool updatingWidget_;
55 | };
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | Images/Icon.png
4 | Images/New.png
5 | Images/Open.png
6 | Images/Save.png
7 | Images/SaveAs.png
8 | Images/Settings.png
9 | Images/ZoomIn.png
10 | Images/ZoomOut.png
11 | Images/ZoomReset.png
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ScrollAreaWidget.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 |
21 | // THE SOFTWARE.
22 | //
23 |
24 | #include "ScrollAreaWidget.h"
25 | #include
26 | #include
27 | #include
28 |
29 | namespace Urho3D
30 | {
31 |
32 | ScrollAreaWidget::ScrollAreaWidget()
33 | {
34 | setMinimumWidth(320);
35 | setWidgetResizable(true);
36 |
37 | QWidget* widget = new QWidget();
38 | setWidget(widget);
39 |
40 | vBoxLayout_ = new QVBoxLayout();
41 | widget->setLayout(vBoxLayout_);
42 | }
43 |
44 | ScrollAreaWidget::~ScrollAreaWidget()
45 | {
46 | }
47 |
48 | QHBoxLayout* ScrollAreaWidget::AddHBoxLayout()
49 | {
50 | QHBoxLayout* hBoxLayout = new QHBoxLayout();
51 | vBoxLayout_->addLayout(hBoxLayout);
52 |
53 | hBoxLayout->setContentsMargins(0, 0, 0, 0);
54 | return hBoxLayout;
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ScrollAreaWidget.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include
26 |
27 | class QHBoxLayout;
28 | class QVBoxLayout;
29 |
30 | namespace Urho3D
31 | {
32 |
33 |
34 | class ScrollAreaWidget : public QScrollArea
35 | {
36 | Q_OBJECT
37 |
38 | public:
39 | ScrollAreaWidget();
40 | virtual ~ScrollAreaWidget();
41 |
42 | protected:
43 | QHBoxLayout* AddHBoxLayout();
44 |
45 | QVBoxLayout* vBoxLayout_;
46 | };
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/ValueVarianceEditor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include "Vector2.h"
26 | #include
27 |
28 | namespace Urho3D
29 | {
30 |
31 | class FloatEditor;
32 |
33 | class ValueVarianceEditor : public QGroupBox
34 | {
35 | Q_OBJECT
36 |
37 | public:
38 | ValueVarianceEditor(const QString& text);
39 | virtual ~ValueVarianceEditor();
40 |
41 | public:
42 | /// Set value.
43 | void setValue(float avarage, float variance);
44 | void setRange(float min, float max);
45 |
46 | float value() const;
47 | float variance() const;
48 |
49 | signals:
50 | void valueChanged(float average, float variance);
51 |
52 | protected slots:
53 | void editorValueChanged();
54 |
55 | private:
56 | FloatEditor* averageEditor_;
57 | FloatEditor* varianceEditor_;
58 | };
59 |
60 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Vector2Editor.cpp:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #include "FloatEditor.h"
24 | #include "Vector2Editor.h"
25 | #include
26 |
27 | namespace Urho3D
28 | {
29 |
30 | Vector2Editor::Vector2Editor(const QString& text) :
31 | QGroupBox(text)
32 | {
33 | QVBoxLayout* vBoxLayout = new QVBoxLayout();
34 | setLayout(vBoxLayout);
35 |
36 | xEditor_ = new FloatEditor("X", false);
37 | vBoxLayout->addLayout(xEditor_);
38 | connect(xEditor_, SIGNAL(valueChanged(float)), this, SLOT(editorValueChanged()));
39 |
40 | yEditor_ = new FloatEditor("Y", false);
41 | vBoxLayout->addLayout(yEditor_);
42 | connect(yEditor_, SIGNAL(valueChanged(float)), this, SLOT(editorValueChanged()));
43 | }
44 |
45 | Vector2Editor::~Vector2Editor()
46 | {
47 | delete xEditor_;
48 | delete yEditor_;
49 | }
50 |
51 |
52 | void Vector2Editor::setValue(const Vector2& value)
53 | {
54 | xEditor_->setValue(value.x_);
55 | yEditor_->setValue(value.y_);
56 | }
57 |
58 | Vector2 Vector2Editor::value() const
59 | {
60 | return Vector2(xEditor_->value(), yEditor_->value());
61 | }
62 |
63 | void Vector2Editor::setRange(const Vector2& min, const Vector2& max)
64 | {
65 | xEditor_->setRange(min.x_, max.x_);
66 | yEditor_->setRange(min.y_, max.y_);
67 | }
68 |
69 | void Vector2Editor::editorValueChanged()
70 | {
71 | emit valueChanged(value());
72 | }
73 |
74 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/Vector2Editor.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014 the ParticleEditor2D project.
3 | //
4 | // Permission is hereby granted, free of charge, to any person obtaining a copy
5 | // of this software and associated documentation files (the "Software"), to deal
6 | // in the Software without restriction, including without limitation the rights
7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | // copies of the Software, and to permit persons to whom the Software is
9 | // furnished to do so, subject to the following conditions:
10 | //
11 | // The above copyright notice and this permission notice shall be included in
12 | // all copies or substantial portions of the Software.
13 | //
14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | // THE SOFTWARE.
21 | //
22 |
23 | #pragma once
24 |
25 | #include "Vector2.h"
26 | #include
27 |
28 | namespace Urho3D
29 | {
30 |
31 | class FloatEditor;
32 |
33 | class Vector2Editor : public QGroupBox
34 | {
35 | Q_OBJECT
36 |
37 | public:
38 | Vector2Editor(const QString& text);
39 | virtual ~Vector2Editor();
40 |
41 | public:
42 | /// Set value.
43 | void setValue(const Vector2& value);
44 | /// Return value.
45 | Vector2 value() const;
46 |
47 | /// Set range.
48 | void setRange(const Vector2& min, const Vector2& max);
49 |
50 | signals:
51 | void valueChanged(const Vector2&);
52 |
53 | protected slots:
54 | void editorValueChanged();
55 |
56 | private:
57 | FloatEditor* xEditor_;
58 | FloatEditor* yEditor_;
59 | };
60 |
61 | }
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/Hmovetoolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/Hmovetoolbar.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/Hsepartoolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/Hsepartoolbar.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/Vmovetoolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/Vmovetoolbar.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/Vsepartoolbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/Vsepartoolbar.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/branch_closed-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/branch_closed-on.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/branch_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/branch_closed.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/branch_open-on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/branch_open-on.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/branch_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/branch_open.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/checkbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/checkbox.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/close.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/down_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/down_arrow.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/down_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/down_arrow_disabled.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/left_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/left_arrow.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/left_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/left_arrow_disabled.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/right_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/right_arrow.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/right_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/right_arrow_disabled.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/sizegrip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/sizegrip.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/stylesheet-branch-end.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/stylesheet-branch-end.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/stylesheet-branch-more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/stylesheet-branch-more.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/stylesheet-vline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/stylesheet-vline.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/transparent.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/undock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/undock.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/up_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/up_arrow.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/rc/up_arrow_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aster2013/ParticleEditor2D/2c0e5605c6df1e9fb796b728b05671ac2b609032/Source/Tools/ParticleEditor2D/rc/up_arrow_disabled.png
--------------------------------------------------------------------------------
/Source/Tools/ParticleEditor2D/style.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | rc/up_arrow_disabled.png
4 | rc/Hmovetoolbar.png
5 | rc/stylesheet-branch-end.png
6 | rc/branch_closed-on.png
7 | rc/stylesheet-vline.png
8 | rc/branch_closed.png
9 | rc/branch_open-on.png
10 | rc/transparent.png
11 | rc/right_arrow_disabled.png
12 | rc/sizegrip.png
13 | rc/close.png
14 | rc/down_arrow.png
15 | rc/Vmovetoolbar.png
16 | rc/left_arrow.png
17 | rc/stylesheet-branch-more.png
18 | rc/up_arrow.png
19 | rc/right_arrow.png
20 | rc/left_arrow_disabled.png
21 | rc/Hsepartoolbar.png
22 | rc/checkbox.png
23 | rc/branch_open.png
24 | rc/Vsepartoolbar.png
25 | rc/down_arrow_disabled.png
26 | rc/undock.png
27 |
28 |
29 | style.qss
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------