mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 08:52:55 +08:00
Add sample shaders and test case for ruleset-specific shaders
This commit is contained in:
parent
eabcbd1d42
commit
c933cbe89d
11
osu.Game.Tests/Resources/Shaders/sh_TestFragment.fs
Normal file
11
osu.Game.Tests/Resources/Shaders/sh_TestFragment.fs
Normal file
@ -0,0 +1,11 @@
|
||||
#include "sh_Utils.h"
|
||||
|
||||
varying mediump vec2 v_TexCoord;
|
||||
varying mediump vec4 v_TexRect;
|
||||
|
||||
void main(void)
|
||||
{
|
||||
float hueValue = v_TexCoord.x / (v_TexRect[2] - v_TexRect[0]);
|
||||
gl_FragColor = hsv2rgb(vec4(hueValue, 1, 1, 1));
|
||||
}
|
||||
|
31
osu.Game.Tests/Resources/Shaders/sh_TestVertex.vs
Normal file
31
osu.Game.Tests/Resources/Shaders/sh_TestVertex.vs
Normal file
@ -0,0 +1,31 @@
|
||||
#include "sh_Utils.h"
|
||||
|
||||
attribute highp vec2 m_Position;
|
||||
attribute lowp vec4 m_Colour;
|
||||
attribute mediump vec2 m_TexCoord;
|
||||
attribute mediump vec4 m_TexRect;
|
||||
attribute mediump vec2 m_BlendRange;
|
||||
|
||||
varying highp vec2 v_MaskingPosition;
|
||||
varying lowp vec4 v_Colour;
|
||||
varying mediump vec2 v_TexCoord;
|
||||
varying mediump vec4 v_TexRect;
|
||||
varying mediump vec2 v_BlendRange;
|
||||
|
||||
uniform highp mat4 g_ProjMatrix;
|
||||
uniform highp mat3 g_ToMaskingSpace;
|
||||
|
||||
void main(void)
|
||||
{
|
||||
// Transform from screen space to masking space.
|
||||
highp vec3 maskingPos = g_ToMaskingSpace * vec3(m_Position, 1.0);
|
||||
v_MaskingPosition = maskingPos.xy / maskingPos.z;
|
||||
|
||||
v_Colour = m_Colour;
|
||||
v_TexCoord = m_TexCoord;
|
||||
v_TexRect = m_TexRect;
|
||||
v_BlendRange = m_BlendRange;
|
||||
|
||||
gl_Position = gProjMatrix * vec4(m_Position, 1.0, 1.0);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ using NUnit.Framework;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Audio.Sample;
|
||||
using osu.Framework.Configuration.Tracking;
|
||||
using osu.Framework.Graphics.Shaders;
|
||||
using osu.Framework.Graphics.Textures;
|
||||
using osu.Framework.IO.Stores;
|
||||
using osu.Framework.Testing;
|
||||
@ -45,6 +46,14 @@ namespace osu.Game.Tests.Testing
|
||||
Dependencies.Get<ISampleStore>().Get(@"test-sample") != null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestRetrieveShader()
|
||||
{
|
||||
AddAssert("ruleset shaders retrieved", () =>
|
||||
Dependencies.Get<ShaderManager>().LoadRaw(@"sh_TestVertex.vs") != null &&
|
||||
Dependencies.Get<ShaderManager>().LoadRaw(@"sh_TestFragment.fs") != null);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TestResolveConfigManager()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user