internal unsafe override void OnUpdateResource(object sender, EventArgs e) { base.OnUpdateResource(sender, e); (var vs, var ps) = GetShaderBytesCode(); fixed(byte *vsPtr = vs) fixed(byte *psPtr = ps) { var data = new ShadersGroupData { VertexShader = new IntPtr(vsPtr), VertexShaderLength = (uint?)vs?.Length ?? 0, PixelShader = new IntPtr(psPtr), PixelShaderLength = (uint?)ps?.Length ?? 0 }; MediaResourceManager.Current.UpdateShadersGroup(_shadersRes.Value, ref data); } }
public void UpdateShadersGroup(IResource res, ref ShadersGroupData data) { _resourceManager.UpdateShadersGroup(res, ref data); }