private void OnApplicationQuit()
 {
     if (m_plugin != null)
     {
         m_plugin.Dispose();
         m_plugin = null;
     }
 }
    void Start()
    {
        var tex  = CreateTextureAndPassToPlugin();
        var mesh = SendMeshBuffersToPlugin();

        m_plugin = RenderAPI_D3D11.Create(tex, mesh);

        StartCoroutine(CallPluginAtEndOfFrames());
    }
Example #3
0
 public static RenderAPI_D3D11 Create(UnityEngine.Texture2D tex, UnityEngine.Mesh mesh)
 {
     using (var dxTexture = new SharpDX.Direct3D11.Texture2D(tex.GetNativeTexturePtr()))
     {
         var d3d11 = new RenderAPI_D3D11(dxTexture.Device);
         d3d11.SetTextureFromUnity(tex.GetNativeTexturePtr(), tex.width, tex.height);
         d3d11.SetMeshBuffersFromUnity(mesh.GetNativeVertexBufferPtr(0)
                                       , mesh.vertexCount
                                       , mesh.vertices
                                       , mesh.normals
                                       , mesh.uv);
         return(d3d11);
     }
 }