public virtual SWIGTYPE_p_IEffectMatrixVariable GetMatrixVariable(/*cstype*/ string semantic)
    {
        global::System.IntPtr            cPtr = IronSightEnginePINVOKE.IRenderShader_GetMatrixVariable(swigCPtr, new IronSightEnginePINVOKE.SWIGStringMarshal(semantic).swigCPtr);
        SWIGTYPE_p_IEffectMatrixVariable ret  = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_IEffectMatrixVariable(cPtr, false);

        return(ret);
    }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_IEffectMatrixVariable obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }