Make Spectrogram Scrollable (Expose Index)
Also, write Reusable Shader for Spectrogram
This commit is contained in:
parent
aaf398cd61
commit
f51764016f
16 changed files with 2019 additions and 1493 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -9,13 +9,18 @@ Material:
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name: TextureMap
|
m_Name: TextureMap
|
||||||
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
|
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
|
||||||
m_ShaderKeywords:
|
m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE
|
||||||
m_LightmapFlags: 4
|
m_LightmapFlags: 4
|
||||||
m_EnableInstancingVariants: 0
|
m_EnableInstancingVariants: 0
|
||||||
m_DoubleSidedGI: 0
|
m_DoubleSidedGI: 0
|
||||||
m_CustomRenderQueue: -1
|
m_CustomRenderQueue: -1
|
||||||
stringTagMap: {}
|
stringTagMap: {}
|
||||||
disabledShaderPasses: []
|
disabledShaderPasses:
|
||||||
|
- DistortionVectors
|
||||||
|
- MOTIONVECTORS
|
||||||
|
- TransparentDepthPrepass
|
||||||
|
- TransparentDepthPostpass
|
||||||
|
- TransparentBackface
|
||||||
m_SavedProperties:
|
m_SavedProperties:
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TexEnvs:
|
m_TexEnvs:
|
||||||
|
@ -132,16 +137,16 @@ Material:
|
||||||
- _DisplacementMode: 0
|
- _DisplacementMode: 0
|
||||||
- _DistortionBlendMode: 0
|
- _DistortionBlendMode: 0
|
||||||
- _DistortionBlurBlendMode: 0
|
- _DistortionBlurBlendMode: 0
|
||||||
- _DistortionBlurDstBlend: 0
|
- _DistortionBlurDstBlend: 1
|
||||||
- _DistortionBlurRemapMax: 1
|
- _DistortionBlurRemapMax: 1
|
||||||
- _DistortionBlurRemapMin: 0
|
- _DistortionBlurRemapMin: 0
|
||||||
- _DistortionBlurScale: 1
|
- _DistortionBlurScale: 1
|
||||||
- _DistortionBlurSrcBlend: 0
|
- _DistortionBlurSrcBlend: 1
|
||||||
- _DistortionDepthTest: 1
|
- _DistortionDepthTest: 1
|
||||||
- _DistortionDstBlend: 0
|
- _DistortionDstBlend: 1
|
||||||
- _DistortionEnable: 0
|
- _DistortionEnable: 0
|
||||||
- _DistortionScale: 1
|
- _DistortionScale: 1
|
||||||
- _DistortionSrcBlend: 0
|
- _DistortionSrcBlend: 1
|
||||||
- _DistortionVectorBias: -1
|
- _DistortionVectorBias: -1
|
||||||
- _DistortionVectorScale: 2
|
- _DistortionVectorScale: 2
|
||||||
- _DoubleSidedEnable: 0
|
- _DoubleSidedEnable: 0
|
||||||
|
@ -195,10 +200,10 @@ Material:
|
||||||
- _StencilRefGBuffer: 2
|
- _StencilRefGBuffer: 2
|
||||||
- _StencilRefMV: 128
|
- _StencilRefMV: 128
|
||||||
- _StencilWriteMask: 3
|
- _StencilWriteMask: 3
|
||||||
- _StencilWriteMaskDepth: 32
|
- _StencilWriteMaskDepth: 48
|
||||||
- _StencilWriteMaskDistortionVec: 64
|
- _StencilWriteMaskDistortionVec: 64
|
||||||
- _StencilWriteMaskGBuffer: 3
|
- _StencilWriteMaskGBuffer: 51
|
||||||
- _StencilWriteMaskMV: 128
|
- _StencilWriteMaskMV: 176
|
||||||
- _SubsurfaceMask: 1
|
- _SubsurfaceMask: 1
|
||||||
- _SupportDecals: 1
|
- _SupportDecals: 1
|
||||||
- _SurfaceType: 0
|
- _SurfaceType: 0
|
||||||
|
@ -218,9 +223,9 @@ Material:
|
||||||
- _UVEmissive: 0
|
- _UVEmissive: 0
|
||||||
- _UseEmissiveIntensity: 0
|
- _UseEmissiveIntensity: 0
|
||||||
- _UseShadowThreshold: 0
|
- _UseShadowThreshold: 0
|
||||||
- _ZTestDepthEqualForOpaque: 4
|
- _ZTestDepthEqualForOpaque: 3
|
||||||
- _ZTestGBuffer: 4
|
- _ZTestGBuffer: 4
|
||||||
- _ZTestModeDistortion: 8
|
- _ZTestModeDistortion: 4
|
||||||
- _ZTestTransparent: 4
|
- _ZTestTransparent: 4
|
||||||
- _ZWrite: 1
|
- _ZWrite: 1
|
||||||
m_Colors:
|
m_Colors:
|
||||||
|
|
|
@ -8,7 +8,7 @@ Material:
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name: Chikashi
|
m_Name: Chikashi
|
||||||
m_Shader: {fileID: -6465566751694194690, guid: 7c4fb62383d9e1a4e92bfb5939d1e04e,
|
m_Shader: {fileID: -6465566751694194690, guid: dba87f2457ea73049a3530f73e8006e2,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_ShaderKeywords:
|
m_ShaderKeywords:
|
||||||
m_LightmapFlags: 4
|
m_LightmapFlags: 4
|
||||||
|
@ -84,7 +84,7 @@ Material:
|
||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
- _MyTexture:
|
- _MyTexture:
|
||||||
m_Texture: {fileID: 0}
|
m_Texture: {fileID: 2800000, guid: 965d36ee5de48ea459184ffdd20071a1, type: 3}
|
||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
- _NormalMap:
|
- _NormalMap:
|
71
UnityProject/Assets/Scenes/Examples/Texture/Spectrogram.mat
Normal file
71
UnityProject/Assets/Scenes/Examples/Texture/Spectrogram.mat
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: Spectrogram
|
||||||
|
m_Shader: {fileID: -6465566751694194690, guid: 7ca0c6c1f8af98c4c8cf0c119c1d6f4c,
|
||||||
|
type: 3}
|
||||||
|
m_ShaderKeywords:
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap:
|
||||||
|
MotionVector: User
|
||||||
|
disabledShaderPasses:
|
||||||
|
- MOTIONVECTORS
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _BaseColorMap:
|
||||||
|
m_Texture: {fileID: 0}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Floats:
|
||||||
|
- Boolean_711EFCED: 1
|
||||||
|
- Vector1_62375FAB: 0
|
||||||
|
- Vector1_8A058030: 100
|
||||||
|
- Vector1_F0147E8A: 0
|
||||||
|
- Vector1_F3CA62BF: 0
|
||||||
|
- _AlphaCutoff: 0.5
|
||||||
|
- _AlphaCutoffEnable: 0
|
||||||
|
- _AlphaDstBlend: 0
|
||||||
|
- _AlphaSrcBlend: 1
|
||||||
|
- _BlendMode: 0
|
||||||
|
- _CullMode: 2
|
||||||
|
- _CullModeForward: 2
|
||||||
|
- _DoubleSidedEnable: 0
|
||||||
|
- _DoubleSidedNormalMode: 2
|
||||||
|
- _DstBlend: 0
|
||||||
|
- _Index: 0
|
||||||
|
- _ReceivesSSR: 1
|
||||||
|
- _RenderQueueType: 1
|
||||||
|
- _RequireSplitLighting: 0
|
||||||
|
- _SrcBlend: 1
|
||||||
|
- _StencilRef: 0
|
||||||
|
- _StencilRefDepth: 0
|
||||||
|
- _StencilRefDistortionVec: 64
|
||||||
|
- _StencilRefGBuffer: 2
|
||||||
|
- _StencilRefMV: 128
|
||||||
|
- _StencilWriteMask: 3
|
||||||
|
- _StencilWriteMaskDepth: 32
|
||||||
|
- _StencilWriteMaskDistortionVec: 64
|
||||||
|
- _StencilWriteMaskGBuffer: 3
|
||||||
|
- _StencilWriteMaskMV: 128
|
||||||
|
- _SurfaceType: 0
|
||||||
|
- _TransparentBackfaceEnable: 0
|
||||||
|
- _TransparentCullMode: 2
|
||||||
|
- _TransparentSortPriority: 0
|
||||||
|
- _UseShadowThreshold: 0
|
||||||
|
- _ZTestDepthEqualForOpaque: 4
|
||||||
|
- _ZTestGBuffer: 4
|
||||||
|
- _ZTestTransparent: 4
|
||||||
|
- _ZWrite: 0
|
||||||
|
m_Colors:
|
||||||
|
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
|
||||||
|
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bc011735a2ae26747abeb14ea34f7289
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,10 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7ca0c6c1f8af98c4c8cf0c119c1d6f4c
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
|
|
@ -155,7 +155,7 @@ MeshRenderer:
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials:
|
||||||
- {fileID: 2100000, guid: 416cd1054fe561246b9c57b0f3b4ad15, type: 2}
|
- {fileID: 2100000, guid: bc011735a2ae26747abeb14ea34f7289, type: 2}
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
|
@ -229,7 +229,10 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 3ba69cee3466a304d9d570268f717413, type: 3}
|
m_Script: {fileID: 11500000, guid: 3ba69cee3466a304d9d570268f717413, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
onControlMessageReceived:
|
midiMessageReceived:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
midiSyncReceived:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
samplePlayback: 0
|
samplePlayback: 0
|
||||||
|
|
|
@ -18,6 +18,7 @@ namespace cylvester
|
||||||
private Renderer spectroGramRenderer_;
|
private Renderer spectroGramRenderer_;
|
||||||
private Renderer chikashiRenderer_;
|
private Renderer chikashiRenderer_;
|
||||||
private static readonly int baseColorMap_ = Shader.PropertyToID("_BaseColorMap");
|
private static readonly int baseColorMap_ = Shader.PropertyToID("_BaseColorMap");
|
||||||
|
private static readonly int spectrogramIndex_ = Shader.PropertyToID("_Index");
|
||||||
private static readonly int myTexture_ = Shader.PropertyToID("_MyTexture");
|
private static readonly int myTexture_ = Shader.PropertyToID("_MyTexture");
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
|
@ -31,6 +32,7 @@ namespace cylvester
|
||||||
{
|
{
|
||||||
waveFormRenderer_.material.SetTexture(baseColorMap_, waveform.Texture);
|
waveFormRenderer_.material.SetTexture(baseColorMap_, waveform.Texture);
|
||||||
spectroGramRenderer_.material.SetTexture(baseColorMap_, spectrogram.Texture);
|
spectroGramRenderer_.material.SetTexture(baseColorMap_, spectrogram.Texture);
|
||||||
|
spectroGramRenderer_.material.SetInt(spectrogramIndex_, spectrogram.Index);
|
||||||
chikashiRenderer_.material.SetTexture(myTexture_, waveform.Texture);
|
chikashiRenderer_.material.SetTexture(myTexture_, waveform.Texture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ namespace cylvester
|
||||||
public interface ISpectrogram
|
public interface ISpectrogram
|
||||||
{
|
{
|
||||||
Texture2D Texture { get; }
|
Texture2D Texture { get; }
|
||||||
|
int Index { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Spectrogram : MonoBehaviour, ISpectrogram
|
public class Spectrogram : MonoBehaviour, ISpectrogram
|
||||||
|
@ -46,6 +47,7 @@ namespace cylvester
|
||||||
}
|
}
|
||||||
|
|
||||||
public Texture2D Texture => texture_;
|
public Texture2D Texture => texture_;
|
||||||
|
public int Index => index_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace cylvester
|
||||||
Texture2D Texture { get; }
|
Texture2D Texture { get; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Waveform : MonoBehaviour, ISpectrogram
|
public class Waveform : MonoBehaviour, IWaveform
|
||||||
{
|
{
|
||||||
[SerializeField] private PdBackend pdBackend;
|
[SerializeField] private PdBackend pdBackend;
|
||||||
[SerializeField, Range(1, 16)] private int channel = 1;
|
[SerializeField, Range(1, 16)] private int channel = 1;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2010
|
# Visual Studio 15
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{5B580621-09B4-68CB-B5F4-5B9DD210A60F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{5B580621-09B4-68CB-B5F4-5B9DD210A60F}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{3CC9D2C0-C461-07D9-EDF3-4FFB4DE5C299}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{3CC9D2C0-C461-07D9-EDF3-4FFB4DE5C299}"
|
||||||
|
|
Loading…
Reference in a new issue