Git Product home page Git Product logo

articles's Introduction

Volkan's github stats

Jing is a passionate GPU software expert and has shipped related products on web browser, desktop, mobile devices and game consoles.

Jing's experience in GPU ranges from high-level apps like game engines and webgl visualization, through mid-level graphics API tools, to low-level GPU profilers.

Besides being a engineer, Jing is also an active githuber and a writer.

articles's People

Contributors

vinjn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

articles's Issues

render_assimp

// setup
Assimp::Importer mImporter;
aiScene* scene = mImporter.ReadFile(getAssetPath("astroboy_walk.dae").string(), aiProcessPreset_TargetRealtime_Fast);

// draw()
glMatrixMode(GL_MODELVIEW);
recursive_render(scene, scene->mRootNode);

void recursive_render (const aiScene *sc, const aiNode* nd)
{
    unsigned int i;
    unsigned int n = 0, t;
    aiMatrix4x4 m = nd->mTransformation;

    // update transform
    m.Transpose();
    glPushMatrix();
    glMultMatrixf((float*)&m);

    // draw all meshes assigned to this node
    for (; n < nd->mNumMeshes; ++n) {
        const aiMesh* mesh = sc->mMeshes[nd->mMeshes[n]];

        //apply_material(sc->mMaterials[mesh->mMaterialIndex]);

        if(mesh->mNormals == NULL) {
            glDisable(GL_LIGHTING);
        } else {
            glEnable(GL_LIGHTING);
        }

        for (t = 0; t < mesh->mNumFaces; ++t) {
            const aiFace* face = &mesh->mFaces[t];
            GLenum face_mode;

            switch(face->mNumIndices) 
            {
            case 1: face_mode = GL_POINTS; break;
            case 2: face_mode = GL_LINES; break;
            case 3: face_mode = GL_TRIANGLES; break;
            default: face_mode = GL_POLYGON; break;
            }

            glBegin(face_mode);

            for(i = 0; i < face->mNumIndices; i++) {
                int index = face->mIndices[i];
                if(mesh->mColors[0] != NULL)
                    glColor4fv((GLfloat*)&mesh->mColors[0][index]);
                if(mesh->mNormals != NULL) 
                    glNormal3fv(&mesh->mNormals[index].x);
                glVertex3fv(&mesh->mVertices[index].x);
            }

            glEnd();
        }

    }

    // draw all children
    for (n = 0; n < nd->mNumChildren; ++n) {
        recursive_render(sc, nd->mChildren[n]);
    }

    glPopMatrix();
}

Java_com_qualcomm_vuforia

Java_com_qualcomm_vuforia_VuforiaJNI_deinit
Java_com_qualcomm_vuforia_VuforiaJNI_setHint
Java_com_qualcomm_vuforia_VuforiaJNI_registerCallback
Java_com_qualcomm_vuforia_VuforiaJNI_setFrameFormat
Java_com_qualcomm_vuforia_VuforiaJNI_getBitsPerPixel
Java_com_qualcomm_vuforia_VuforiaJNI_requiresAlpha
Java_com_qualcomm_vuforia_VuforiaJNI_getBufferSize
Java_com_qualcomm_vuforia_VuforiaJNI_onResume
Java_com_qualcomm_vuforia_VuforiaJNI_onPause
Java_com_qualcomm_vuforia_VuforiaJNI_onSurfaceCreated
Java_com_qualcomm_vuforia_VuforiaJNI_onSurfaceChanged
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Type_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Type_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Type_1isOfType
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Type
Java_com_qualcomm_vuforia_VuforiaJNI_Matrix34F_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Matrix34F_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Matrix34F_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Matrix34F_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Matrix34F
Java_com_qualcomm_vuforia_VuforiaJNI_Matrix44F_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Matrix44F_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Matrix44F_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Matrix44F_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Matrix44F
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2F_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2F_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2F_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Vec2F_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec2F_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2F_1_1SWIG_13
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec2F
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3F_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3F_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3F_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Vec3F_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec3F_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3F_1_1SWIG_13
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec3F
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4F_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4F_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4F_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Vec4F_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec4F_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4F_1_1SWIG_13
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec4F
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2I_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2I_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2I_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Vec2I_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec2I_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec2I_1_1SWIG_13
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec2I
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3I_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec3I_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Vec3I_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec3I_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec3I
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4I_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Vec4I_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Vec4I_1data_1set
Java_com_qualcomm_vuforia_VuforiaJNI_Vec4I_1data_1get
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Vec4I
Java_com_qualcomm_vuforia_VuforiaJNI_new_1VideoMode_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_VideoMode_1Width_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoMode_1Height_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoMode_1Framerate_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1VideoMode_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1VideoMode
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1isOfType
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1getId
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1getName
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1startExtendedTracking
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1stopExtendedTracking
Java_com_qualcomm_vuforia_VuforiaJNI_Trackable_1isExtendedTrackingStarted
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Trackable
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1isOfType
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1getStatus
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_TrackableResult_1getPose
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TrackableResult
Java_com_qualcomm_vuforia_VuforiaJNI_Tracker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Tracker_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_Tracker_1isOfType
Java_com_qualcomm_vuforia_VuforiaJNI_Tracker_1start
Java_com_qualcomm_vuforia_VuforiaJNI_Tracker_1stop
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Tracker
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getNumVertices
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1hasPositions
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getPositions
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1hasNormals
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getNormals
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1hasUVs
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getUVs
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getNumTriangles
Java_com_qualcomm_vuforia_VuforiaJNI_Mesh_1getTriangles
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Mesh
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getMesh
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getRevision
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getLocalPose
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getParent
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getChildrenCount
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1getChild
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1SmartTerrainTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1setMaximumArea
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1getMaximumArea
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1setNavMeshPadding
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1start
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1stop
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1reset
Java_com_qualcomm_vuforia_VuforiaJNI_Reconstruction_1isReconstructing
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb2D_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb2D_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb2D_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Obb2D_1getCenter
Java_com_qualcomm_vuforia_VuforiaJNI_Obb2D_1getHalfExtents
Java_com_qualcomm_vuforia_VuforiaJNI_Obb2D_1getRotation
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Obb2D
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb3D_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb3D_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Obb3D_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Obb3D_1getCenter
Java_com_qualcomm_vuforia_VuforiaJNI_Obb3D_1getHalfExtents
Java_com_qualcomm_vuforia_VuforiaJNI_Obb3D_1getRotationZ
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Obb3D
Java_com_qualcomm_vuforia_VuforiaJNI_Area_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Area
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Box3D_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Box3D_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Box3D_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Box3D_1getMinimumPosition
Java_com_qualcomm_vuforia_VuforiaJNI_Box3D_1getMaximumPosition
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Box3D
Java_com_qualcomm_vuforia_VuforiaJNI_CameraCalibration_1getSize
Java_com_qualcomm_vuforia_VuforiaJNI_CameraCalibration_1getFocalLength
Java_com_qualcomm_vuforia_VuforiaJNI_CameraCalibration_1getPrincipalPoint
Java_com_qualcomm_vuforia_VuforiaJNI_CameraCalibration_1getDistortionParameters
Java_com_qualcomm_vuforia_VuforiaJNI_CameraCalibration_1getFieldOfViewRads
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1getInstance
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1init_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1init_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1deinit
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1start
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1stop
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1getNumVideoModes
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1getVideoMode
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1selectVideoMode
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1getCameraCalibration
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1setFlashTorchMode
Java_com_qualcomm_vuforia_VuforiaJNI_CameraDevice_1setFocusMode
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1CameraDevice
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTarget_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTarget_1getUniqueTargetId
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTarget_1getSize
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTarget_1setSize
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1ObjectTarget
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTargetResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTargetResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1ObjectTargetResult
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1getSideLength
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1setSideLength
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1getTopDiameter
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1setTopDiameter
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1getBottomDiameter
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1setBottomDiameter
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1CylinderTarget
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTargetResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTargetResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1CylinderTargetResult
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1exists
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1load
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1getNumTrackables
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1createTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1createMultiTarget
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1destroy
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1hasReachedTrackableLimit
Java_com_qualcomm_vuforia_VuforiaJNI_DataSet_1isActive
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1DataSet
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1getMaxCount
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1getUsedCount
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1isProfileUsed
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1getActiveProfile
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1setActiveProfile
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1getProjectionMatrix
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1setProjectionMatrix
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1getProfileName
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1setProfileName
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationProfileManager_1clearProfile
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1EyewearCalibrationProfileManager
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1Pose_1set
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1Pose_1get
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1Scale_1set
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1Scale_1get
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1CenterX_1set
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1CenterX_1get
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1CenterY_1set
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearCalibrationReading_1CenterY_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1EyewearCalibrationReading
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1EyewearCalibrationReading
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1init
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1getMinScaleHint
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1getMaxScaleHint
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1getDrawingAspectRatio
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1isStereoStretched
Java_com_qualcomm_vuforia_VuforiaJNI_EyewearUserCalibrator_1getProjectionMatrix
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1EyewearUserCalibrator
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getInstance
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isDeviceDetected
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1setHeadsetPresent
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1setHeadsetNotPresent
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isSeeThru
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getScreenOrientation
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isStereoCapable
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isStereoEnabled
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isStereoGLOnly
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1setStereo
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1isPredictiveTrackingEnabled
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1setPredictiveTracking
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getProfileManager
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1setProjectionClippingPlanes
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getProjectionMatrix_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getProjectionMatrix_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getOrthographicProjectionMatrix
Java_com_qualcomm_vuforia_VuforiaJNI_Eyewear_1getCalibrator
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Eyewear
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Frame_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Frame_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Frame
Java_com_qualcomm_vuforia_VuforiaJNI_Frame_1getTimeStamp
Java_com_qualcomm_vuforia_VuforiaJNI_Frame_1getIndex
Java_com_qualcomm_vuforia_VuforiaJNI_Frame_1getNumImages
Java_com_qualcomm_vuforia_VuforiaJNI_Frame_1getImage
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getWidth
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getHeight
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getStride
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getBufferWidth
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getBufferHeight
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getFormat
Java_com_qualcomm_vuforia_VuforiaJNI_Image_1getPixels
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1getNumVirtualButtons
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1getVirtualButton_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1getVirtualButton_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1createVirtualButton
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1destroyVirtualButton
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1getMetaData
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1ImageTarget
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetBuilder_1build
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetBuilder_1startScan
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetBuilder_1stopScan
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetBuilder_1getFrameQuality
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetBuilder_1getTrackableSource
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1getNumVirtualButtons
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1getVirtualButtonResult_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1getVirtualButtonResult_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1ImageTargetResult
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1createDataSet
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1destroyDataSet
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1activateDataSet
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1deactivateDataSet
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getActiveDataSet_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getActiveDataSet_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getActiveDataSetCount
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getImageTargetBuilder
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1getTargetFinder
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1persistExtendedTracking
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1resetExtendedTracking
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1ObjectTracker
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1getSize
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1setSize
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1getMarkerId
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1getMarkerType
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Marker
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1MarkerResult
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1createFrameMarker
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1destroyMarker
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1getNumMarkers
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1getMarker
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1MarkerTracker
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1getNumParts
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1getPart_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1getPart_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1addPart
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1removePart
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1setPartOffset
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1getPartOffset
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1MultiTarget
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1getNumPartResults
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1getPartResult_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1getPartResult_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1MultiTargetResult
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Rectangle_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Rectangle_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Rectangle_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Rectangle
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getLeftTopX
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getLeftTopY
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getRightBottomX
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getRightBottomY
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getWidth
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getHeight
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getAreaSize
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_new_1RectangleInt_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1RectangleInt_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_new_1RectangleInt_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1RectangleInt
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getLeftTopX
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getLeftTopY
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getRightBottomX
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getRightBottomY
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getWidth
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getHeight
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getAreaSize
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1getInstance
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1begin_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1begin_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1drawVideoBackground
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1end
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1bindVideoBackground
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1setVideoBackgroundConfig
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1getVideoBackgroundConfig
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1getVideoBackgroundTextureInfo
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1setVideoBackgroundTextureID
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1setARProjection
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1setTargetFps
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1getRecommendedFps_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_Renderer_1getRecommendedFps_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Renderer
Java_com_qualcomm_vuforia_VuforiaJNI_new_1State_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_new_1State_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1State
Java_com_qualcomm_vuforia_VuforiaJNI_State_1getFrame
Java_com_qualcomm_vuforia_VuforiaJNI_State_1getNumTrackables
Java_com_qualcomm_vuforia_VuforiaJNI_State_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_State_1getNumTrackableResults
Java_com_qualcomm_vuforia_VuforiaJNI_State_1getTrackableResult
Java_com_qualcomm_vuforia_VuforiaJNI_StateUpdater_1updateState
Java_com_qualcomm_vuforia_VuforiaJNI_StateUpdater_1getLatestState
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1StateUpdater
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1getNavMesh
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1getBoundingBox
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1getNumMeshBoundaries
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1getMeshBoundaries
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Surface
Java_com_qualcomm_vuforia_VuforiaJNI_ReconstructionFromTarget_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_ReconstructionFromTarget_1setInitializationTarget_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_ReconstructionFromTarget_1setInitializationTarget_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_ReconstructionFromTarget_1getInitializationTarget
Java_com_qualcomm_vuforia_VuforiaJNI_Prop_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Prop_1getBoundingBox
Java_com_qualcomm_vuforia_VuforiaJNI_Prop_1getLocalPosition
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Prop
Java_com_qualcomm_vuforia_VuforiaJNI_PropResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_PropResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1PropResult
Java_com_qualcomm_vuforia_VuforiaJNI_SurfaceResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_SurfaceResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1SurfaceResult
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1getType
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1isOfType
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1createReconstruction
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1destroyReconstruction
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1getNumReconstructions
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1addReconstruction
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1removeReconstruction
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1getReconstruction
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1init
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainBuilder_1deinit
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1SmartTerrainBuilder
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTracker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTracker_1setScaleToMillimeter
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTracker_1getScaleToMillimeter
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTracker_1getSmartTerrainBuilder
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1SmartTerrainTracker
Java_com_qualcomm_vuforia_VuforiaJNI_TargetSearchResult_1getTargetName
Java_com_qualcomm_vuforia_VuforiaJNI_TargetSearchResult_1getUniqueTargetId
Java_com_qualcomm_vuforia_VuforiaJNI_TargetSearchResult_1getTargetSize
Java_com_qualcomm_vuforia_VuforiaJNI_TargetSearchResult_1getMetaData
Java_com_qualcomm_vuforia_VuforiaJNI_TargetSearchResult_1getTrackingRating
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TargetSearchResult
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1startInit
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1getInitState
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1waitUntilInitFinished
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1deinit
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1startRecognition
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1stop
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1isRequesting
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1updateSearchResults_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1updateSearchResults_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1getResultCount
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1getResult
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1enableTracking
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1clearTrackables
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1getNumImageTargets
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1getImageTarget
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1setUIScanlineColor
Java_com_qualcomm_vuforia_VuforiaJNI_TargetFinder_1setUIPointColor
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TargetFinder
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1loadWordList
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1addWordsFromFile
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1addWordU
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1removeWordU
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1containsWordU
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1unloadAllLists
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1setFilterMode
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1getFilterMode
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1addWordToFilterListU
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1removeWordFromFilterListU
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1clearFilterList
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1loadFilterList
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1getFilterListWordCount
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1getFilterListWordU
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1WordList
Java_com_qualcomm_vuforia_VuforiaJNI_TextTracker_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_TextTracker_1setRegionOfInterest
Java_com_qualcomm_vuforia_VuforiaJNI_TextTracker_1getRegionOfInterest
Java_com_qualcomm_vuforia_VuforiaJNI_TextTracker_1getWordList
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TextTracker
Java_com_qualcomm_vuforia_VuforiaJNI_new_1TrackableSource
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TrackableSource
Java_com_qualcomm_vuforia_VuforiaJNI_TrackerManager_1getInstance
Java_com_qualcomm_vuforia_VuforiaJNI_TrackerManager_1initTracker
Java_com_qualcomm_vuforia_VuforiaJNI_TrackerManager_1getTracker
Java_com_qualcomm_vuforia_VuforiaJNI_TrackerManager_1deinitTracker
Java_com_qualcomm_vuforia_VuforiaJNI_TrackerManager_1getStateUpdater
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1TrackerManager
Java_com_qualcomm_vuforia_VuforiaJNI_UpdateCallback_1QCAR_1onUpdate
Java_com_qualcomm_vuforia_VuforiaJNI_new_1UpdateCallback
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1UpdateCallback
Java_com_qualcomm_vuforia_VuforiaJNI_UpdateCallback_1director_1connect
Java_com_qualcomm_vuforia_VuforiaJNI_UpdateCallback_1change_1ownership
Java_com_qualcomm_vuforia_VuforiaJNI_new_1VideoBackgroundConfig
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Enabled_1set
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Enabled_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Position_1set
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Position_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Size_1set
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Size_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Reflection_1set
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundConfig_1Reflection_1get
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1VideoBackgroundConfig
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundTextureInfo_1TextureSize_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundTextureInfo_1ImageSize_1get
Java_com_qualcomm_vuforia_VuforiaJNI_VideoBackgroundTextureInfo_1PixelFormat_1get
Java_com_qualcomm_vuforia_VuforiaJNI_new_1VideoBackgroundTextureInfo
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1VideoBackgroundTextureInfo
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1setArea
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1getArea
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1setSensitivity
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1setEnabled
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1isEnabled
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1getName
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButton_1getID
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButtonResult_1getVirtualButton
Java_com_qualcomm_vuforia_VuforiaJNI_VirtualButtonResult_1isPressed
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getStringU
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getLength
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getNumCodeUnits
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getSize
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getMask
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1getLetterBoundingBox
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Word
Java_com_qualcomm_vuforia_VuforiaJNI_WordResult_1getClassType
Java_com_qualcomm_vuforia_VuforiaJNI_WordResult_1getTrackable
Java_com_qualcomm_vuforia_VuforiaJNI_WordResult_1getObb
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1WordResult
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1convertPose2GLMatrix
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1getProjectionGL
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1projectPoint
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1multiply_1_1SWIG_10
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1multiply_1_1SWIG_11
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1multiply_1_1SWIG_12
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1multiplyGL
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1setTranslation
Java_com_qualcomm_vuforia_VuforiaJNI_Tool_1setRotation
Java_com_qualcomm_vuforia_VuforiaJNI_new_1Tool
Java_com_qualcomm_vuforia_VuforiaJNI_delete_1Tool
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTrackable_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTarget_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTargetResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTarget_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_CylinderTargetResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTarget_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ImageTargetResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ObjectTracker_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_Marker_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_MarkerTracker_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTarget_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_MultiTargetResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_Rectangle_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_RectangleInt_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_Surface_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_ReconstructionFromTarget_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_Prop_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_PropResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_SurfaceResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_SmartTerrainTracker_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_WordList_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_TextTracker_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_Word_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_WordResult_1SWIGUpcast
Java_com_qualcomm_vuforia_VuforiaJNI_swig_1module_1init
Java_com_qualcomm_QCAR_QCAR_privateSetInitParameters
Java_com_qualcomm_QCAR_QCAR_privateInit
Java_com_qualcomm_QCAR_QCAR_progressiveInit
Java_com_qualcomm_QCAR_QCAR_isInitialized
Java_com_qualcomm_QCAR_QCAR_deinit
Java_com_qualcomm_QCAR_QCAR_requiresAlpha
Java_com_qualcomm_QCAR_QCAR_onResume
Java_com_qualcomm_QCAR_QCAR_onPause
Java_com_qualcomm_QCAR_QCAR_onSurfaceCreated
Java_com_qualcomm_QCAR_QCAR_onSurfaceChanged

OpenGL-ES methods

3.0 new methods

GL_APICALL void           GL_APIENTRY glReadBuffer (GLenum mode);
GL_APICALL void           GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices);
GL_APICALL void           GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
GL_APICALL void           GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
GL_APICALL void           GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void           GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
GL_APICALL void           GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
GL_APICALL void           GL_APIENTRY glGenQueries (GLsizei n, GLuint* ids);
GL_APICALL void           GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint* ids);
GL_APICALL GLboolean      GL_APIENTRY glIsQuery (GLuint id);
GL_APICALL void           GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
GL_APICALL void           GL_APIENTRY glEndQuery (GLenum target);
GL_APICALL void           GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint* params);
GL_APICALL void           GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint* params);
GL_APICALL GLboolean      GL_APIENTRY glUnmapBuffer (GLenum target);
GL_APICALL void           GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, GLvoid** params);
GL_APICALL void           GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum* bufs);
GL_APICALL void           GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
GL_APICALL void           GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void           GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
GL_APICALL GLvoid*        GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
GL_APICALL void           GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
GL_APICALL void           GL_APIENTRY glBindVertexArray (GLuint array);
GL_APICALL void           GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint* arrays);
GL_APICALL void           GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint* arrays);
GL_APICALL GLboolean      GL_APIENTRY glIsVertexArray (GLuint array);
GL_APICALL void           GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint* data);
GL_APICALL void           GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
GL_APICALL void           GL_APIENTRY glEndTransformFeedback (void);
GL_APICALL void           GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
GL_APICALL void           GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
GL_APICALL void           GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode);
GL_APICALL void           GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name);
GL_APICALL void           GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
GL_APICALL void           GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params);
GL_APICALL void           GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params);
GL_APICALL void           GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
GL_APICALL void           GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
GL_APICALL void           GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint* v);
GL_APICALL void           GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint* v);
GL_APICALL void           GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint* params);
GL_APICALL GLint          GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
GL_APICALL void           GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
GL_APICALL void           GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
GL_APICALL void           GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
GL_APICALL void           GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
GL_APICALL void           GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint* value);
GL_APICALL void           GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint* value);
GL_APICALL void           GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint* value);
GL_APICALL void           GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint* value);
GL_APICALL void           GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint* value);
GL_APICALL void           GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint* value);
GL_APICALL void           GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat* value);
GL_APICALL void           GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
GL_APICALL const GLubyte* GL_APIENTRY glGetStringi (GLenum name, GLuint index);
GL_APICALL void           GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
GL_APICALL void           GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices);
GL_APICALL void           GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
GL_APICALL GLuint         GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar* uniformBlockName);
GL_APICALL void           GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
GL_APICALL void           GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
GL_APICALL void           GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
GL_APICALL void           GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
GL_APICALL void           GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount);
GL_APICALL GLsync         GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
GL_APICALL GLboolean      GL_APIENTRY glIsSync (GLsync sync);
GL_APICALL void           GL_APIENTRY glDeleteSync (GLsync sync);
GL_APICALL GLenum         GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
GL_APICALL void           GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
GL_APICALL void           GL_APIENTRY glGetInteger64v (GLenum pname, GLint64* params);
GL_APICALL void           GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
GL_APICALL void           GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64* data);
GL_APICALL void           GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64* params);
GL_APICALL void           GL_APIENTRY glGenSamplers (GLsizei count, GLuint* samplers);
GL_APICALL void           GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint* samplers);
GL_APICALL GLboolean      GL_APIENTRY glIsSampler (GLuint sampler);
GL_APICALL void           GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
GL_APICALL void           GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
GL_APICALL void           GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint* param);
GL_APICALL void           GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
GL_APICALL void           GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat* param);
GL_APICALL void           GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params);
GL_APICALL void           GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params);
GL_APICALL void           GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
GL_APICALL void           GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
GL_APICALL void           GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint* ids);
GL_APICALL void           GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint* ids);
GL_APICALL GLboolean      GL_APIENTRY glIsTransformFeedback (GLuint id);
GL_APICALL void           GL_APIENTRY glPauseTransformFeedback (void);
GL_APICALL void           GL_APIENTRY glResumeTransformFeedback (void);
GL_APICALL void           GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary);
GL_APICALL void           GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length);
GL_APICALL void           GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
GL_APICALL void           GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments);
GL_APICALL void           GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
GL_APICALL void           GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void           GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
GL_APICALL void           GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params);

How to build pure C++ Android application

The following steps take /ndk/samples/native-activity as the example

install adt

( android-dev-tool, which contains sdk && eclipse)
important sdk tools:

  • c:\Downloads\adt-bundle-windows-x86-20130219\sdk\platform-tools\adb.exe
  • c:\Downloads\adt-bundle-windows-x86-20130219\sdk\tools\android.bat
  • c:\Downloads\adt-bundle-windows-x86-20130219\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\bin\ant.bat

install ndk

important ndk tools:

  • c:\android-ndk-r8e\ndk-build.cmd
  • c:\android-ndk-r8e\ndk-gdb.py

install jdk

set JAVA_HOME = c:\Program Files\Java\jdk1.7.0_25\

generate buid.xml

$ android update project -p "/project/full/path"

you can simply enter to the path of your project using cd then you use
$ android update project -p .

Sucess

Updated and renamed default.properties to project.properties
Updated local.properties
No project name specified, using Activity name 'NativeActivity'.
If you wish to change it, edit the first line of build.xml.
Added file C:\android-ndk-r8e\samples\native-activity\build.xml
Added file C:\android-ndk-r8e\samples\native-activity\proguard-project.txt

Error

Error: The project either has no target set or the target is invalid.
Please provide a -t or --target to the android.bat update command.

$ android list targets to find supported targets
$ android update project -p . -t android-10 to explicitly specify the target id

A proper output would be:

Available Android targets:
----------
id: 1 or "android-17"
     Name: Android 4.2.2
     Type: Platform
     API level: 17
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
     ABIs : armeabi-v7a

We can change the content of default.properties file.

build jni so

$ ndk-build

build apk

$ ant clean debug # clean to make sure .so file is replaced
$ adb install -r bin/NativeActivity-debug.apk # -r means forcefully install

run apk from adb

adb shell commands is am start -n your.package.name/your.activity.name
$ adb shell am start -n com.example.native_activity/android.app.NativeActivity

error

E/AndroidRuntime( 9570): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.native_activity/android.app.NativeActivity}: java.lang.IllegalArgumentException: Unable to find native library: native-activity
E/AndroidRuntime( 9570): Caused by: java.lang.IllegalArgumentException: Unable to find native library: native-activity
<application android:label="@string/app_name" android:hasCode="false">

changed to

<application android:label="@string/app_name" android:hasCode="true">

create an empty src/ folder and try ant debug again

graphics-debugging-tools

Tool Provider Host Device D3D OpenGL Comment
apitrace open-source desktop-OS desktop-OS 8~11 OpenGL/ES http://apitrace.github.io/
PIX Microsoft Win Win 9~11 - DX SDK, replaced by VS Graphics Debugger
VS Graphics Debugger Microsoft Win Win 9~11.1 - Bundled with VS 2012 pro, http://msdn.microsoft.com/en-us/library/hh315751.aspx
GLIntercept open-source Win Win - OpenGL https://code.google.com/p/glintercept/
WebGL-Inspecto r open-source desktop-OS Browser - WebGL http://benvanik.github.io/WebGL-Inspector
Nsight NVIDIA desktop-OS desktop-OS 9~11 OpenGL Also supprots OpenCL/CUDA/C++ AMP, Needs Visual Studio / Eclipse, http://www.nvidia.com/object/nsight.html
PerfHUD ES NVIDIA desktop-OS Tegra-Android - ES https://developer.nvidia.com/nvidia-perfhud-es
CodeXL AMD Win/Linux Win/Linux - OpenGL formly gDEBugger, also supports OpenCL, http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/
GPU PerfStudio AMD Win Win 10~11 OpenGL http://developer.amd.com/tools-and-sdks/graphics-development/gpu-perfstudio-2/
GPA Intel desktop-OS desktop-OS/Atom-Android 9~11 ES http://software.intel.com/en-us/vcsource/tools/intel-gpa
Android-glTracer Google any Android - ES http://developer.android.com/tools/help/gltracer.html
Xcode-Frame Capture Apple Mac iOs - ES

ubuntu-account-conflicts-solution

  • Shutdown the computer
  • Boot into Recovery Mode --After BIOS load, hold down Shift key to access the grub menu --Once in grub menu, select the entry ending in "(recovery mode)"
  • From the next menu selected option to enter Root Session
  • At the root session, execute command mount -o remount,rw / to remount the filesystem as read-write
  • Edit the /etc/centrifydc/user.ignore like in previous post by adding account name to ignore

ETC-texture-format-list

http://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt

#define GL_COMPRESSED_RGB8_ETC2 0x9274
#define GL_COMPRESSED_SRGB8_ETC2 0x9275
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
#define GL_MAX_ELEMENT_INDEX 0x8D6B
#define GL_COMPRESSED_R11_EAC 0x9270
#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
#define GL_COMPRESSED_RG11_EAC 0x9272
#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273

pitfalls_of_OpenGL

Some of them might be by design, but when it comes to real coding, it causes problems.

  • glViewport and glScissor all use window coordinates, which means (0, 0) is at the left-bottom of the window, while (0, 0) is at the left-top of Direct3D window.
  • OpenGL context is stored in thread-local storage (TLS), you can change the current context of a specific thread, but you can't access the same context from different threads.
  • /GL/gl.h under Windows platform only has 1.0 version, you need glee / glew to get modern versions of OpenGL dynamically.
  • OpenGL has no idea of window and message looping, you need platform-specific APIs
    • egl is for opengl-es, Android/iOS, it also supports windows platform.
    • wgl is for windows
    • cgl is for Mac
    • glx is for linux
    • glut is a cross-platform window system toolkit (wrappers of wgl/cgl/glx)

egl-initialization

EGL is a common API for GL context management, similar to WGL and GLX, that can be used on many platforms that support OpenGL ES. An abstraction is provided for communicating native window and display handles to EGL, but developers remain responsible for all window management through native APIs.

位于 OpenGl/OpenGl-ES 与 Windows API 之间, 与 WGL 的作用相同。

The first step to EGL setup is to grab a handle to the display, as follows. In Microsoft Windows environments, the native display handle should be NULL. In Linux, the native display handle should be an X11 Display*.

EGLDisplay eglDisplay;
eglDisplay = eglGetDisplay(nativeDisplay);

Next, eglInitialize must be called, and the EGL version numbers supported by the system are returned.Note that the EGL version numbers should not be confused with the OpenGL ES version.

EGLint major = 0;
EGLint minor = 0;
bsuccess = eglInitialize(eglDisplay, &major, &minor); 

The next step is to select a configuration id for the context. This is performed by providing an attribute list of name-value pairs. The attribute list must be terminated by EGL_NONE. In this example, we select the default color format for the device, with a 16 bit depth buffer and no stencil support.

EGLint attrs[] = { EGL_DEPTH_SIZE, 16, EGL_NONE };
EGLint numConfig = 0;
EGLConfig eglConfig = 0;
bsuccess = eglChooseConfig(eglDisplay, attrs, &eglConfig, 1, &numConfig);

Now, an EGLSurface needs to be created and attached to the native window handle. In Microsoft Windows environments, the native window handle will be of type HWND. In Linux , the native window handle should be an X11 Window.

EGLSurface eglSurface;
eglSurface = eglCreateWindowSurface(eglDisplay,eglConfig,nativeWin,NULL);

Additionally, a render context must be created.

EGLContext eglContext;
eglContext = eglCreateContext(eglDisplay,eglConfig,EGL_NO_CONTEXT, NULL);

Finally, the context should be bound to the surface and made active by a call to eglMakeCurrent.

bsuccess = eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);

my_vi_cheatsheet

Get the name of the current file

:echo @%    def/my.txt   directory/name of file
:echo expand('%:t')     my.txt   name of file ('tail')
:echo expand('%:p')     /abc/def/my.txt  full path
:echo expand('%:p:h')   /abc/def     directory containing file ('head')

android_debugging

C:\Downloads\adt-bundle-windows-x86-20130219\sdk\tools\monitor.bat

Register APCS name APCS Role
R0-R3 a1-a4 argument 1-4/scratch register/result
R4-R8 v1-v5 register variable
R9 sb/v6 static base/register variable
R10 sl/v7 stack limit/stack chunk handle/register variable
R11 fp/v8 frame pointer/register variable
R12 ip scratch register/new-sb in inter-link-unit calls
R13 sp lower end of the current stack frame
R14 lr link register/scratch register
R15 pc program counter
R16 cpsr ARM processor mode indicator
D0-DN Double precision registers (N)

apt source list

edit /etc/apt/sources.list

deb mirror://mirrors.ubuntu.com/mirrors.txt  xenial main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-backports main restricted universe multiverse
deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-security main restricted universe multiverse

play_with_assimp

download 3.0

Assimp Viewer is a DX9-based model viewer, it doesn't support animation though.

To build it in vc9, click assimp--3.0.1270\workspaces\vc9\assimp.sln
Recommend configurations are debug-dll and release-dll, since the code size is very huge, 100M+
IFC (.ifc, Industry Foundation Classes) is not necessary for game dev/creative coding, it's fine to remove it.

glsl-syntax

glsl ref

uniform mat4 u_matViewProjection;
attribute vec4 a_position;
attribute vec2 a_texCoord0;
varying vec2 v_texCoord;

void main(void)
{
gl_Position = u_matViewProjection * a_position;
v_texCoord = a_texCoord0;
}
// Fragment shader
precision mediump float; 
varying vec2 v_texCoord; // Varying in fragment shader 
uniform sampler2D s_baseMap; 
uniform sampler2D s_lightMap; 

void main() 
{ 
vec4 baseColor; 
vec4 lightColor; 
baseColor = texture2D(s_baseMap, v_texCoord); 
lightColor = texture2D(s_lightMap, v_texCoord); 
gl_FragColor = baseColor * (lightColor + 0.25); 
}

difference-between-glsl-and-hlsl

glsl

  • 浮点数不能与整数相加
  • vec3 的构造函数必须是浮点数
  • 不能以 C Struct 形式的花括号初始化数据
  • const static 不合法

software-plugins

SublimeText3

Package Control
All Autocomplete
BracketHighlighter
ConvertToUTF8
OpenGL Shading Language (GLSL)
Perforce
SublimeAStyleFormatter

apktool - hack android apk

https://bitbucket.org/iBotPeaches/apktool/downloads

  • cd /path/to/your/apktool
  • apktool d -f /path/to/app.apk
  • hack it!
  • apktool b /path/to/app
  • C:\NVPACK\jdk1.7.0_45\bin\jarsigner.exe -keystore my-release-key.keystore -digestalg SHA1 -sigalg MD5withRSA /path/to/app/dist/new.apk alias_name

password: 123456

  • adb shell ls /data/data | grep <package.name> to find the package.name
  • adb unstall <package.name>
  • adb install -r /path/to/new.apk

opengl-es-dev-android

adb shell dumpsys activity | grep

monitor -> perspective -> gl tracer -> connect and dump -> anaylysis

utility-functions-glsl

#define REPORT_COMPILE_ERRORS

//////////////////////////////////////////////////////////////////////////////////////////////
inline GLuint CompileGLSLShader( GLenum target, const char* shader)
{
    GLuint object;

    object = glCreateShader( target);

    if (!object)
        return object;

    glShaderSource( object, 1, &shader, NULL);

    glCompileShader(object);

    // check if shader compiled
    GLint compiled = 0;
    glGetShaderiv(object, GL_COMPILE_STATUS, &compiled);

    if (!compiled)
    {
#ifdef REPORT_COMPILE_ERRORS
        char temp[256] = "";
        glGetShaderInfoLog( object, 256, NULL, temp);
        fprintf( stderr, "Compile failed:\n%s\n", temp);
#endif
        glDeleteShader( object);
        return 0;
    }

    return object;
}

// Create a program composed of vertex and fragment shaders.
inline GLuint LinkGLSLProgram( GLuint vertexShader, GLuint fragmentShader)
{
    GLuint program = glCreateProgram();
    glAttachShader(program, vertexShader);
    glAttachShader(program, fragmentShader);
    glLinkProgram(program);

#ifdef REPORT_COMPILE_ERRORS
    // Get error log.
    GLint charsWritten, infoLogLength;
    glGetProgramiv(program, GL_INFO_LOG_LENGTH, &infoLogLength);

    char * infoLog = new char[infoLogLength];
    glGetProgramInfoLog(program, infoLogLength, &charsWritten, infoLog);
    printf(infoLog);
    delete [] infoLog;
#endif

    // Test linker result.
    GLint linkSucceed = GL_FALSE;
    glGetProgramiv(program, GL_LINK_STATUS, &linkSucceed);

    if (linkSucceed == GL_FALSE)
    {
        glDeleteProgram(program);
        return 0;
    }

    return program;
}

notes_of_ARToolKitPlus

Latest version 2.3.0

/samples/simple/main.cpp

// create a tracker that does
ARToolKitPlus::TrackerSingleMarker tracker(width, height, 
8,  //  -can detect a maximum of 8 patterns in one images
6, 6,  //  describes the pattern image width (must be 6 for binary markers)
6,  // describes the maximum resolution at which a pattern is sampled from the camera image
0 //  describes the maximum number of pattern files that can be loaded
);

Two types of calibration files
.xml loadOpenCVCalib
.cal loadARTKCalib

/// Returns an opengl-style modelview transformation matrix
virtual const ARFloat* getModelViewMatrix() const {
    return gl_para;
}

/// Returns an opengl-style projection transformation matrix
virtual const ARFloat* getProjectionMatrix() const {
    return gl_cpara;
}

Processing_official_tutorial_PShape

http://processing.org/tutorials/pshape/

PShape

This tutorial is for Processing version 2.0+. If you see any errors or have comments, please let us know.

The source code contained in this tutorial can be found by selecting File > Examples in the Processing IDE. Then select Topics > Create Shapes.

Before we should begin, it should also be noted that the features of this tutorial (i.e. the use of createShape()) are currently only supported by the P2D and P3D drawing modes.

What is a PShape?

One of the very first things you learn when programming with Processing is how to draw "primitive" shapes to the screen: rectangles, ellipses, lines, triangles, and more.

rect(x,y,w,h);
ellipse(x,y,w,h);
line(x1,y1,x2,y2);
triangle(x1,y1,x2,y2,x3,y3);

A more advanced drawing option is to use beginShape() and endShape() to specify the vertices of a custom polygon:

beginShape();
vertex(x1,y1);
vertex(x2,y2);
vertex(x3,y3);
vertex(x4,y4);
// etc;
endShape();

And you can build more complex shapes by grouping a set of drawing functions together, even perhaps organizing them into a class.

class MyWackyShape {
  // Some variables

  // A constructor

  // Some functions

  // Display the shape!
  void display() {
    rect(x,y,w,h);
    ellipse(x,y,w,h);
    beginShape();
    vertex(x1,y1);
    vertex(x2,y2);
    vertex(x3,y3);
    vertex(x4,y4);
    // etc;
    endShape();
  }
}

This is all well and good and will get you pretty far. There's very little you can't draw just knowing the above. However, there is another step. A step that can, in some cases, improve the speed of your rendering as well as offer a more advanced organizational model for your code—PShape.

PShape is a datatype for storing shapes. These can be shapes that you build out of custom geometry or shapes that you load from an external file, such as an SVG.

Primitive PShapes

Let's begin with one of the simplest cases for use of a PShape. Here's a simple Processing draw() method that draws an rectangle following the mouse.

void draw() {
  background(51);
  stroke(255);
  fill(127);
  rect(mouseX,mouseY,100,50);
}

Pretty basic stuff. If this was all the code we had, there's not necessarily a good reason for using a PShape instead, but we're going to push ahead and make a PShape rectangle anyway as a demonstration. Our goal here is to have a variable that stores the color and dimensions of that variable, allowing our draw function to look like this.

void draw() {
  background(51);
  shape(rectangle);
}

And what is this "rectangle"? It's a PShape.

PShape rectangle;
To initialize a PShape, use the createShape() method. The first argument for createShape() is a constant, and this constant specifies the type of PShape you intend to make. As we'll see throughout this tutorial there are a number of options: ELLIPSE, RECT, ARC, TRIANGLE, SPHERE, BOX, LINE, GROUP, and more. Here we are making a primitive shape, a rectangle, so we use the constant "RECT." The arguments that follow are the (x,y) location for the shape as well as its dimensions (width,height). So now our setup() should look like:

PShape rectangle;

void setup() {  
  size(640,360,P2D);
  rectangle = createShape(RECT,mouseX,mouseY,100,50);
}

There's a big problem though. Yes, we want the rectangle to appear at the mouse location, but when a sketch first begins mouseX and mouseY are set to zero. mouseX and mouseY don't come to life until we are looping through draw(). It's important to remember that when using PShape, what we're really doing is configuring the geometry relative to the origin (0,0). It's generally then advantageous to then move that shape about the screen using transformations: translate(), rotate(), etc. So now we have:

PShape rectangle;

void setup() {  
  size(640,360,P2D);
  rectangle = createShape(RECT,0,0,100,50);
}
and if we wanted the Rectangle to be drawn from its center:

PShape rectangle;

void setup() {  
  size(640,360,P2D);
  rectangle = createShape(RECT,-50,-25,100,50);
}

We can then move it according to the mouse with translate.

void draw() {
  background(51);
  translate(mouseX,mouseY);
  shape(rectangle);
}

One of the nice things about the PShape object is that it can also store color information in addition to geometry. Once a shape has been created in order to alter its fill or stroke, use the methods setFill(), setStroke(), setStrokeWeight(), etc.

void setup() { 
  size(640,360,P2D);
  rectangle = createShape(RECT,-50,-25,100,50);
  rectangle.setStroke(color(255));  
  rectangle.setStrokeWeight(4);
  rectangle.setFill(color(127));
}

These methods can be called during draw() as well if you want to change the color of the shape dynamically.

void draw() {
  background(51);
  translate(mouseX, mouseY);
  rectangle.setFill(color(map(mouseX, 0, width, 0, 255)));
  shape(rectangle);
}

It should be noted that unlike with fill() and stroke() you must pass a full color as an argument. i.e. instead of saying "setFill(255,0,0)" for a red fill, you'll need to say "setFill(color(255,0,0))". In addition, setFill() and setStroke() can take a boolean argument (e.g. setFill(false)) to turn the fill or stroke on or off for a given vertex as well as an integer (e.g. setFill(i,color(255,0,0))) to set the fill or stroke for a specific vertex.

See Example "PrimitivePShape" (under File > Examples > Topics > Create Shapes) for an example that demonstrates all of the above code.

Custom PShapes

PShapes also can be configured with custom vertices. You've probably done this before, without PShape, just using beginShape() and endShape(). For example, let's say you wanted to draw a star in Processing. You might have some code as follows:

void draw() {
  background(51);
  translate(mouseX, mouseY);
  fill(102);
  stroke(255);
  strokeWeight(2);
  beginShape();
  vertex(0, -50);
  vertex(14, -20);
  vertex(47, -15);
  vertex(23, 7);
  vertex(29, 40);
  vertex(0, 25);
  vertex(-29, 40);
  vertex(-23, 7);
  vertex(-47, -15);
  vertex(-14, -20);
  endShape(CLOSE);
}

Here, just as in the previous example, our goal will be to draw the shape itself as an object in draw().

void draw() {
  background(51);
  translate(mouseX, mouseY);
  shape(star);
}

To make a PShape with custom vertices, you must first call createShape() to make the shape object and then call beginShape() and endShape() on that object

PShape star;

void setup() {
  size(640,360,P2D);
  star = createShape();       // First create the shape
  star.beginShape();          // now call beginShape();

  // All the vertex information goes here.

  star.endShape(CLOSE);       // now call endShape(CLOSE);
}

Then all the vertices (and colors) can be specified by calling the functions on the new PShape object "star." Note that setFill() and setStroke() are not required here, only if you choose to alter the colors after the shape has been initially created.

void setup() {
  size(640,360,P2D);

  // First create the shape
  star = createShape();
  star.beginShape();
  // You can set fill and stroke
  star.fill(102);
  star.stroke(255);
  star.strokeWeight(2);
  // Here, we are hardcoding a series of vertices
  star.vertex(0, -50);
  star.vertex(14, -20);
  star.vertex(47, -15);
  star.vertex(23, 7);
  star.vertex(29, 40);
  star.vertex(0, 25);
  star.vertex(-29, 40);
  star.vertex(-23, 7);
  star.vertex(-47, -15);
  star.vertex(-14, -20);
  star.endShape(CLOSE);
}

See Example "PolygonPShape" (under File > Examples > Topics > Create Shapes) for an example that demonstrates all of the above code.

Many PShapes

As we mentioned earlier, one reason to use PShape is just to help you organize your geometry. However, there's another reason. Let's assume for a moment that you have a Star class, with a display() function that looks like so:

void display() {
  pushMatrix();
  translate(x, y);
  fill(102);
  stroke(255);
  strokeWeight(2);
  beginShape();
  vertex(0, -50);
  vertex(14, -20);
  vertex(47, -15);
  vertex(23, 7);
  vertex(29, 40);
  vertex(0, 25);
  vertex(-29, 40);
  vertex(-23, 7);
  vertex(-47, -15);
  vertex(-14, -20);
  endShape(CLOSE);
  popMatrix();
}

and in draw(), you are iterating through an array of Star objects, displaying each one.

void draw() {
  background(51);
  for (int i = 0; i < stars.length; i++) {
    stars[i].display(); 
  }
}

Try to draw around 500 stars and your sketch may run rather slowly, about 10 FPS. This is because this style of drawing, often referred to as "immediate" mode, requires the renderer to compute the geometry each time through draw for each and every star. But is this necessary? After all, it's the same star over and over and over again. Using a PShape allows Processing to essentially "memorize" the geometry of that star. Drawing the memorized geometry (called a "Vertex Buffer Object" in lower-level OpenGL syntax) is called "retained" mode and is a great deal faster. Those 500 stars render easily at 60 FPS using a PShape instead. This can be achieved by including a PShape variable as part of the Star class.

class Star {
  PShape s;
  float x, y;
That PShape then needs to be initialized in the constructor. This can be done directly, right there in the class.

  Star() {
    // First create the shape
    s = createShape();
    star.beginShape();
    // You can set fill and stroke
    star.fill(102);
    star.stroke(255);
    star.strokeWeight(2);
    // Here, we are hardcoding a series of vertices
    star.vertex(0, -50);
    star.vertex(14, -20);
    star.vertex(47, -15);
    star.vertex(23, 7);
    star.vertex(29, 40);
    star.vertex(0, 25);
    star.vertex(-29, 40);
    star.vertex(-23, 7);
    star.vertex(-47, -15);
    star.vertex(-14, -20);
    star.endShape(CLOSE);
  }

This method makes sense if each object itself has its own geometry, generated via an algorithm. However, if each object is displaying the identical PShape, it likely makes more sense to pass in a reference to a PShape in the constructor itself. Let's take a look at how this might work. Let's say we create a generic class called "Polygon" which has a reference to a PShape (which is draws in a display method).

class Polygon {
  PShape s;

  void display() {
    shape(s);
  }
}

TIn the previous example, the shape was created right there in the object's constructor. Here we are going to demonstrate a different way to write the constructor where the shape is set via an argument.

  Polygon(PShape s_) {
    s = s_;
  }

For this to work, however, a PShape must be passed into when the object is created. Here is how this would look in the main tab with setup():

Polygon poly;                   // An object of type Polygon

void setup() {
  size(640,360,P2D);

  PShape star = createShape();  // First we make the PShape
  star.beginShape();
  star.noStroke();
  star.fill(0, 127);
  star.vertex(0, -50);
  star.vertex(14, -20);
  star.vertex(47, -15);
  star.vertex(23, 7);
  star.vertex(29, 40);
  star.vertex(0, 25);
  star.vertex(-29, 40);
  star.vertex(-23, 7);
  star.vertex(-47, -15);
  star.vertex(-14, -20);
  star.endShape(CLOSE);

  poly = new Polygon(star);     // Then we make the Polygon object by passing in the reference to the PShape

}

This is a very flexible approach. For example if you had an array of PShape objects, you could create new Polygon objects each one with a random PShape. Here is a simple implementation.

ArrayList polygons;
PShape[] shapes = new PShape[2];                       // An array of PShapes

void setup() {
  size(640, 360, P2D);
  smooth();
  shapes[0] = createShape(ELLIPSE,0,0,100,100);        // Two PShapes
  shapes[1] = createShape(RECT,0,0,100,100);

  polygons = new ArrayList();

  for (int i = 0; i < 25; i++) {
    int selection = int(random(shapes.length));        // Pick a random index
    Polygon p = new Polygon(shapes[selection]);        // Use corresponding PShape to create Polygon
    polygons.add(p);
  }
}

For the full examples, take a look at "PolygonPShapeOOP1", "PolygonPShapeOOP2", and "PolygonPShapeOOP3" (Under File > Examples > Topics > Create Shapes).

More Custom PShapes

PShapes support all the same types of shapes you can draw in immediate mode. These include: POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, and QUAD_STRIP. For example, if you want to create a quad strip, you would say:

PShape s = createShape();
s.beginShape(QUAD_STRIP);

If no mode is specified, the shape can be any irregular polygon as we saw in the previous star example. A PShape can also be a path by not closing the shape. Here is an example of a path that follows a sine wave as a PShape object.

  PShape path = createShape();
  path.beginShape();
  float x = 0;
  // Calculate the path as a sine wave
  for (float a = 0; a < TWO_PI; a += 0.1) {
    path.vertex(x,sin(a)*100);
    x+= 5;
  }
  // Don't "CLOSE" a shape if you want it to be a path
  path.endShape();

See Example "PathPShape" for the full implementation.

PShapes also include the methods beginContour() and endContour(). These methods allow you to cut a shape out of another and make shapes with holes in them. Think of drawing the outline of a letter, like P (for Processing). The outline of the P can be drawn as a series of vertices, but to get the counter shape knocked out of the middle of the P, you need begin/endContour and draw the path of the interior. Here's a simple example that draws an interior square inside of an exterior one.

// Make a shape
PShape s = createShape();
s.beginShape();

// Exterior part of shape
s.beginContour();
s.vertex(-100,-100);
s.vertex(100,-100);
s.vertex(100,100);
s.vertex(-100,100);
s.vertex(-100,-100);
s.endContour();

// Interior part of shape
s.beginContour();
s.vertex(-10,-10);
s.vertex(10,-10);
s.vertex(10,10);
s.vertex(-10,10);
s.vertex(-10,-10);
s.endContour();

// Finishing off shape
s.endShape();

See Example "BeginEndContour" (under File > Examples > Topics > Create Shapes) for the full implementation.

PShape Groups

Another convenience of PShape is the ability to group shapes. For example, what if you wanted to create an alien creatures out of a set of circles, rectangles, and custom polygons. If the head were a circle and the body a rectangle, you might think you need:

PShape head = createShape(ELLIPSE,0,0,50,50);
PShape body = createShape(RECT,0,50,50,100);
shape(head);
shape(body);

While of course this would work, it would be a great deal more convenient if you could group the head and body into one PShape. With a PShape "GROUP", you can.

// Make the parent shape
PShape alien = createShape(GROUP);

// Make two shapes
PShape head = createShape(ELLIPSE, 0, 0, 50, 50);
PShape body = createShape(RECT, 0, 50, 50, 100);

// Add the two "child" shapes to the parent group
alien.addChild(head);
alien.addChild(body);

// Draw the group
translate(width/2, height/2);
shape(alien);

For a full example that demonstrates a PShape that groups together a primitive shape, custom polygon, and path, see "GroupPShape" (under File > Examples > Topics > Create Shapes). PShape groups allow you build a sophisticated hierarchy of shapes. This in turn allows you to set the color and attributes of the child shapes by calling the corresponding method at the parent level. Similarly, by calling the transformation functions at a given level of the hierarchy, you only affect the shapes below.

Loading External Shapes

PShapes also support loading shape files, such as an SVG (for 2D shapes) or OBJ (for 3D shapes). This can be achieved with the loadShape() method.

PShape svg;

void setup() {
  size(640, 360, P2D);
  svg = loadShape("star.svg");
}

void draw() {
  background(255);
  shape(svg);
}

Manipulating the Vertices of a PShape in Real-Time

After about five minutes of working with PShape, the question inevitably arises: "What do I do if I want to wiggle all of my vertices?" PShape allows you to dynamically access and alter the vertices through the methods getVertex() and setVertex().

To iterate over the vertices of a PShape, you can loop from 0 to the total number of vertices (getVertexCount()). Assuming a PShape "s", this would look something like:

for (int i = 0; i < s.getVertexCount(); i++) {
}

The vertices can be retrieved as PVector objects with getVertexCount().

for (int i = 0; i < s.getVertexCount(); i++) {
  PVector v = s.getVertex(i);
}

You could then move that vertex by manipulating the PVector and setting new values with setVertex().

for (int i = 0; i < s.getVertexCount(); i++) {
  PVector v = s.getVertex(i);
  v.x += random(-1,1);
  v.y += random(-1,1);
  s.setVertex(i,v.x,v.y);
}

For an example that wiggles a polygon's vertices using Perlin noise, see "WigglePShape" (under File > Examples > Topics > Create Shapes).

adb_cheatsheet

filter logcat output
http://developer.android.com/tools/debugging/debugging-log.html
Every Android log message has a tag and a priority associated with it.

Using grep
adb logcat -v time -d | grep <package-name>

A general syntax
adb logcat <package-name>:<log level> *:S

Shortcut to mute other tags by -s, which means *:S
adb logcat -S <package-name>

displays all log messages with priority level "warning" and higher, on all tags
adb logcat *:W

Display messages with "ActivityManager" tag at priority "Info" or above and all log messages with tag "MyApp", with priority "Debug" or above,
*:S, sets the priority level for all other tags to "silent"
adb logcat ActivityManager:I MyApp:D *:S

opengl_stencil_operations

    //set up to draw stencil
    static void beginDrawingStencil() {
        glClear(GL_STENCIL_BUFFER_BIT);
        glEnable(GL_STENCIL_TEST); //Enable using the stencil buffer
        glColorMask(0, 0, 0, 0); //Disable drawing colors to the screen
        glStencilFunc(GL_ALWAYS, 1, 1); //Make the stencil test always pass
        //Make pixels in the stencil buffer be set to 1 when the stencil test passes
        glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
        //Set all of the pixels below to be 1 in the stencil buffer...
    }

    //switch from drawing stencil to scene to be masked
    static void beginUsingStencil(bool _invert = 0) {
        glColorMask(1, 1, 1, 1); //Enable drawing colors to the screen
        //Make the stencil test pass only when the pixel is 1 in the stencil buffer unless inverted
        _invert ? glStencilFunc(GL_NOTEQUAL, 1, 1) : glStencilFunc(GL_EQUAL, 1, 1);
        glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP); //Make the stencil buffer not change
        //Draw all pixels where the stencil buffer is 1...
    }

    //back to normal unmasked drawing
    static void endUsingStencil() {
        glDisable(GL_STENCIL_TEST); //Disable using the stencil buffer
    }

Microsoft Hololens 疑难解答之三维建模篇

Microsoft HoloLens 技术解谜(上)

HoloLens 是什么?

产品截图

HoloLens 是微软发布的可穿戴式增强现实计算设备,它拥有这么几个关键要素:

  • 它是增强现实产品,即 Augmented Reality(AR),AR 技术将计算机生成的图像与真实的世界相叠加。类似的产品有图像投射到视网膜上的 Google Glass,以及叠加在手机摄像头画面上的手机 AR 应用。
  • 它拥有是独立的计算单元,自带 CPU + GPU + HPU,不需要外接计算机。它的 CPU 和 GPU 基于英特尔的 14 纳米工艺的 Cherry Trail 芯片,HPU 是微软发明的缩写 ,全称是 Holographic Processing Unit,即全息处理单元。按照知乎匿名用户的回答,HPU 是一块 ASIC (Application-specific integrated circuit),是微软为 HoloLens 定制的集成电路,对此,我只能说“有钱任性”。

HoloLens 不是什么?

宣传片截图
看完微软栩栩如生的宣传视频后,如果你的反应是

卧槽,Matrix 要来了

那么你要好好看这一段,因为 Matrix 是 Virtual Reality / VR / 虚拟现实,VR 的特点是让参与者置身于计算机生成的三维图像世界中,淡化真实世界。VR 近期的代表产品是 Oculus Rift,戴上 Rift 后你是看不到真实世界的。在我看来 VR 最大的问题是:这个虚拟世界很真实很精彩,但是有什么用呢?也就是说 VR 只能做到更逼真的三维世界,它无法帮助人们更好地理解真实的世界。

Rift

HoloLens 也不是 Google Glass,它比 Glass 多了:

  • 三维感知能力,可以对身边的三维场景进行建模。而 GG 只能看到 RGB 像素值。
  • 三维渲染能力。
  • 人机交互能力,可以用手势来进行控制。

HoloLens 也不是市场上常见的的 AR,常见的基于摄像头的 AR 应用基于摄像头有:

  • 基于丑陋的黑白标记图片的 AR
    image
  • 基于任意图片的AR
    image

很炫是吗,但是它们只能检测到图片所在的那个平面。HoloLens 比它们都牛,它能检测到各个角度的三维场景!

HoloLens 的 AR 是如何得到三维场景深度信息的?

我们回到 AR 的定义,想要实现增强现实,必须先理解现实,那么对于 HoloLens 而言现实是什么呢?是传感器的数据。

传感器是啥?是摄像头。

同样是摄像头,为什么 HoloLens 就可以感知深度呢?微软的 Kinect 在这方面很成功,那么是不是 HoloLens 上放了一台嵌入式的 Kinect 呢?

答案在下面的原型图片中,
img
HoloLens 拥有有四台摄像头,左右两边各两台。通过对这四台摄像头的实时画面进行分析,HoloLens 可覆盖的水平视角和垂直视角都达到 120 度。

也就是说它采用的是立体视觉 / Stereo Vision 技术来获取类似下图的深度图 / depth map。

立体视觉是计算机视觉学科的一个子学科,专注于从两个摄像头的图像数据中得到真实场景中的物体离摄像头的距离。示意图如下
img
下面是基本的步骤,查阅 OpenCV 文档可以了解具体到函数用法 http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html

  1. 摄像头校正,undistortion。由于摄像头的镜片出厂时都存在扭曲,为了得到精确的数据需要在使用前进行较正。常用的方法是基于棋盘的各个姿态拍几次,然后计算相机的矩阵参赛。下图便是常见的标定界面。img
  2. 图像对齐,rectification。因为两个摄像头的位置不同,因此它们各自看到的场景是有偏差的,左边的摄像头能看到最左的场景,右边的看到最右的场景。图像对齐的目的是得到相同的场景部分。
  3. 左右图像匹配,correspondence。在 OpenCV 中可以使用 http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html 得到 disparity map。
  4. 通过重映射函数,比如 OpenCV 中的 cv::reprojectImageTo3D,得到一张深度图。

只有一张深度图是不够的,它只是某一时刻真实的场景在摄像头中的映射。要想得到完整的三维场景,我们需要分析一系列的深度图。

HoloLens 如何从多张深度图重建三维场景?

答案是 SLAM,Simultaneous localization and mapping,即同步定位与建图系统。这个技术被用于机器人、无人汽车、无人飞行器的定位与寻路系统。解决的是非常哲学的问题:

  • 我现在在哪里?
  • 我可以去哪里?

SLAM 有很多实现的方式,有一个开源的 http://pointclouds.org/ 实现了很多深度图的处理和匹配算法,可以认为是三维版本的 OpenCV。

而微软围绕着 Kinect 的深度图数据发明了 Kinect Fushion 算法,并发表了两篇论文:

  • KinectFusion: Real-time 3D Reconstruction and Interaction Using a Moving Depth Camera
  • KinectFusion: Real-Time Dense Surface Mapping and Tracking

为什么我认为 HoloLens 与 Kinect Fushion 有关?答案在这个页面中 http://research.microsoft.com/en-us/people/shahrami/。 Shahram Izadi 是微软剑桥研究院的 principal researcher 及 research manager。他所领导的互动3D技术组 / interactive 3D technologies 为微软的多项产品提供了研究力量,包括 Kinect for Windows, Kinect Fusion 以及 HoloLens。顺便说一句,他们组在招人:)

Kinect Fushion,通过在室内移动 Kinect 设备,获取不同角度的深度图,实时迭代,对不同对深度图进行累积,计算出精确的房间以及房间内物体的三维模型。

它分四个阶段:
a) 深度图格式转换,转化后的深度的单位是米,用浮点数保存。并计算顶点坐标和表面的法向量。
b) 计算世界坐标系下的相机姿态(包含位置和朝向),通过迭代的对齐算法跟踪这两个值,这样系统总是知道当前的相机与最初的姿态相比变了多少。
c) 第三阶段将姿态已知情况下的深度数据融合到单个三维乐高空间里,你也可以叫它为 MineCraft 空间,因为这个空间的基本元素不是三角形,而是方格子。演示视频中频频出现 MineCraft 场景估计也和这个阶段有关。
d) 基于 Raycasting 的三维渲染,Raycasting 需要从当前的相机位置发出射线,与三维空间求交集。乐高空间特别适合 Raycasting,可以用八叉树来加速射线的求交运算。Raycasting、Raytracing 以及 Rasterization 是三种常见的渲染方式,这里就不展开了。

在 HoloLens 的应用中我们运行到第三步,即获取三维乐高模型就可以了,第四步并不是必需的。因为 HoloLens 的屏幕是透明的,不需要再把房屋的模型渲染一遍,我们自带的眼睛已经渲染了一遍了:)

HoloLens 炫酷的 demo 都是怎么制作的?

还剩下三个难点,留待后续文章叙说:
* 手势识别怎么做的?
* 眼球跟踪怎么做的?
* 非常贴合的三维渲染是怎么做的?

germany-trip

dep 06:08 2:17 0 RE
34,10 EUR
Return journey
Nürnberg Hbf We, 23.10.13 arr 08:25

Cinder Creative Coding Cookbook - review

Chapter 1,Getting Started, teaches you the fundamentals of creating applications using Cinder.

Chapter2,Preparing for Development, introduces several simple recipes that can be very
useful during the development process.

Chapter 3,Using Image Processing Techniques, consists of examples of using image
processing techniques implemented in Cinder and using third-party libraries

Chapter 4, Using Multimedia Content, teaches us how to load, manipulate, display, save, and share videos, graphics, and mesh data.

Chapter 5,Building Particle Systems, explains how to create and animate particles using
popular and versatile physics algorithms.

Chapter 6, Rendering and Texturing Particle Systems, teaches us how to render and apply textures to our particles in order to make them more appealing.

Chapter 7, Using 2D Graphics, is about how to work and draw with 2D graphics using the
OpenGL and built-in Cinder tools.

Chapter 8, Using 3D Graphics, goes through the basics of creating graphics in 3D using
OpenGL and some useful wrappers that Cinder includes in some advanced OpenGL features.

Chapter 9, Adding Animation, presents the techniques of animating 2D and 3D objects. We will also introduce Cinder's features in this field such as Timeline and math functions.

Chapter 10, Interacting with the User, creates the graphical objects that react to the user
using both mouse and touch interaction. It also teaches us how to create simple graphical
interfaces that have their own events for greater flexibility, and integrate with the popular
physics library Bullet Physics.

Chapter 11, Sensing and Tracking Input from the Camera, explains how to receive and
process data from input devices such as a camera or a Microsoft Kinect sensor.

Chapter 12, Using Audio Input and Output, is about generating sound with the examples,
where sound is generated on object's collision in physics simulation. We will present examples of visualizing sound with audio reactive animations.

Appendix,Integrating with Bullet Physics,will help us learn how to integrate Bullet Physics
library with Cinder.
This chapter is available as a downloadable file at: http://www.packtpub.com/sites/
default/files/downloads/Integrating_with_Bullet_Physics.pdf

Java_com_idealsee_idealse

Java_com_idealsee_idealse_IdealseJNI_deinit
Java_com_idealsee_idealse_IdealseJNI_setHint
Java_com_idealsee_idealse_IdealseJNI_registerCallback
Java_com_idealsee_idealse_IdealseJNI_setFrameFormat
Java_com_idealsee_idealse_IdealseJNI_getBitsPerPixel
Java_com_idealsee_idealse_IdealseJNI_requiresAlpha
Java_com_idealsee_idealse_IdealseJNI_getBufferSize
Java_com_idealsee_idealse_IdealseJNI_onResume
Java_com_idealsee_idealse_IdealseJNI_onPause
Java_com_idealsee_idealse_IdealseJNI_onSurfaceCreated
Java_com_idealsee_idealse_IdealseJNI_onSurfaceChanged
Java_com_idealsee_idealse_IdealseJNI_new_1Type_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Type_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Type_1isOfType
Java_com_idealsee_idealse_IdealseJNI_delete_1Type
Java_com_idealsee_idealse_IdealseJNI_Matrix34F_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Matrix34F_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Matrix34F_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Matrix34F_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1Matrix34F
Java_com_idealsee_idealse_IdealseJNI_Matrix44F_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Matrix44F_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Matrix44F_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Matrix44F_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1Matrix44F
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2F_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2F_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2F_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Vec2F_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec2F_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2F_1_1SWIG_13
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec2F
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3F_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3F_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3F_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Vec3F_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec3F_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3F_1_1SWIG_13
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec3F
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4F_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4F_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4F_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Vec4F_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec4F_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4F_1_1SWIG_13
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec4F
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2I_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2I_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2I_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Vec2I_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec2I_1data_1get
Java_com_idealsee_idealse_IdealseJNI_new_1Vec2I_1_1SWIG_13
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec2I
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3I_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec3I_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Vec3I_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec3I_1data_1get
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec3I
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4I_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Vec4I_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Vec4I_1data_1set
Java_com_idealsee_idealse_IdealseJNI_Vec4I_1data_1get
Java_com_idealsee_idealse_IdealseJNI_delete_1Vec4I
Java_com_idealsee_idealse_IdealseJNI_new_1VideoMode_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Width_1set
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Width_1get
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Height_1set
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Height_1get
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Framerate_1set
Java_com_idealsee_idealse_IdealseJNI_VideoMode_1Framerate_1get
Java_com_idealsee_idealse_IdealseJNI_new_1VideoMode_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1VideoMode
Java_com_idealsee_idealse_IdealseJNI_Trackable_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Trackable_1getType
Java_com_idealsee_idealse_IdealseJNI_Trackable_1isOfType
Java_com_idealsee_idealse_IdealseJNI_Trackable_1getId
Java_com_idealsee_idealse_IdealseJNI_Trackable_1getName
Java_com_idealsee_idealse_IdealseJNI_Trackable_1startExtendedTracking
Java_com_idealsee_idealse_IdealseJNI_Trackable_1stopExtendedTracking
Java_com_idealsee_idealse_IdealseJNI_Trackable_1isExtendedTrackingStarted
Java_com_idealsee_idealse_IdealseJNI_delete_1Trackable
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1getType
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1isOfType
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1getStatus
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_TrackableResult_1getPose
Java_com_idealsee_idealse_IdealseJNI_delete_1TrackableResult
Java_com_idealsee_idealse_IdealseJNI_Tracker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Tracker_1getType
Java_com_idealsee_idealse_IdealseJNI_Tracker_1isOfType
Java_com_idealsee_idealse_IdealseJNI_Tracker_1start
Java_com_idealsee_idealse_IdealseJNI_Tracker_1stop
Java_com_idealsee_idealse_IdealseJNI_delete_1Tracker
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getNumVertices
Java_com_idealsee_idealse_IdealseJNI_Mesh_1hasPositions
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getPositions
Java_com_idealsee_idealse_IdealseJNI_Mesh_1hasNormals
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getNormals
Java_com_idealsee_idealse_IdealseJNI_Mesh_1hasUVs
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getUVs
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getNumTriangles
Java_com_idealsee_idealse_IdealseJNI_Mesh_1getTriangles
Java_com_idealsee_idealse_IdealseJNI_delete_1Mesh
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getClassType
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getMesh
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getRevision
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getLocalPose
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getParent
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getChildrenCount
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1getChild
Java_com_idealsee_idealse_IdealseJNI_delete_1SmartTerrainTrackable
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1getType
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1setMaximumArea
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1getMaximumArea
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1setNavMeshPadding
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1start
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1stop
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1reset
Java_com_idealsee_idealse_IdealseJNI_Reconstruction_1isReconstructing
Java_com_idealsee_idealse_IdealseJNI_new_1Obb2D_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Obb2D_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Obb2D_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Obb2D_1getCenter
Java_com_idealsee_idealse_IdealseJNI_Obb2D_1getHalfExtents
Java_com_idealsee_idealse_IdealseJNI_Obb2D_1getRotation
Java_com_idealsee_idealse_IdealseJNI_delete_1Obb2D
Java_com_idealsee_idealse_IdealseJNI_new_1Obb3D_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Obb3D_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Obb3D_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Obb3D_1getCenter
Java_com_idealsee_idealse_IdealseJNI_Obb3D_1getHalfExtents
Java_com_idealsee_idealse_IdealseJNI_Obb3D_1getRotationZ
Java_com_idealsee_idealse_IdealseJNI_delete_1Obb3D
Java_com_idealsee_idealse_IdealseJNI_Area_1getType
Java_com_idealsee_idealse_IdealseJNI_delete_1Area
Java_com_idealsee_idealse_IdealseJNI_new_1Box3D_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Box3D_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Box3D_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Box3D_1getMinimumPosition
Java_com_idealsee_idealse_IdealseJNI_Box3D_1getMaximumPosition
Java_com_idealsee_idealse_IdealseJNI_delete_1Box3D
Java_com_idealsee_idealse_IdealseJNI_CameraCalibration_1getSize
Java_com_idealsee_idealse_IdealseJNI_CameraCalibration_1getFocalLength
Java_com_idealsee_idealse_IdealseJNI_CameraCalibration_1getPrincipalPoint
Java_com_idealsee_idealse_IdealseJNI_CameraCalibration_1getDistortionParameters
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1getInstance
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1init_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1init_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1deinit
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1start
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1stop
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1getNumVideoModes
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1getVideoMode
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1selectVideoMode
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1getCameraCalibration
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1setFlashTorchMode
Java_com_idealsee_idealse_IdealseJNI_CameraDevice_1setFocusMode
Java_com_idealsee_idealse_IdealseJNI_delete_1CameraDevice
Java_com_idealsee_idealse_IdealseJNI_ObjectTarget_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ObjectTarget_1getUniqueTargetId
Java_com_idealsee_idealse_IdealseJNI_ObjectTarget_1getSize
Java_com_idealsee_idealse_IdealseJNI_ObjectTarget_1setSize
Java_com_idealsee_idealse_IdealseJNI_delete_1ObjectTarget
Java_com_idealsee_idealse_IdealseJNI_ObjectTargetResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ObjectTargetResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_delete_1ObjectTargetResult
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1getClassType
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1getSideLength
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1setSideLength
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1getTopDiameter
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1setTopDiameter
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1getBottomDiameter
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1setBottomDiameter
Java_com_idealsee_idealse_IdealseJNI_delete_1CylinderTarget
Java_com_idealsee_idealse_IdealseJNI_CylinderTargetResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_CylinderTargetResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_delete_1CylinderTargetResult
Java_com_idealsee_idealse_IdealseJNI_DataSet_1exists
Java_com_idealsee_idealse_IdealseJNI_DataSet_1load
Java_com_idealsee_idealse_IdealseJNI_DataSet_1getNumTrackables
Java_com_idealsee_idealse_IdealseJNI_DataSet_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_DataSet_1createTrackable
Java_com_idealsee_idealse_IdealseJNI_DataSet_1createMultiTarget
Java_com_idealsee_idealse_IdealseJNI_DataSet_1destroy
Java_com_idealsee_idealse_IdealseJNI_DataSet_1hasReachedTrackableLimit
Java_com_idealsee_idealse_IdealseJNI_DataSet_1isActive
Java_com_idealsee_idealse_IdealseJNI_delete_1DataSet
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1getMaxCount
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1getUsedCount
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1isProfileUsed
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1getActiveProfile
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1setActiveProfile
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1getProjectionMatrix
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1setProjectionMatrix
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1getProfileName
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1setProfileName
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationProfileManager_1clearProfile
Java_com_idealsee_idealse_IdealseJNI_delete_1EyewearCalibrationProfileManager
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1Pose_1set
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1Pose_1get
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1Scale_1set
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1Scale_1get
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1CenterX_1set
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1CenterX_1get
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1CenterY_1set
Java_com_idealsee_idealse_IdealseJNI_EyewearCalibrationReading_1CenterY_1get
Java_com_idealsee_idealse_IdealseJNI_new_1EyewearCalibrationReading
Java_com_idealsee_idealse_IdealseJNI_delete_1EyewearCalibrationReading
Java_com_idealsee_idealse_IdealseJNI_EyewearUserCalibrator_1init
Java_com_idealsee_idealse_IdealseJNI_EyewearUserCalibrator_1getMinScaleHint
Java_com_idealsee_idealse_IdealseJNI_EyewearUserCalibrator_1getMaxScaleHint
Java_com_idealsee_idealse_IdealseJNI_EyewearUserCalibrator_1isStereoStretched
Java_com_idealsee_idealse_IdealseJNI_EyewearUserCalibrator_1getProjectionMatrix
Java_com_idealsee_idealse_IdealseJNI_delete_1EyewearUserCalibrator
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getInstance
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1isSupportedDeviceDetected
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1isSeeThru
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getScreenOrientation
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1isStereoCapable
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1isStereoEnabled
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1isStereoGLOnly
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1setStereo
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getDefaultSceneScale
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getProfileManager
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getProjectionMatrix_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getProjectionMatrix_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getOrthographicProjectionMatrix
Java_com_idealsee_idealse_IdealseJNI_Eyewear_1getCalibrator
Java_com_idealsee_idealse_IdealseJNI_delete_1Eyewear
Java_com_idealsee_idealse_IdealseJNI_new_1Frame_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Frame_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1Frame
Java_com_idealsee_idealse_IdealseJNI_Frame_1getTimeStamp
Java_com_idealsee_idealse_IdealseJNI_Frame_1getIndex
Java_com_idealsee_idealse_IdealseJNI_Frame_1getNumImages
Java_com_idealsee_idealse_IdealseJNI_Frame_1getImage
Java_com_idealsee_idealse_IdealseJNI_Image_1getWidth
Java_com_idealsee_idealse_IdealseJNI_Image_1getHeight
Java_com_idealsee_idealse_IdealseJNI_Image_1getStride
Java_com_idealsee_idealse_IdealseJNI_Image_1getBufferWidth
Java_com_idealsee_idealse_IdealseJNI_Image_1getBufferHeight
Java_com_idealsee_idealse_IdealseJNI_Image_1getFormat
Java_com_idealsee_idealse_IdealseJNI_Image_1getPixels
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1getNumVirtualButtons
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1getVirtualButton_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1getVirtualButton_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1createVirtualButton
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1destroyVirtualButton
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1getMetaData
Java_com_idealsee_idealse_IdealseJNI_delete_1ImageTarget
Java_com_idealsee_idealse_IdealseJNI_ImageTargetBuilder_1build
Java_com_idealsee_idealse_IdealseJNI_ImageTargetBuilder_1startScan
Java_com_idealsee_idealse_IdealseJNI_ImageTargetBuilder_1stopScan
Java_com_idealsee_idealse_IdealseJNI_ImageTargetBuilder_1getFrameQuality
Java_com_idealsee_idealse_IdealseJNI_ImageTargetBuilder_1getTrackableSource
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1getNumVirtualButtons
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1getVirtualButtonResult_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1getVirtualButtonResult_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1ImageTargetResult
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1createDataSet
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1destroyDataSet
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1activateDataSet
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1deactivateDataSet
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getActiveDataSet_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getActiveDataSet_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getActiveDataSetCount
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getImageTargetBuilder
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1getTargetFinder
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1persistExtendedTracking
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1resetExtendedTracking
Java_com_idealsee_idealse_IdealseJNI_delete_1ObjectTracker
Java_com_idealsee_idealse_IdealseJNI_Marker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Marker_1getSize
Java_com_idealsee_idealse_IdealseJNI_Marker_1setSize
Java_com_idealsee_idealse_IdealseJNI_Marker_1getMarkerId
Java_com_idealsee_idealse_IdealseJNI_Marker_1getMarkerType
Java_com_idealsee_idealse_IdealseJNI_delete_1Marker
Java_com_idealsee_idealse_IdealseJNI_MarkerResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_MarkerResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_delete_1MarkerResult
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1createFrameMarker
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1destroyMarker
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1getNumMarkers
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1getMarker
Java_com_idealsee_idealse_IdealseJNI_delete_1MarkerTracker
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1getClassType
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1getNumParts
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1getPart_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1getPart_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1addPart
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1removePart
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1setPartOffset
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1getPartOffset
Java_com_idealsee_idealse_IdealseJNI_delete_1MultiTarget
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1getNumPartResults
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1getPartResult_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1getPartResult_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1MultiTargetResult
Java_com_idealsee_idealse_IdealseJNI_new_1Rectangle_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1Rectangle_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1Rectangle_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_delete_1Rectangle
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getLeftTopX
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getLeftTopY
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getRightBottomX
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getRightBottomY
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getWidth
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getHeight
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getAreaSize
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1getType
Java_com_idealsee_idealse_IdealseJNI_new_1RectangleInt_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1RectangleInt_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_new_1RectangleInt_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_delete_1RectangleInt
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getLeftTopX
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getLeftTopY
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getRightBottomX
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getRightBottomY
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getWidth
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getHeight
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getAreaSize
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1getType
Java_com_idealsee_idealse_IdealseJNI_Renderer_1getInstance
Java_com_idealsee_idealse_IdealseJNI_Renderer_1begin_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_Renderer_1begin_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Renderer_1drawVideoBackground
Java_com_idealsee_idealse_IdealseJNI_Renderer_1end
Java_com_idealsee_idealse_IdealseJNI_Renderer_1bindVideoBackground
Java_com_idealsee_idealse_IdealseJNI_Renderer_1setVideoBackgroundConfig
Java_com_idealsee_idealse_IdealseJNI_Renderer_1getVideoBackgroundConfig
Java_com_idealsee_idealse_IdealseJNI_Renderer_1getVideoBackgroundTextureInfo
Java_com_idealsee_idealse_IdealseJNI_Renderer_1setVideoBackgroundTextureID
Java_com_idealsee_idealse_IdealseJNI_Renderer_1setARProjection
Java_com_idealsee_idealse_IdealseJNI_delete_1Renderer
Java_com_idealsee_idealse_IdealseJNI_new_1State_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_new_1State_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_delete_1State
Java_com_idealsee_idealse_IdealseJNI_State_1getFrame
Java_com_idealsee_idealse_IdealseJNI_State_1getNumTrackables
Java_com_idealsee_idealse_IdealseJNI_State_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_State_1getNumTrackableResults
Java_com_idealsee_idealse_IdealseJNI_State_1getTrackableResult
Java_com_idealsee_idealse_IdealseJNI_Surface_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Surface_1getNavMesh
Java_com_idealsee_idealse_IdealseJNI_Surface_1getBoundingBox
Java_com_idealsee_idealse_IdealseJNI_Surface_1getNumMeshBoundaries
Java_com_idealsee_idealse_IdealseJNI_Surface_1getMeshBoundaries
Java_com_idealsee_idealse_IdealseJNI_delete_1Surface
Java_com_idealsee_idealse_IdealseJNI_ReconstructionFromTarget_1getClassType
Java_com_idealsee_idealse_IdealseJNI_ReconstructionFromTarget_1setInitializationTarget_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_ReconstructionFromTarget_1setInitializationTarget_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_ReconstructionFromTarget_1getInitializationTarget
Java_com_idealsee_idealse_IdealseJNI_Prop_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Prop_1getBoundingBox
Java_com_idealsee_idealse_IdealseJNI_Prop_1getLocalPosition
Java_com_idealsee_idealse_IdealseJNI_delete_1Prop
Java_com_idealsee_idealse_IdealseJNI_PropResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_PropResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_delete_1PropResult
Java_com_idealsee_idealse_IdealseJNI_SurfaceResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_SurfaceResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_delete_1SurfaceResult
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1getClassType
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1getType
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1isOfType
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1createReconstruction
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1destroyReconstruction
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1getNumReconstructions
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1addReconstruction
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1removeReconstruction
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1getReconstruction
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1init
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainBuilder_1deinit
Java_com_idealsee_idealse_IdealseJNI_delete_1SmartTerrainBuilder
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTracker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTracker_1setScaleToMillimeter
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTracker_1getScaleToMillimeter
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTracker_1getSmartTerrainBuilder
Java_com_idealsee_idealse_IdealseJNI_delete_1SmartTerrainTracker
Java_com_idealsee_idealse_IdealseJNI_TargetSearchResult_1getTargetName
Java_com_idealsee_idealse_IdealseJNI_TargetSearchResult_1getUniqueTargetId
Java_com_idealsee_idealse_IdealseJNI_TargetSearchResult_1getTargetSize
Java_com_idealsee_idealse_IdealseJNI_TargetSearchResult_1getMetaData
Java_com_idealsee_idealse_IdealseJNI_TargetSearchResult_1getTrackingRating
Java_com_idealsee_idealse_IdealseJNI_delete_1TargetSearchResult
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1startInit
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1getInitState
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1waitUntilInitFinished
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1deinit
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1startRecognition
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1stop
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1isRequesting
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1updateSearchResults
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1getResultCount
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1getResult
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1enableTracking
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1clearTrackables
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1getNumImageTargets
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1getImageTarget
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1setUIScanlineColor
Java_com_idealsee_idealse_IdealseJNI_TargetFinder_1setUIPointColor
Java_com_idealsee_idealse_IdealseJNI_delete_1TargetFinder
Java_com_idealsee_idealse_IdealseJNI_WordList_1loadWordList
Java_com_idealsee_idealse_IdealseJNI_WordList_1addWordsFromFile
Java_com_idealsee_idealse_IdealseJNI_WordList_1addWordU
Java_com_idealsee_idealse_IdealseJNI_WordList_1removeWordU
Java_com_idealsee_idealse_IdealseJNI_WordList_1containsWordU
Java_com_idealsee_idealse_IdealseJNI_WordList_1unloadAllLists
Java_com_idealsee_idealse_IdealseJNI_WordList_1setFilterMode
Java_com_idealsee_idealse_IdealseJNI_WordList_1getFilterMode
Java_com_idealsee_idealse_IdealseJNI_WordList_1addWordToFilterListU
Java_com_idealsee_idealse_IdealseJNI_WordList_1removeWordFromFilterListU
Java_com_idealsee_idealse_IdealseJNI_WordList_1clearFilterList
Java_com_idealsee_idealse_IdealseJNI_WordList_1loadFilterList
Java_com_idealsee_idealse_IdealseJNI_WordList_1getFilterListWordCount
Java_com_idealsee_idealse_IdealseJNI_WordList_1getFilterListWordU
Java_com_idealsee_idealse_IdealseJNI_delete_1WordList
Java_com_idealsee_idealse_IdealseJNI_TextTracker_1getClassType
Java_com_idealsee_idealse_IdealseJNI_TextTracker_1setRegionOfInterest
Java_com_idealsee_idealse_IdealseJNI_TextTracker_1getRegionOfInterest
Java_com_idealsee_idealse_IdealseJNI_TextTracker_1getWordList
Java_com_idealsee_idealse_IdealseJNI_delete_1TextTracker
Java_com_idealsee_idealse_IdealseJNI_new_1TrackableSource
Java_com_idealsee_idealse_IdealseJNI_delete_1TrackableSource
Java_com_idealsee_idealse_IdealseJNI_TrackerManager_1getInstance
Java_com_idealsee_idealse_IdealseJNI_TrackerManager_1initTracker
Java_com_idealsee_idealse_IdealseJNI_TrackerManager_1getTracker
Java_com_idealsee_idealse_IdealseJNI_TrackerManager_1deinitTracker
Java_com_idealsee_idealse_IdealseJNI_delete_1TrackerManager
Java_com_idealsee_idealse_IdealseJNI_UpdateCallback_1ISAR_1onUpdate
Java_com_idealsee_idealse_IdealseJNI_new_1UpdateCallback
Java_com_idealsee_idealse_IdealseJNI_delete_1UpdateCallback
Java_com_idealsee_idealse_IdealseJNI_UpdateCallback_1director_1connect
Java_com_idealsee_idealse_IdealseJNI_UpdateCallback_1change_1ownership
Java_com_idealsee_idealse_IdealseJNI_new_1VideoBackgroundConfig
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Enabled_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Enabled_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Synchronous_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Synchronous_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Position_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Position_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Size_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Size_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Reflection_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundConfig_1Reflection_1get
Java_com_idealsee_idealse_IdealseJNI_delete_1VideoBackgroundConfig
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1TextureSize_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1TextureSize_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1ImageSize_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1ImageSize_1get
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1PixelFormat_1set
Java_com_idealsee_idealse_IdealseJNI_VideoBackgroundTextureInfo_1PixelFormat_1get
Java_com_idealsee_idealse_IdealseJNI_new_1VideoBackgroundTextureInfo
Java_com_idealsee_idealse_IdealseJNI_delete_1VideoBackgroundTextureInfo
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1setArea
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1getArea
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1setSensitivity
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1setEnabled
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1isEnabled
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1getName
Java_com_idealsee_idealse_IdealseJNI_VirtualButton_1getID
Java_com_idealsee_idealse_IdealseJNI_VirtualButtonResult_1getVirtualButton
Java_com_idealsee_idealse_IdealseJNI_VirtualButtonResult_1isPressed
Java_com_idealsee_idealse_IdealseJNI_Word_1getClassType
Java_com_idealsee_idealse_IdealseJNI_Word_1getStringU
Java_com_idealsee_idealse_IdealseJNI_Word_1getLength
Java_com_idealsee_idealse_IdealseJNI_Word_1getNumCodeUnits
Java_com_idealsee_idealse_IdealseJNI_Word_1getSize
Java_com_idealsee_idealse_IdealseJNI_Word_1getMask
Java_com_idealsee_idealse_IdealseJNI_Word_1getLetterBoundingBox
Java_com_idealsee_idealse_IdealseJNI_delete_1Word
Java_com_idealsee_idealse_IdealseJNI_WordResult_1getClassType
Java_com_idealsee_idealse_IdealseJNI_WordResult_1getTrackable
Java_com_idealsee_idealse_IdealseJNI_WordResult_1getObb
Java_com_idealsee_idealse_IdealseJNI_delete_1WordResult
Java_com_idealsee_idealse_IdealseJNI_Tool_1convertPose2GLMatrix
Java_com_idealsee_idealse_IdealseJNI_Tool_1getProjectionGL
Java_com_idealsee_idealse_IdealseJNI_Tool_1projectPoint
Java_com_idealsee_idealse_IdealseJNI_Tool_1multiply_1_1SWIG_10
Java_com_idealsee_idealse_IdealseJNI_Tool_1multiply_1_1SWIG_11
Java_com_idealsee_idealse_IdealseJNI_Tool_1multiply_1_1SWIG_12
Java_com_idealsee_idealse_IdealseJNI_Tool_1multiplyGL
Java_com_idealsee_idealse_IdealseJNI_Tool_1setTranslation
Java_com_idealsee_idealse_IdealseJNI_Tool_1setRotation
Java_com_idealsee_idealse_IdealseJNI_new_1Tool
Java_com_idealsee_idealse_IdealseJNI_delete_1Tool
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTrackable_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ObjectTarget_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ObjectTargetResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_CylinderTarget_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_CylinderTargetResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ImageTarget_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ImageTargetResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ObjectTracker_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_Marker_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_MarkerResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_MarkerTracker_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_MultiTarget_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_MultiTargetResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_Rectangle_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_RectangleInt_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_Surface_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_ReconstructionFromTarget_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_Prop_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_PropResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_SurfaceResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_SmartTerrainTracker_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_WordList_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_TextTracker_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_Word_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_WordResult_1SWIGUpcast
Java_com_idealsee_idealse_IdealseJNI_swig_1module_1init
Java_com_idealsee_ISAR_ISAR_privateInit
Java_com_idealsee_ISAR_ISAR_progressiveInit
Java_com_idealsee_ISAR_ISAR_isInitialized
Java_com_idealsee_ISAR_ISAR_deinit
Java_com_idealsee_ISAR_ISAR_requiresAlpha
Java_com_idealsee_ISAR_ISAR_onResume
Java_com_idealsee_ISAR_ISAR_onPause
Java_com_idealsee_ISAR_ISAR_onSurfaceCreated
Java_com_idealsee_ISAR_ISAR_onSurfaceChanged
Java_com_idealsee_ISAR_ISAR_privateSetInitParameters

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.