├── .gitignore ├── .idea ├── caches │ └── build_file_checksums.ser ├── codeStyles │ └── Project.xml ├── gradle.xml ├── misc.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── danilo │ │ └── corpusvr │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── danilo │ │ │ └── corpusvr │ │ │ ├── CameraProjectionListener.java │ │ │ ├── Duplicable.java │ │ │ ├── FPSCounter.java │ │ │ ├── HandTracking.java │ │ │ ├── MainActivity.java │ │ │ ├── MyGLRenderer.java │ │ │ ├── MyGLSurfaceView.java │ │ │ ├── MyJavaCameraView.java │ │ │ ├── MyRenderer.java │ │ │ └── Triangle.java │ ├── jniLibs │ │ └── arm64-v8a │ │ │ └── libopencv_java3.so │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── earthtruecolor_nasa_big.jpg │ │ ├── ic_launcher_background.xml │ │ └── x_ray.png │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── danilo │ └── corpusvr │ └── ExampleUnitTest.java ├── build.gradle ├── corpusvr_demo.gif ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── import-summary.txt ├── openCVLibrary341 ├── build.gradle ├── build │ ├── generated │ │ └── source │ │ │ ├── aidl │ │ │ └── debug │ │ │ │ └── org │ │ │ │ └── opencv │ │ │ │ └── engine │ │ │ │ └── OpenCVEngineInterface.java │ │ │ ├── buildConfig │ │ │ └── debug │ │ │ │ └── org │ │ │ │ └── opencv │ │ │ │ └── BuildConfig.java │ │ │ └── r │ │ │ └── debug │ │ │ └── org │ │ │ └── opencv │ │ │ └── R.java │ ├── intermediates │ │ ├── attr │ │ │ └── R.txt │ │ ├── classes │ │ │ └── debug │ │ │ │ └── org │ │ │ │ └── opencv │ │ │ │ ├── BuildConfig.class │ │ │ │ ├── R$attr.class │ │ │ │ ├── R$id.class │ │ │ │ ├── R$styleable.class │ │ │ │ ├── R.class │ │ │ │ ├── android │ │ │ │ ├── AsyncServiceHelper$1.class │ │ │ │ ├── AsyncServiceHelper$2.class │ │ │ │ ├── AsyncServiceHelper$3$1.class │ │ │ │ ├── AsyncServiceHelper$3$2.class │ │ │ │ ├── AsyncServiceHelper$3.class │ │ │ │ ├── AsyncServiceHelper.class │ │ │ │ ├── BaseLoaderCallback$1.class │ │ │ │ ├── BaseLoaderCallback$2.class │ │ │ │ ├── BaseLoaderCallback$3.class │ │ │ │ ├── BaseLoaderCallback$4.class │ │ │ │ ├── BaseLoaderCallback$5.class │ │ │ │ ├── BaseLoaderCallback$6.class │ │ │ │ ├── BaseLoaderCallback$7.class │ │ │ │ ├── BaseLoaderCallback.class │ │ │ │ ├── Camera2Renderer$1.class │ │ │ │ ├── Camera2Renderer$2.class │ │ │ │ ├── Camera2Renderer.class │ │ │ │ ├── CameraBridgeViewBase$1.class │ │ │ │ ├── CameraBridgeViewBase$CvCameraViewFrame.class │ │ │ │ ├── CameraBridgeViewBase$CvCameraViewListener.class │ │ │ │ ├── CameraBridgeViewBase$CvCameraViewListener2.class │ │ │ │ ├── CameraBridgeViewBase$CvCameraViewListenerAdapter.class │ │ │ │ ├── CameraBridgeViewBase$ListItemAccessor.class │ │ │ │ ├── CameraBridgeViewBase.class │ │ │ │ ├── CameraGLRendererBase.class │ │ │ │ ├── CameraGLSurfaceView$CameraTextureListener.class │ │ │ │ ├── CameraGLSurfaceView.class │ │ │ │ ├── CameraRenderer.class │ │ │ │ ├── FpsMeter.class │ │ │ │ ├── InstallCallbackInterface.class │ │ │ │ ├── JavaCamera2View$1.class │ │ │ │ ├── JavaCamera2View$2.class │ │ │ │ ├── JavaCamera2View$3.class │ │ │ │ ├── JavaCamera2View$JavaCamera2Frame.class │ │ │ │ ├── JavaCamera2View.class │ │ │ │ ├── JavaCameraView$1.class │ │ │ │ ├── JavaCameraView$CameraWorker.class │ │ │ │ ├── JavaCameraView$JavaCameraFrame.class │ │ │ │ ├── JavaCameraView$JavaCameraSizeAccessor.class │ │ │ │ ├── JavaCameraView.class │ │ │ │ ├── LoaderCallbackInterface.class │ │ │ │ ├── OpenCVLoader.class │ │ │ │ ├── StaticHelper.class │ │ │ │ └── Utils.class │ │ │ │ ├── calib3d │ │ │ │ ├── Calib3d.class │ │ │ │ ├── StereoBM.class │ │ │ │ ├── StereoMatcher.class │ │ │ │ └── StereoSGBM.class │ │ │ │ ├── core │ │ │ │ ├── Algorithm.class │ │ │ │ ├── Core$MinMaxLocResult.class │ │ │ │ ├── Core.class │ │ │ │ ├── CvException.class │ │ │ │ ├── CvType.class │ │ │ │ ├── DMatch.class │ │ │ │ ├── KeyPoint.class │ │ │ │ ├── Mat.class │ │ │ │ ├── MatOfByte.class │ │ │ │ ├── MatOfDMatch.class │ │ │ │ ├── MatOfDouble.class │ │ │ │ ├── MatOfFloat.class │ │ │ │ ├── MatOfFloat4.class │ │ │ │ ├── MatOfFloat6.class │ │ │ │ ├── MatOfInt.class │ │ │ │ ├── MatOfInt4.class │ │ │ │ ├── MatOfKeyPoint.class │ │ │ │ ├── MatOfPoint.class │ │ │ │ ├── MatOfPoint2f.class │ │ │ │ ├── MatOfPoint3.class │ │ │ │ ├── MatOfPoint3f.class │ │ │ │ ├── MatOfRect.class │ │ │ │ ├── MatOfRect2d.class │ │ │ │ ├── Point.class │ │ │ │ ├── Point3.class │ │ │ │ ├── Range.class │ │ │ │ ├── Rect.class │ │ │ │ ├── Rect2d.class │ │ │ │ ├── RotatedRect.class │ │ │ │ ├── Scalar.class │ │ │ │ ├── Size.class │ │ │ │ ├── TermCriteria.class │ │ │ │ └── TickMeter.class │ │ │ │ ├── dnn │ │ │ │ ├── DictValue.class │ │ │ │ ├── Dnn.class │ │ │ │ ├── Layer.class │ │ │ │ └── Net.class │ │ │ │ ├── engine │ │ │ │ ├── OpenCVEngineInterface$Stub$Proxy.class │ │ │ │ ├── OpenCVEngineInterface$Stub.class │ │ │ │ └── OpenCVEngineInterface.class │ │ │ │ ├── features2d │ │ │ │ ├── AKAZE.class │ │ │ │ ├── AgastFeatureDetector.class │ │ │ │ ├── BFMatcher.class │ │ │ │ ├── BOWImgDescriptorExtractor.class │ │ │ │ ├── BOWKMeansTrainer.class │ │ │ │ ├── BOWTrainer.class │ │ │ │ ├── BRISK.class │ │ │ │ ├── DescriptorExtractor.class │ │ │ │ ├── DescriptorMatcher.class │ │ │ │ ├── FastFeatureDetector.class │ │ │ │ ├── Feature2D.class │ │ │ │ ├── FeatureDetector.class │ │ │ │ ├── Features2d.class │ │ │ │ ├── FlannBasedMatcher.class │ │ │ │ ├── GFTTDetector.class │ │ │ │ ├── KAZE.class │ │ │ │ ├── MSER.class │ │ │ │ ├── ORB.class │ │ │ │ └── Params.class │ │ │ │ ├── imgcodecs │ │ │ │ └── Imgcodecs.class │ │ │ │ ├── imgproc │ │ │ │ ├── CLAHE.class │ │ │ │ ├── Imgproc.class │ │ │ │ ├── LineSegmentDetector.class │ │ │ │ ├── Moments.class │ │ │ │ └── Subdiv2D.class │ │ │ │ ├── ml │ │ │ │ ├── ANN_MLP.class │ │ │ │ ├── ANN_MLP_ANNEAL.class │ │ │ │ ├── Boost.class │ │ │ │ ├── DTrees.class │ │ │ │ ├── EM.class │ │ │ │ ├── KNearest.class │ │ │ │ ├── LogisticRegression.class │ │ │ │ ├── Ml.class │ │ │ │ ├── NormalBayesClassifier.class │ │ │ │ ├── ParamGrid.class │ │ │ │ ├── RTrees.class │ │ │ │ ├── SVM.class │ │ │ │ ├── SVMSGD.class │ │ │ │ ├── StatModel.class │ │ │ │ └── TrainData.class │ │ │ │ ├── objdetect │ │ │ │ ├── BaseCascadeClassifier.class │ │ │ │ ├── CascadeClassifier.class │ │ │ │ ├── HOGDescriptor.class │ │ │ │ └── Objdetect.class │ │ │ │ ├── osgi │ │ │ │ ├── OpenCVInterface.class │ │ │ │ └── OpenCVNativeLoader.class │ │ │ │ ├── photo │ │ │ │ ├── AlignExposures.class │ │ │ │ ├── AlignMTB.class │ │ │ │ ├── CalibrateCRF.class │ │ │ │ ├── CalibrateDebevec.class │ │ │ │ ├── CalibrateRobertson.class │ │ │ │ ├── MergeDebevec.class │ │ │ │ ├── MergeExposures.class │ │ │ │ ├── MergeMertens.class │ │ │ │ ├── MergeRobertson.class │ │ │ │ ├── Photo.class │ │ │ │ ├── Tonemap.class │ │ │ │ ├── TonemapDrago.class │ │ │ │ ├── TonemapDurand.class │ │ │ │ ├── TonemapMantiuk.class │ │ │ │ └── TonemapReinhard.class │ │ │ │ ├── utils │ │ │ │ └── Converters.class │ │ │ │ ├── video │ │ │ │ ├── BackgroundSubtractor.class │ │ │ │ ├── BackgroundSubtractorKNN.class │ │ │ │ ├── BackgroundSubtractorMOG2.class │ │ │ │ ├── DenseOpticalFlow.class │ │ │ │ ├── DualTVL1OpticalFlow.class │ │ │ │ ├── FarnebackOpticalFlow.class │ │ │ │ ├── KalmanFilter.class │ │ │ │ ├── SparseOpticalFlow.class │ │ │ │ ├── SparsePyrLKOpticalFlow.class │ │ │ │ └── Video.class │ │ │ │ └── videoio │ │ │ │ ├── VideoCapture.class │ │ │ │ ├── VideoWriter.class │ │ │ │ └── Videoio.class │ │ ├── incremental │ │ │ ├── compileDebugAidl │ │ │ │ └── dependency.store │ │ │ ├── debug-mergeJniLibs │ │ │ │ └── merge-state │ │ │ ├── mergeDebugJniLibFolders │ │ │ │ └── merger.xml │ │ │ ├── mergeDebugShaders │ │ │ │ └── merger.xml │ │ │ ├── packageDebugAssets │ │ │ │ └── merger.xml │ │ │ └── packageDebugResources │ │ │ │ ├── compile-file-map.properties │ │ │ │ ├── merged.dir │ │ │ │ └── values │ │ │ │ │ └── values.xml │ │ │ │ └── merger.xml │ │ ├── intermediate-jars │ │ │ └── debug │ │ │ │ ├── classes.jar │ │ │ │ └── res.jar │ │ ├── javaPrecompile │ │ │ └── debug │ │ │ │ └── annotationProcessors.json │ │ ├── manifests │ │ │ ├── aapt │ │ │ │ └── debug │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ └── output.json │ │ │ └── full │ │ │ │ └── debug │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── output.json │ │ ├── packaged_res │ │ │ └── debug │ │ │ │ └── values │ │ │ │ └── values.xml │ │ ├── res │ │ │ └── symbol-table-with-package │ │ │ │ └── debug │ │ │ │ └── package-aware-r.txt │ │ ├── symbols │ │ │ └── debug │ │ │ │ └── R.txt │ │ └── transforms │ │ │ ├── mergeJniLibs │ │ │ └── debug │ │ │ │ └── __content__.json │ │ │ └── stripDebugSymbol │ │ │ └── debug │ │ │ └── __content__.json │ └── outputs │ │ └── logs │ │ └── manifest-merger-debug-report.txt ├── lint.xml └── src │ └── main │ ├── AndroidManifest.xml │ ├── aidl │ └── org │ │ └── opencv │ │ └── engine │ │ └── OpenCVEngineInterface.aidl │ ├── java │ └── org │ │ └── opencv │ │ ├── android │ │ ├── AsyncServiceHelper.java │ │ ├── BaseLoaderCallback.java │ │ ├── Camera2Renderer.java │ │ ├── CameraBridgeViewBase.java │ │ ├── CameraGLRendererBase.java │ │ ├── CameraGLSurfaceView.java │ │ ├── CameraRenderer.java │ │ ├── FpsMeter.java │ │ ├── InstallCallbackInterface.java │ │ ├── JavaCamera2View.java │ │ ├── JavaCameraView.java │ │ ├── LoaderCallbackInterface.java │ │ ├── OpenCVLoader.java │ │ ├── StaticHelper.java │ │ └── Utils.java │ │ ├── calib3d │ │ ├── Calib3d.java │ │ ├── StereoBM.java │ │ ├── StereoMatcher.java │ │ └── StereoSGBM.java │ │ ├── core │ │ ├── Algorithm.java │ │ ├── Core.java │ │ ├── CvException.java │ │ ├── CvType.java │ │ ├── DMatch.java │ │ ├── KeyPoint.java │ │ ├── Mat.java │ │ ├── MatOfByte.java │ │ ├── MatOfDMatch.java │ │ ├── MatOfDouble.java │ │ ├── MatOfFloat.java │ │ ├── MatOfFloat4.java │ │ ├── MatOfFloat6.java │ │ ├── MatOfInt.java │ │ ├── MatOfInt4.java │ │ ├── MatOfKeyPoint.java │ │ ├── MatOfPoint.java │ │ ├── MatOfPoint2f.java │ │ ├── MatOfPoint3.java │ │ ├── MatOfPoint3f.java │ │ ├── MatOfRect.java │ │ ├── MatOfRect2d.java │ │ ├── Point.java │ │ ├── Point3.java │ │ ├── Range.java │ │ ├── Rect.java │ │ ├── Rect2d.java │ │ ├── RotatedRect.java │ │ ├── Scalar.java │ │ ├── Size.java │ │ ├── TermCriteria.java │ │ └── TickMeter.java │ │ ├── dnn │ │ ├── DictValue.java │ │ ├── Dnn.java │ │ ├── Layer.java │ │ └── Net.java │ │ ├── features2d │ │ ├── AKAZE.java │ │ ├── AgastFeatureDetector.java │ │ ├── BFMatcher.java │ │ ├── BOWImgDescriptorExtractor.java │ │ ├── BOWKMeansTrainer.java │ │ ├── BOWTrainer.java │ │ ├── BRISK.java │ │ ├── DescriptorExtractor.java │ │ ├── DescriptorMatcher.java │ │ ├── FastFeatureDetector.java │ │ ├── Feature2D.java │ │ ├── FeatureDetector.java │ │ ├── Features2d.java │ │ ├── FlannBasedMatcher.java │ │ ├── GFTTDetector.java │ │ ├── KAZE.java │ │ ├── MSER.java │ │ ├── ORB.java │ │ └── Params.java │ │ ├── imgcodecs │ │ └── Imgcodecs.java │ │ ├── imgproc │ │ ├── CLAHE.java │ │ ├── Imgproc.java │ │ ├── LineSegmentDetector.java │ │ ├── Moments.java │ │ └── Subdiv2D.java │ │ ├── ml │ │ ├── ANN_MLP.java │ │ ├── ANN_MLP_ANNEAL.java │ │ ├── Boost.java │ │ ├── DTrees.java │ │ ├── EM.java │ │ ├── KNearest.java │ │ ├── LogisticRegression.java │ │ ├── Ml.java │ │ ├── NormalBayesClassifier.java │ │ ├── ParamGrid.java │ │ ├── RTrees.java │ │ ├── SVM.java │ │ ├── SVMSGD.java │ │ ├── StatModel.java │ │ └── TrainData.java │ │ ├── objdetect │ │ ├── BaseCascadeClassifier.java │ │ ├── CascadeClassifier.java │ │ ├── HOGDescriptor.java │ │ └── Objdetect.java │ │ ├── osgi │ │ ├── OpenCVInterface.java │ │ └── OpenCVNativeLoader.java │ │ ├── photo │ │ ├── AlignExposures.java │ │ ├── AlignMTB.java │ │ ├── CalibrateCRF.java │ │ ├── CalibrateDebevec.java │ │ ├── CalibrateRobertson.java │ │ ├── MergeDebevec.java │ │ ├── MergeExposures.java │ │ ├── MergeMertens.java │ │ ├── MergeRobertson.java │ │ ├── Photo.java │ │ ├── Tonemap.java │ │ ├── TonemapDrago.java │ │ ├── TonemapDurand.java │ │ ├── TonemapMantiuk.java │ │ └── TonemapReinhard.java │ │ ├── utils │ │ └── Converters.java │ │ ├── video │ │ ├── BackgroundSubtractor.java │ │ ├── BackgroundSubtractorKNN.java │ │ ├── BackgroundSubtractorMOG2.java │ │ ├── DenseOpticalFlow.java │ │ ├── DualTVL1OpticalFlow.java │ │ ├── FarnebackOpticalFlow.java │ │ ├── KalmanFilter.java │ │ ├── SparseOpticalFlow.java │ │ ├── SparsePyrLKOpticalFlow.java │ │ └── Video.java │ │ └── videoio │ │ ├── VideoCapture.java │ │ ├── VideoWriter.java │ │ └── Videoio.java │ └── res │ └── values │ └── attrs.xml ├── rajawali ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── rajawali │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── rajawali │ │ │ ├── ATransformable3D.java │ │ │ ├── BufferInfo.java │ │ │ ├── Geometry3D.java │ │ │ ├── Object3D.java │ │ │ ├── WorldParameters.java │ │ │ ├── animation │ │ │ ├── Animation.java │ │ │ ├── Animation3D.java │ │ │ ├── AnimationGroup.java │ │ │ ├── AnimationQueue.java │ │ │ ├── CoalesceAnimation3D.java │ │ │ ├── ColorAnimation3D.java │ │ │ ├── EllipticalOrbitAnimation3D.java │ │ │ ├── IAnimationListener.java │ │ │ ├── IPlayable.java │ │ │ ├── Playable.java │ │ │ ├── RotateAnimation3D.java │ │ │ ├── RotateAroundAnimation3D.java │ │ │ ├── RotateOnAxisAnimation.java │ │ │ ├── ScaleAnimation3D.java │ │ │ ├── SlerpAnimation3D.java │ │ │ ├── SplineTranslateAnimation3D.java │ │ │ ├── TranslateAnimation3D.java │ │ │ └── mesh │ │ │ │ ├── AAnimationObject3D.java │ │ │ │ ├── IAnimationFrame.java │ │ │ │ ├── IAnimationSequence.java │ │ │ │ ├── SkeletalAnimationChildObject3D.java │ │ │ │ ├── SkeletalAnimationFrame.java │ │ │ │ ├── SkeletalAnimationObject3D.java │ │ │ │ ├── SkeletalAnimationSequence.java │ │ │ │ ├── VertexAnimationFrame.java │ │ │ │ └── VertexAnimationObject3D.java │ │ │ ├── bounds │ │ │ ├── BoundingBox.java │ │ │ ├── BoundingSphere.java │ │ │ └── IBoundingVolume.java │ │ │ ├── cameras │ │ │ ├── AObjectCamera.java │ │ │ ├── ArcballCamera.java │ │ │ ├── Camera.java │ │ │ ├── Camera2D.java │ │ │ ├── ChaseCamera.java │ │ │ ├── FirstPersonCamera.java │ │ │ ├── Frustum.java │ │ │ └── OrthographicCamera.java │ │ │ ├── curves │ │ │ ├── ASpiral3D.java │ │ │ ├── ArchimedeanSpiral3D.java │ │ │ ├── CatmullRomCurve3D.java │ │ │ ├── CompoundCurve3D.java │ │ │ ├── CubicBezierCurve3D.java │ │ │ ├── ICurve3D.java │ │ │ ├── LinearBezierCurve3D.java │ │ │ ├── LogarithmicSpiral3D.java │ │ │ ├── QuadraticBezierCurve3D.java │ │ │ └── SVGPath.java │ │ │ ├── debug │ │ │ ├── CoordinateTrident.java │ │ │ ├── DebugBoundingBox.java │ │ │ ├── DebugCamera.java │ │ │ ├── DebugLight.java │ │ │ ├── DebugObject3D.java │ │ │ ├── DebugRenderer.java │ │ │ ├── DebugVisualizer.java │ │ │ ├── GLDebugger.java │ │ │ └── GridFloor.java │ │ │ ├── extras │ │ │ └── LensFlare.java │ │ │ ├── lights │ │ │ ├── ALight.java │ │ │ ├── DirectionalLight.java │ │ │ ├── PointLight.java │ │ │ └── SpotLight.java │ │ │ ├── loader │ │ │ ├── ALoader.java │ │ │ ├── AMeshLoader.java │ │ │ ├── IAnimatedMeshLoader.java │ │ │ ├── IAnimationSequenceLoader.java │ │ │ ├── ILoader.java │ │ │ ├── IMeshLoader.java │ │ │ ├── IParser.java │ │ │ ├── Loader3DSMax.java │ │ │ ├── LoaderAWD.java │ │ │ ├── LoaderGCode.java │ │ │ ├── LoaderMD2.java │ │ │ ├── LoaderOBJ.java │ │ │ ├── LoaderSTL.java │ │ │ ├── ParsingException.java │ │ │ ├── async │ │ │ │ └── IAsyncLoaderCallback.java │ │ │ ├── awd │ │ │ │ ├── ABaseObjectBlockParser.java │ │ │ │ ├── ABlockLoader.java │ │ │ │ ├── ABlockParser.java │ │ │ │ ├── AExportableBlockParser.java │ │ │ │ ├── ATextureBlockParser.java │ │ │ │ ├── BlockAnimationSet.java │ │ │ │ ├── BlockAnimator.java │ │ │ │ ├── BlockBitmapTexture.java │ │ │ │ ├── BlockCamera.java │ │ │ │ ├── BlockCommand.java │ │ │ │ ├── BlockContainer.java │ │ │ │ ├── BlockCubeTexture.java │ │ │ │ ├── BlockLight.java │ │ │ │ ├── BlockLightPicker.java │ │ │ │ ├── BlockMeshInstance.java │ │ │ │ ├── BlockMeshPose.java │ │ │ │ ├── BlockMeshPoseAnimation.java │ │ │ │ ├── BlockMetaData.java │ │ │ │ ├── BlockNamespace.java │ │ │ │ ├── BlockPrimitiveGeometry.java │ │ │ │ ├── BlockScene.java │ │ │ │ ├── BlockShadowMethod.java │ │ │ │ ├── BlockSharedMethod.java │ │ │ │ ├── BlockSimpleMaterial.java │ │ │ │ ├── BlockSkeleton.java │ │ │ │ ├── BlockSkeletonAnimation.java │ │ │ │ ├── BlockSkeletonPose.java │ │ │ │ ├── BlockSkybox.java │ │ │ │ ├── BlockTextureProjector.java │ │ │ │ ├── BlockTriangleGeometry.java │ │ │ │ ├── BlockUVAnimation.java │ │ │ │ ├── SceneGraphBlock.java │ │ │ │ └── exceptions │ │ │ │ │ ├── NotImplementedParsingException.java │ │ │ │ │ └── NotParsableException.java │ │ │ ├── fbx │ │ │ │ ├── FBXValues.java │ │ │ │ └── LoaderFBX.java │ │ │ └── md5 │ │ │ │ ├── LoaderMD5Anim.java │ │ │ │ └── LoaderMD5Mesh.java │ │ │ ├── materials │ │ │ ├── AResourceManager.java │ │ │ ├── Material.java │ │ │ ├── MaterialManager.java │ │ │ ├── methods │ │ │ │ ├── DiffuseMethod.java │ │ │ │ ├── IDiffuseMethod.java │ │ │ │ ├── ISpecularMethod.java │ │ │ │ └── SpecularMethod.java │ │ │ ├── plugins │ │ │ │ ├── AlphaMaskMaterialPlugin.java │ │ │ │ ├── DepthMaterialPlugin.java │ │ │ │ ├── FogMaterialPlugin.java │ │ │ │ ├── IMaterialPlugin.java │ │ │ │ ├── ShadowMapMaterialPlugin.java │ │ │ │ ├── SkeletalAnimationMaterialPlugin.java │ │ │ │ ├── SpriteSheetMaterialPlugin.java │ │ │ │ └── VertexAnimationMaterialPlugin.java │ │ │ ├── shaders │ │ │ │ ├── AShader.java │ │ │ │ ├── AShaderBase.java │ │ │ │ ├── FragmentShader.java │ │ │ │ ├── IShaderFragment.java │ │ │ │ ├── VertexShader.java │ │ │ │ └── fragments │ │ │ │ │ ├── LightsFragmentShaderFragment.java │ │ │ │ │ ├── LightsVertexShaderFragment.java │ │ │ │ │ ├── animation │ │ │ │ │ ├── SkeletalAnimationVertexShaderFragment.java │ │ │ │ │ └── VertexAnimationVertexShaderFragment.java │ │ │ │ │ ├── diffuse │ │ │ │ │ ├── LambertFragmentShaderFragment.java │ │ │ │ │ └── LambertVertexShaderFragment.java │ │ │ │ │ ├── effects │ │ │ │ │ └── ToonFragmentShaderFragment.java │ │ │ │ │ ├── specular │ │ │ │ │ └── PhongFragmentShaderFragment.java │ │ │ │ │ └── texture │ │ │ │ │ ├── ATextureFragmentShaderFragment.java │ │ │ │ │ ├── AlphaMapFragmentShaderFragment.java │ │ │ │ │ ├── DiffuseTextureFragmentShaderFragment.java │ │ │ │ │ ├── EnvironmentMapFragmentShaderFragment.java │ │ │ │ │ ├── NormalMapFragmentShaderFragment.java │ │ │ │ │ └── SkyTextureFragmentShaderFragment.java │ │ │ └── textures │ │ │ │ ├── ACompressedTexture.java │ │ │ │ ├── AMultiTexture.java │ │ │ │ ├── ASingleTexture.java │ │ │ │ ├── ATexture.java │ │ │ │ ├── AlphaMapTexture.java │ │ │ │ ├── AnimatedGIFTexture.java │ │ │ │ ├── AtcTexture.java │ │ │ │ ├── CubeMapTexture.java │ │ │ │ ├── Dxt1Texture.java │ │ │ │ ├── Etc1Texture.java │ │ │ │ ├── Etc2Texture.java │ │ │ │ ├── NormalMapTexture.java │ │ │ │ ├── PalettedTexture.java │ │ │ │ ├── PvrtcTexture.java │ │ │ │ ├── RenderTargetTexture.java │ │ │ │ ├── SpecularMapTexture.java │ │ │ │ ├── SphereMapTexture.java │ │ │ │ ├── StreamingTexture.java │ │ │ │ ├── Texture.java │ │ │ │ ├── TextureAtlas.java │ │ │ │ ├── TextureManager.java │ │ │ │ ├── TexturePacker.java │ │ │ │ ├── ThreeDcTexture.java │ │ │ │ └── utils │ │ │ │ └── ETC2Util.java │ │ │ ├── math │ │ │ ├── MathUtil.java │ │ │ ├── Matrix.java │ │ │ ├── Matrix4.java │ │ │ ├── Plane.java │ │ │ ├── Quaternion.java │ │ │ └── vector │ │ │ │ ├── Vector2.java │ │ │ │ └── Vector3.java │ │ │ ├── postprocessing │ │ │ ├── APass.java │ │ │ ├── APostProcessingEffect.java │ │ │ ├── IPass.java │ │ │ ├── IPostProcessingComponent.java │ │ │ ├── IPostProcessingEffect.java │ │ │ ├── PostProcessingManager.java │ │ │ ├── effects │ │ │ │ ├── BloomEffect.java │ │ │ │ └── ShadowEffect.java │ │ │ ├── materials │ │ │ │ └── ShadowMapMaterial.java │ │ │ └── passes │ │ │ │ ├── BlendPass.java │ │ │ │ ├── BlurPass.java │ │ │ │ ├── ClearMaskPass.java │ │ │ │ ├── ColorThresholdPass.java │ │ │ │ ├── CopyPass.java │ │ │ │ ├── CopyToNewRenderTargetPass.java │ │ │ │ ├── DepthPass.java │ │ │ │ ├── EffectPass.java │ │ │ │ ├── FXAAPass.java │ │ │ │ ├── GreyScalePass.java │ │ │ │ ├── MaskPass.java │ │ │ │ ├── RenderPass.java │ │ │ │ ├── ScanlinePass.java │ │ │ │ ├── SepiaPass.java │ │ │ │ ├── ShadowPass.java │ │ │ │ └── VignettePass.java │ │ │ ├── primitives │ │ │ ├── Cube.java │ │ │ ├── Cylinder.java │ │ │ ├── Line3D.java │ │ │ ├── NPrism.java │ │ │ ├── Plane.java │ │ │ ├── PointSprite.java │ │ │ ├── RectangularPrism.java │ │ │ ├── ScreenQuad.java │ │ │ ├── Sphere.java │ │ │ └── Torus.java │ │ │ ├── renderer │ │ │ ├── AFrameTask.java │ │ │ ├── ISurfaceRenderer.java │ │ │ ├── NullRenderer.java │ │ │ ├── PipRenderer.java │ │ │ ├── RenderTarget.java │ │ │ ├── RenderTargetCube.java │ │ │ ├── Renderer.java │ │ │ ├── SideBySideRenderer.java │ │ │ ├── pip │ │ │ │ ├── SubRenderer.java │ │ │ │ └── WorkaroundScreenQuad.java │ │ │ └── plugins │ │ │ │ ├── IRendererPlugin.java │ │ │ │ ├── LensFlarePlugin.java │ │ │ │ └── Plugin.java │ │ │ ├── scene │ │ │ ├── ASceneFrameCallback.java │ │ │ └── Scene.java │ │ │ ├── scenegraph │ │ │ ├── A_nAABBTree.java │ │ │ ├── IGraphNode.java │ │ │ ├── IGraphNodeMember.java │ │ │ └── Octree.java │ │ │ ├── terrain │ │ │ ├── SquareTerrain.java │ │ │ ├── Terrain.java │ │ │ └── TerrainGenerator.java │ │ │ ├── util │ │ │ ├── ArrayUtils.java │ │ │ ├── Capabilities.java │ │ │ ├── GLU.java │ │ │ ├── IObjectPicker.java │ │ │ ├── Intersector.java │ │ │ ├── LittleEndianDataInputStream.java │ │ │ ├── LittleEndianOutputStream.java │ │ │ ├── ObjectColorPicker.java │ │ │ ├── OnFPSUpdateListener.java │ │ │ ├── OnObjectPickedListener.java │ │ │ ├── RajLog.java │ │ │ ├── RawShaderLoader.java │ │ │ ├── RayPicker.java │ │ │ ├── ScreenGrab.java │ │ │ └── egl │ │ │ │ └── RajawaliEGLConfigChooser.java │ │ │ ├── view │ │ │ ├── Daydream.java │ │ │ ├── IDisplay.java │ │ │ ├── ISurface.java │ │ │ ├── SurfaceView.java │ │ │ └── TextureView.java │ │ │ ├── visitors │ │ │ ├── INode.java │ │ │ ├── INodeVisitor.java │ │ │ └── RayPickingVisitor.java │ │ │ └── wallpaper │ │ │ └── Wallpaper.java │ └── res │ │ ├── raw │ │ ├── blend_add_fragment_shader.glsl │ │ ├── blend_screen_fragment_shader.glsl │ │ ├── blur_fragment_shader.glsl │ │ ├── color_threshold_shader.glsl │ │ ├── copy_fragment_shader.glsl │ │ ├── fog_fragment_shader.glsl │ │ ├── fxaa_fragment_shader.glsl │ │ ├── fxaa_vertex_shader.glsl │ │ ├── grey_scale_fragment_shader.glsl │ │ ├── minimal_vertex_shader.glsl │ │ ├── scanline_fragment_shader.glsl │ │ ├── sepia_fragment_shader.glsl │ │ └── vignette_fragment_shader.glsl │ │ └── values │ │ ├── attrs.xml │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── example │ └── rajawali │ └── ExampleUnitTest.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![CorpusVR CountPages alpha](https://github.com/gitDanilo/CorpusVR/blob/master/corpusvr_demo.gif)](https://www.youtube.com/watch?v=FA9HhLEk6nw) -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | signingConfigs { 5 | releaseSigning { 6 | keyAlias 'TestKey' 7 | keyPassword 'testkey' 8 | storeFile file('C:/Users/danil.000/AndroidStudioProjects/Keys/TestKey.jks') 9 | storePassword 'testkey' 10 | } 11 | } 12 | buildToolsVersion '27.0.3' 13 | compileSdkVersion 26 14 | defaultConfig { 15 | applicationId "com.danilo.corpusvr" 16 | minSdkVersion 22 17 | targetSdkVersion 26 18 | versionCode 1 19 | versionName "1.0" 20 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 21 | signingConfig signingConfigs.releaseSigning 22 | } 23 | buildTypes { 24 | release { 25 | minifyEnabled false 26 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 27 | signingConfig signingConfigs.releaseSigning 28 | } 29 | } 30 | productFlavors { 31 | } 32 | } 33 | 34 | dependencies { 35 | implementation fileTree(include: ['*.jar'], dir: 'libs') 36 | implementation 'com.android.support:appcompat-v7:26.1.0' 37 | implementation 'com.android.support.constraint:constraint-layout:1.1.2' 38 | //implementation 'org.rajawali3d:rajawali:1.1.970@aar' 39 | testImplementation 'junit:junit:4.12' 40 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 41 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 42 | implementation project(':openCVLibrary341') 43 | implementation project(':rajawali') 44 | } 45 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/danilo/corpusvr/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest 19 | { 20 | @Test 21 | public void useAppContext() 22 | { 23 | // Context of the app under test. 24 | Context appContext = InstrumentationRegistry.getTargetContext(); 25 | 26 | assertEquals("com.danilo.corpusvr", appContext.getPackageName()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/danilo/corpusvr/CameraProjectionListener.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | public interface CameraProjectionListener 4 | { 5 | void onProjectionChanged(int width, int height, float[] projectionMat); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/danilo/corpusvr/Duplicable.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | public interface Duplicable 4 | { 5 | boolean copyFrom(Duplicable obj); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/danilo/corpusvr/FPSCounter.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | import android.util.Log; 4 | 5 | /** 6 | * Created by Danilo on 3/1/2018. 7 | */ 8 | 9 | public class FPSCounter 10 | { 11 | private static final String TAG = "FPSCounter"; 12 | private static long mStartTime = System.nanoTime(); 13 | private static int mFrames = 0; 14 | 15 | public static void getFPS() 16 | { 17 | ++mFrames; 18 | if(System.nanoTime() - mStartTime >= 1000000000) 19 | { 20 | Log.d(TAG, "fps: " + mFrames); 21 | mFrames = 0; 22 | mStartTime = System.nanoTime(); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /app/src/main/java/com/danilo/corpusvr/MyGLSurfaceView.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | import android.content.Context; 4 | import android.opengl.GLSurfaceView; 5 | 6 | /** 7 | * Created by Danilo on 3/1/2018. 8 | */ 9 | 10 | public class MyGLSurfaceView extends GLSurfaceView 11 | { 12 | private static final String TAG = "MyGLSurfaceView"; 13 | private final MyGLRenderer mRenderer; 14 | 15 | public MyGLSurfaceView(Context context) 16 | { 17 | super(context); 18 | setEGLContextClientVersion(2); 19 | setEGLConfigChooser(8, 8, 8, 8, 16, 0); // Maybe depthSize should be 0 20 | setZOrderMediaOverlay(true); 21 | mRenderer = new MyGLRenderer(); 22 | setRenderer(mRenderer); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libopencv_java3.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/jniLibs/arm64-v8a/libopencv_java3.so -------------------------------------------------------------------------------- /app/src/main/res/drawable/earthtruecolor_nasa_big.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/drawable/earthtruecolor_nasa_big.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/x_ray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/drawable/x_ray.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CorpusVR 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/test/java/com/danilo/corpusvr/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.danilo.corpusvr; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest 13 | { 14 | @Test 15 | public void addition_isCorrect() 16 | { 17 | assertEquals(4, 2 + 2); 18 | } 19 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | //mavenCentral() 9 | } 10 | dependencies { 11 | classpath 'com.android.tools.build:gradle:3.1.3' 12 | 13 | 14 | // NOTE: Do not place your application dependencies here; they belong 15 | // in the individual module build.gradle files 16 | } 17 | } 18 | 19 | allprojects { 20 | repositories { 21 | //maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } 22 | google() 23 | jcenter() 24 | } 25 | } 26 | 27 | task clean(type: Delete) { 28 | delete rootProject.buildDir 29 | } 30 | -------------------------------------------------------------------------------- /corpusvr_demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/corpusvr_demo.gif -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Apr 20 23:00:31 BRT 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /openCVLibrary341/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | android { 3 | signingConfigs { 4 | releaseSigning { 5 | keyAlias 'TestKey' 6 | keyPassword 'testkey' 7 | storeFile file('C:/Users/danil.000/AndroidStudioProjects/Keys/TestKey.jks') 8 | storePassword 'testkey' 9 | } 10 | } 11 | buildToolsVersion '27.0.3' 12 | compileSdkVersion 26 13 | defaultConfig { 14 | minSdkVersion 22 15 | targetSdkVersion 26 16 | signingConfig signingConfigs.releaseSigning 17 | } 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 22 | } 23 | debug { 24 | signingConfig signingConfigs.releaseSigning 25 | } 26 | } 27 | productFlavors { 28 | } 29 | } 30 | 31 | dependencies { 32 | } -------------------------------------------------------------------------------- /openCVLibrary341/build/generated/source/buildConfig/debug/org/opencv/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Automatically generated file. DO NOT MODIFY 3 | */ 4 | package org.opencv; 5 | 6 | public final class BuildConfig { 7 | public static final boolean DEBUG = Boolean.parseBoolean("true"); 8 | public static final String APPLICATION_ID = "org.opencv"; 9 | public static final String BUILD_TYPE = "debug"; 10 | public static final String FLAVOR = ""; 11 | public static final int VERSION_CODE = 3410; 12 | public static final String VERSION_NAME = "3.4.1"; 13 | } 14 | -------------------------------------------------------------------------------- /openCVLibrary341/build/generated/source/r/debug/org/opencv/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * gradle plugin from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | package org.opencv; 8 | 9 | public final class R { 10 | public static final class attr { 11 | public static int camera_id = 0x7f040001; 12 | public static int show_fps = 0x7f040002; 13 | } 14 | public static final class id { 15 | public static int any = 0x7f0c0001; 16 | public static int back = 0x7f0c0002; 17 | public static int front = 0x7f0c0003; 18 | } 19 | public static final class styleable { 20 | public static int[] CameraBridgeViewBase = { 0x7f040001, 0x7f040002 }; 21 | public static int CameraBridgeViewBase_camera_id = 0; 22 | public static int CameraBridgeViewBase_show_fps = 1; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/BuildConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/BuildConfig.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$attr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$attr.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$id.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$id.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$styleable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/R$styleable.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/R.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/R.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3$2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper$3.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/AsyncServiceHelper.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$3.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$4.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$5.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$6.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback$7.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/BaseLoaderCallback.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer$2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Camera2Renderer.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewFrame.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewFrame.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListener.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListener2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListener2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListenerAdapter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$CvCameraViewListenerAdapter.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$ListItemAccessor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase$ListItemAccessor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraBridgeViewBase.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLRendererBase.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLRendererBase.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLSurfaceView$CameraTextureListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLSurfaceView$CameraTextureListener.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLSurfaceView.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraGLSurfaceView.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraRenderer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/CameraRenderer.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/FpsMeter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/FpsMeter.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/InstallCallbackInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/InstallCallbackInterface.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$3.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$JavaCamera2Frame.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View$JavaCamera2Frame.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCamera2View.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$1.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$CameraWorker.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$CameraWorker.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$JavaCameraFrame.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$JavaCameraFrame.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$JavaCameraSizeAccessor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView$JavaCameraSizeAccessor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/JavaCameraView.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/LoaderCallbackInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/LoaderCallbackInterface.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/OpenCVLoader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/OpenCVLoader.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/StaticHelper.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/StaticHelper.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Utils.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/android/Utils.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/Calib3d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/Calib3d.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoBM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoBM.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoMatcher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoMatcher.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoSGBM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/calib3d/StereoSGBM.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Algorithm.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Algorithm.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Core$MinMaxLocResult.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Core$MinMaxLocResult.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Core.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Core.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/CvException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/CvException.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/CvType.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/CvType.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/DMatch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/DMatch.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/KeyPoint.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/KeyPoint.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Mat.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Mat.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfByte.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfByte.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfDMatch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfDMatch.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfDouble.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfDouble.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat4.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfFloat6.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfInt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfInt.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfInt4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfInt4.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfKeyPoint.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfKeyPoint.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint2f.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint2f.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint3.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint3f.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfPoint3f.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfRect.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfRect.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfRect2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/MatOfRect2d.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Point.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Point.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Point3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Point3.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Range.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Range.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Rect.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Rect.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Rect2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Rect2d.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/RotatedRect.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/RotatedRect.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Scalar.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Scalar.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Size.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/Size.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/TermCriteria.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/TermCriteria.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/TickMeter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/core/TickMeter.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/DictValue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/DictValue.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Dnn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Dnn.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Layer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Layer.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Net.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/dnn/Net.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface$Stub$Proxy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface$Stub$Proxy.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface$Stub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface$Stub.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/engine/OpenCVEngineInterface.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/AKAZE.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/AKAZE.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/AgastFeatureDetector.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/AgastFeatureDetector.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BFMatcher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BFMatcher.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWImgDescriptorExtractor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWImgDescriptorExtractor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWKMeansTrainer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWKMeansTrainer.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWTrainer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BOWTrainer.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BRISK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/BRISK.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/DescriptorExtractor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/DescriptorExtractor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/DescriptorMatcher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/DescriptorMatcher.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FastFeatureDetector.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FastFeatureDetector.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Feature2D.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Feature2D.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FeatureDetector.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FeatureDetector.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Features2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Features2d.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FlannBasedMatcher.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/FlannBasedMatcher.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/GFTTDetector.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/GFTTDetector.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/KAZE.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/KAZE.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/MSER.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/MSER.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/ORB.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/ORB.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Params.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/features2d/Params.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgcodecs/Imgcodecs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgcodecs/Imgcodecs.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/CLAHE.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/CLAHE.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Imgproc.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Imgproc.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/LineSegmentDetector.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/LineSegmentDetector.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Moments.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Moments.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Subdiv2D.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/imgproc/Subdiv2D.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ANN_MLP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ANN_MLP.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ANN_MLP_ANNEAL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ANN_MLP_ANNEAL.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/Boost.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/Boost.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/DTrees.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/DTrees.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/EM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/EM.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/KNearest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/KNearest.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/LogisticRegression.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/LogisticRegression.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/Ml.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/Ml.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/NormalBayesClassifier.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/NormalBayesClassifier.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ParamGrid.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/ParamGrid.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/RTrees.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/RTrees.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/SVM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/SVM.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/SVMSGD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/SVMSGD.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/StatModel.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/StatModel.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/TrainData.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/ml/TrainData.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/BaseCascadeClassifier.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/BaseCascadeClassifier.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/CascadeClassifier.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/CascadeClassifier.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/HOGDescriptor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/HOGDescriptor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/Objdetect.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/objdetect/Objdetect.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/osgi/OpenCVInterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/osgi/OpenCVInterface.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/osgi/OpenCVNativeLoader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/osgi/OpenCVNativeLoader.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/AlignExposures.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/AlignExposures.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/AlignMTB.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/AlignMTB.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateCRF.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateCRF.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateDebevec.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateDebevec.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateRobertson.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/CalibrateRobertson.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeDebevec.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeDebevec.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeExposures.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeExposures.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeMertens.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeMertens.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeRobertson.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/MergeRobertson.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/Photo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/Photo.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/Tonemap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/Tonemap.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapDrago.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapDrago.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapDurand.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapDurand.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapMantiuk.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapMantiuk.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapReinhard.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/photo/TonemapReinhard.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/utils/Converters.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/utils/Converters.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractor.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractorKNN.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractorKNN.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractorMOG2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/BackgroundSubtractorMOG2.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/DenseOpticalFlow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/DenseOpticalFlow.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/DualTVL1OpticalFlow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/DualTVL1OpticalFlow.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/FarnebackOpticalFlow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/FarnebackOpticalFlow.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/KalmanFilter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/KalmanFilter.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/SparseOpticalFlow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/SparseOpticalFlow.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/SparsePyrLKOpticalFlow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/SparsePyrLKOpticalFlow.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/Video.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/video/Video.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/VideoCapture.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/VideoCapture.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/VideoWriter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/VideoWriter.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/Videoio.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/classes/debug/org/opencv/videoio/Videoio.class -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/compileDebugAidl/dependency.store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/incremental/compileDebugAidl/dependency.store -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/debug-mergeJniLibs/merge-state: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/incremental/debug-mergeJniLibs/merge-state -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/mergeDebugShaders/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/packageDebugAssets/merger.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/packageDebugResources/compile-file-map.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 22 10:26:17 BRT 2018 2 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/intermediate-jars/debug/classes.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitDanilo/CorpusVR/9363ee72488bc596e64d7e2a7be41b312715e547/openCVLibrary341/build/intermediates/intermediate-jars/debug/classes.jar -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/intermediate-jars/debug/res.jar: -------------------------------------------------------------------------------- 1 | PK -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/javaPrecompile/debug/annotationProcessors.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/manifests/aapt/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/manifests/aapt/debug/output.json: -------------------------------------------------------------------------------- 1 | [{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":3410,"versionName":"3.4.1","enabled":true,"outputFile":"openCVLibrary341-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}] -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/manifests/full/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/manifests/full/debug/output.json: -------------------------------------------------------------------------------- 1 | [{"outputType":{"type":"MERGED_MANIFESTS"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":3410,"versionName":"3.4.1","enabled":true,"outputFile":"openCVLibrary341-debug.aar","fullName":"debug","baseName":"debug"},"path":"AndroidManifest.xml","properties":{"packageId":"org.opencv","split":""}}] -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/packaged_res/debug/values/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt: -------------------------------------------------------------------------------- 1 | org.opencv 2 | int attr camera_id 0x7f040001 3 | int attr show_fps 0x7f040002 4 | int id any 0x7f0c0001 5 | int id back 0x7f0c0002 6 | int id front 0x7f0c0003 7 | int[] styleable CameraBridgeViewBase { 0x7f040001, 0x7f040002 } 8 | int styleable CameraBridgeViewBase_camera_id 0 9 | int styleable CameraBridgeViewBase_show_fps 1 10 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/symbols/debug/R.txt: -------------------------------------------------------------------------------- 1 | int attr camera_id 0x7f040001 2 | int attr show_fps 0x7f040002 3 | int id any 0x7f0c0001 4 | int id back 0x7f0c0002 5 | int id front 0x7f0c0003 6 | int[] styleable CameraBridgeViewBase { 0x7f040001, 0x7f040002 } 7 | int styleable CameraBridgeViewBase_camera_id 0 8 | int styleable CameraBridgeViewBase_show_fps 1 9 | -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/transforms/mergeJniLibs/debug/__content__.json: -------------------------------------------------------------------------------- 1 | [{"name":"resources","index":0,"scopes":["PROJECT"],"types":["NATIVE_LIBS"],"format":"DIRECTORY","present":false}] -------------------------------------------------------------------------------- /openCVLibrary341/build/intermediates/transforms/stripDebugSymbol/debug/__content__.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /openCVLibrary341/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/aidl/org/opencv/engine/OpenCVEngineInterface.aidl: -------------------------------------------------------------------------------- 1 | package org.opencv.engine; 2 | 3 | /** 4 | * Class provides a Java interface for OpenCV Engine Service. It's synchronous with native OpenCVEngine class. 5 | */ 6 | interface OpenCVEngineInterface 7 | { 8 | /** 9 | * @return Returns service version. 10 | */ 11 | int getEngineVersion(); 12 | 13 | /** 14 | * Finds an installed OpenCV library. 15 | * @param OpenCV version. 16 | * @return Returns path to OpenCV native libs or an empty string if OpenCV can not be found. 17 | */ 18 | String getLibPathByVersion(String version); 19 | 20 | /** 21 | * Tries to install defined version of OpenCV from Google Play Market. 22 | * @param OpenCV version. 23 | * @return Returns true if installation was successful or OpenCV package has been already installed. 24 | */ 25 | boolean installVersion(String version); 26 | 27 | /** 28 | * Returns list of libraries in loading order, separated by semicolon. 29 | * @param OpenCV version. 30 | * @return Returns names of OpenCV libraries, separated by semicolon. 31 | */ 32 | String getLibraryList(String version); 33 | } 34 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/android/InstallCallbackInterface.java: -------------------------------------------------------------------------------- 1 | package org.opencv.android; 2 | 3 | /** 4 | * Installation callback interface. 5 | */ 6 | public interface InstallCallbackInterface 7 | { 8 | /** 9 | * New package installation is required. 10 | */ 11 | static final int NEW_INSTALLATION = 0; 12 | /** 13 | * Current package installation is in progress. 14 | */ 15 | static final int INSTALLATION_PROGRESS = 1; 16 | 17 | /** 18 | * Target package name. 19 | * @return Return target package name. 20 | */ 21 | public String getPackageName(); 22 | /** 23 | * Installation is approved. 24 | */ 25 | public void install(); 26 | /** 27 | * Installation is canceled. 28 | */ 29 | public void cancel(); 30 | /** 31 | * Wait for package installation. 32 | */ 33 | public void wait_install(); 34 | }; 35 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/android/LoaderCallbackInterface.java: -------------------------------------------------------------------------------- 1 | package org.opencv.android; 2 | 3 | /** 4 | * Interface for callback object in case of asynchronous initialization of OpenCV. 5 | */ 6 | public interface LoaderCallbackInterface 7 | { 8 | /** 9 | * OpenCV initialization finished successfully. 10 | */ 11 | static final int SUCCESS = 0; 12 | /** 13 | * Google Play Market cannot be invoked. 14 | */ 15 | static final int MARKET_ERROR = 2; 16 | /** 17 | * OpenCV library installation has been canceled by the user. 18 | */ 19 | static final int INSTALL_CANCELED = 3; 20 | /** 21 | * This version of OpenCV Manager Service is incompatible with the app. Possibly, a service update is required. 22 | */ 23 | static final int INCOMPATIBLE_MANAGER_VERSION = 4; 24 | /** 25 | * OpenCV library initialization has failed. 26 | */ 27 | static final int INIT_FAILED = 0xff; 28 | 29 | /** 30 | * Callback method, called after OpenCV library initialization. 31 | * @param status status of initialization (see initialization status constants). 32 | */ 33 | public void onManagerConnected(int status); 34 | 35 | /** 36 | * Callback method, called in case the package installation is needed. 37 | * @param callback answer object with approve and cancel methods and the package description. 38 | */ 39 | public void onPackageInstall(final int operation, InstallCallbackInterface callback); 40 | }; 41 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/core/CvException.java: -------------------------------------------------------------------------------- 1 | package org.opencv.core; 2 | 3 | public class CvException extends RuntimeException { 4 | 5 | private static final long serialVersionUID = 1L; 6 | 7 | public CvException(String msg) { 8 | super(msg); 9 | } 10 | 11 | @Override 12 | public String toString() { 13 | return "CvException [" + super.toString() + "]"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/core/DMatch.java: -------------------------------------------------------------------------------- 1 | package org.opencv.core; 2 | 3 | //C++: class DMatch 4 | 5 | /** 6 | * Structure for matching: query descriptor index, train descriptor index, train 7 | * image index and distance between descriptors. 8 | */ 9 | public class DMatch { 10 | 11 | /** 12 | * Query descriptor index. 13 | */ 14 | public int queryIdx; 15 | /** 16 | * Train descriptor index. 17 | */ 18 | public int trainIdx; 19 | /** 20 | * Train image index. 21 | */ 22 | public int imgIdx; 23 | 24 | // javadoc: DMatch::distance 25 | public float distance; 26 | 27 | // javadoc: DMatch::DMatch() 28 | public DMatch() { 29 | this(-1, -1, Float.MAX_VALUE); 30 | } 31 | 32 | // javadoc: DMatch::DMatch(_queryIdx, _trainIdx, _distance) 33 | public DMatch(int _queryIdx, int _trainIdx, float _distance) { 34 | queryIdx = _queryIdx; 35 | trainIdx = _trainIdx; 36 | imgIdx = -1; 37 | distance = _distance; 38 | } 39 | 40 | // javadoc: DMatch::DMatch(_queryIdx, _trainIdx, _imgIdx, _distance) 41 | public DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance) { 42 | queryIdx = _queryIdx; 43 | trainIdx = _trainIdx; 44 | imgIdx = _imgIdx; 45 | distance = _distance; 46 | } 47 | 48 | public boolean lessThan(DMatch it) { 49 | return distance < it.distance; 50 | } 51 | 52 | @Override 53 | public String toString() { 54 | return "DMatch [queryIdx=" + queryIdx + ", trainIdx=" + trainIdx 55 | + ", imgIdx=" + imgIdx + ", distance=" + distance + "]"; 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/core/Point.java: -------------------------------------------------------------------------------- 1 | package org.opencv.core; 2 | 3 | //javadoc:Point_ 4 | public class Point { 5 | 6 | public double x, y; 7 | 8 | public Point(double x, double y) { 9 | this.x = x; 10 | this.y = y; 11 | } 12 | 13 | public Point() { 14 | this(0, 0); 15 | } 16 | 17 | public Point(double[] vals) { 18 | this(); 19 | set(vals); 20 | } 21 | 22 | public void set(double[] vals) { 23 | if (vals != null) { 24 | x = vals.length > 0 ? vals[0] : 0; 25 | y = vals.length > 1 ? vals[1] : 0; 26 | } else { 27 | x = 0; 28 | y = 0; 29 | } 30 | } 31 | 32 | public Point clone() { 33 | return new Point(x, y); 34 | } 35 | 36 | public double dot(Point p) { 37 | return x * p.x + y * p.y; 38 | } 39 | 40 | @Override 41 | public int hashCode() { 42 | final int prime = 31; 43 | int result = 1; 44 | long temp; 45 | temp = Double.doubleToLongBits(x); 46 | result = prime * result + (int) (temp ^ (temp >>> 32)); 47 | temp = Double.doubleToLongBits(y); 48 | result = prime * result + (int) (temp ^ (temp >>> 32)); 49 | return result; 50 | } 51 | 52 | @Override 53 | public boolean equals(Object obj) { 54 | if (this == obj) return true; 55 | if (!(obj instanceof Point)) return false; 56 | Point it = (Point) obj; 57 | return x == it.x && y == it.y; 58 | } 59 | 60 | public boolean inside(Rect r) { 61 | return r.contains(this); 62 | } 63 | 64 | @Override 65 | public String toString() { 66 | return "{" + x + ", " + y + "}"; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/ml/Ml.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.ml; 5 | 6 | 7 | 8 | // C++: class Ml 9 | //javadoc: Ml 10 | 11 | public class Ml { 12 | 13 | public static final int 14 | VAR_NUMERICAL = 0, 15 | VAR_ORDERED = 0, 16 | VAR_CATEGORICAL = 1, 17 | TEST_ERROR = 0, 18 | TRAIN_ERROR = 1, 19 | ROW_SAMPLE = 0, 20 | COL_SAMPLE = 1; 21 | 22 | 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/objdetect/BaseCascadeClassifier.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.objdetect; 5 | 6 | import org.opencv.core.Algorithm; 7 | 8 | // C++: class BaseCascadeClassifier 9 | //javadoc: BaseCascadeClassifier 10 | 11 | public class BaseCascadeClassifier extends Algorithm { 12 | 13 | protected BaseCascadeClassifier(long addr) { super(addr); } 14 | 15 | // internal usage only 16 | public static BaseCascadeClassifier __fromPtr__(long addr) { return new BaseCascadeClassifier(addr); } 17 | 18 | @Override 19 | protected void finalize() throws Throwable { 20 | delete(nativeObj); 21 | } 22 | 23 | 24 | 25 | // native support for java finalize() 26 | private static native void delete(long nativeObj); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/osgi/OpenCVInterface.java: -------------------------------------------------------------------------------- 1 | package org.opencv.osgi; 2 | 3 | /** 4 | * Dummy interface to allow some integration testing within OSGi implementation. 5 | */ 6 | public interface OpenCVInterface 7 | { 8 | } 9 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/osgi/OpenCVNativeLoader.java: -------------------------------------------------------------------------------- 1 | package org.opencv.osgi; 2 | 3 | import java.util.logging.Level; 4 | import java.util.logging.Logger; 5 | 6 | /** 7 | * This class is intended to provide a convenient way to load OpenCV's native 8 | * library from the Java bundle. If Blueprint is enabled in the OSGi container 9 | * this class will be instantiated automatically and the init() method called 10 | * loading the native library. 11 | */ 12 | public class OpenCVNativeLoader implements OpenCVInterface { 13 | 14 | public void init() { 15 | System.loadLibrary("opencv_java3"); 16 | Logger.getLogger("org.opencv.osgi").log(Level.INFO, "Successfully loaded OpenCV native library."); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/photo/AlignExposures.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.photo; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import org.opencv.core.Algorithm; 9 | import org.opencv.core.Mat; 10 | import org.opencv.utils.Converters; 11 | 12 | // C++: class AlignExposures 13 | //javadoc: AlignExposures 14 | 15 | public class AlignExposures extends Algorithm { 16 | 17 | protected AlignExposures(long addr) { super(addr); } 18 | 19 | // internal usage only 20 | public static AlignExposures __fromPtr__(long addr) { return new AlignExposures(addr); } 21 | 22 | // 23 | // C++: void process(vector_Mat src, vector_Mat dst, Mat times, Mat response) 24 | // 25 | 26 | //javadoc: AlignExposures::process(src, dst, times, response) 27 | public void process(List src, List dst, Mat times, Mat response) 28 | { 29 | Mat src_mat = Converters.vector_Mat_to_Mat(src); 30 | Mat dst_mat = Converters.vector_Mat_to_Mat(dst); 31 | process_0(nativeObj, src_mat.nativeObj, dst_mat.nativeObj, times.nativeObj, response.nativeObj); 32 | 33 | return; 34 | } 35 | 36 | 37 | @Override 38 | protected void finalize() throws Throwable { 39 | delete(nativeObj); 40 | } 41 | 42 | 43 | 44 | // C++: void process(vector_Mat src, vector_Mat dst, Mat times, Mat response) 45 | private static native void process_0(long nativeObj, long src_mat_nativeObj, long dst_mat_nativeObj, long times_nativeObj, long response_nativeObj); 46 | 47 | // native support for java finalize() 48 | private static native void delete(long nativeObj); 49 | 50 | } 51 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/photo/CalibrateCRF.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.photo; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import org.opencv.core.Algorithm; 9 | import org.opencv.core.Mat; 10 | import org.opencv.utils.Converters; 11 | 12 | // C++: class CalibrateCRF 13 | //javadoc: CalibrateCRF 14 | 15 | public class CalibrateCRF extends Algorithm { 16 | 17 | protected CalibrateCRF(long addr) { super(addr); } 18 | 19 | // internal usage only 20 | public static CalibrateCRF __fromPtr__(long addr) { return new CalibrateCRF(addr); } 21 | 22 | // 23 | // C++: void process(vector_Mat src, Mat& dst, Mat times) 24 | // 25 | 26 | //javadoc: CalibrateCRF::process(src, dst, times) 27 | public void process(List src, Mat dst, Mat times) 28 | { 29 | Mat src_mat = Converters.vector_Mat_to_Mat(src); 30 | process_0(nativeObj, src_mat.nativeObj, dst.nativeObj, times.nativeObj); 31 | 32 | return; 33 | } 34 | 35 | 36 | @Override 37 | protected void finalize() throws Throwable { 38 | delete(nativeObj); 39 | } 40 | 41 | 42 | 43 | // C++: void process(vector_Mat src, Mat& dst, Mat times) 44 | private static native void process_0(long nativeObj, long src_mat_nativeObj, long dst_nativeObj, long times_nativeObj); 45 | 46 | // native support for java finalize() 47 | private static native void delete(long nativeObj); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/photo/MergeExposures.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.photo; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import org.opencv.core.Algorithm; 9 | import org.opencv.core.Mat; 10 | import org.opencv.utils.Converters; 11 | 12 | // C++: class MergeExposures 13 | //javadoc: MergeExposures 14 | 15 | public class MergeExposures extends Algorithm { 16 | 17 | protected MergeExposures(long addr) { super(addr); } 18 | 19 | // internal usage only 20 | public static MergeExposures __fromPtr__(long addr) { return new MergeExposures(addr); } 21 | 22 | // 23 | // C++: void process(vector_Mat src, Mat& dst, Mat times, Mat response) 24 | // 25 | 26 | //javadoc: MergeExposures::process(src, dst, times, response) 27 | public void process(List src, Mat dst, Mat times, Mat response) 28 | { 29 | Mat src_mat = Converters.vector_Mat_to_Mat(src); 30 | process_0(nativeObj, src_mat.nativeObj, dst.nativeObj, times.nativeObj, response.nativeObj); 31 | 32 | return; 33 | } 34 | 35 | 36 | @Override 37 | protected void finalize() throws Throwable { 38 | delete(nativeObj); 39 | } 40 | 41 | 42 | 43 | // C++: void process(vector_Mat src, Mat& dst, Mat times, Mat response) 44 | private static native void process_0(long nativeObj, long src_mat_nativeObj, long dst_nativeObj, long times_nativeObj, long response_nativeObj); 45 | 46 | // native support for java finalize() 47 | private static native void delete(long nativeObj); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/java/org/opencv/video/DenseOpticalFlow.java: -------------------------------------------------------------------------------- 1 | // 2 | // This file is auto-generated. Please don't modify it! 3 | // 4 | package org.opencv.video; 5 | 6 | import org.opencv.core.Algorithm; 7 | import org.opencv.core.Mat; 8 | 9 | // C++: class DenseOpticalFlow 10 | //javadoc: DenseOpticalFlow 11 | 12 | public class DenseOpticalFlow extends Algorithm { 13 | 14 | protected DenseOpticalFlow(long addr) { super(addr); } 15 | 16 | // internal usage only 17 | public static DenseOpticalFlow __fromPtr__(long addr) { return new DenseOpticalFlow(addr); } 18 | 19 | // 20 | // C++: void calc(Mat I0, Mat I1, Mat& flow) 21 | // 22 | 23 | //javadoc: DenseOpticalFlow::calc(I0, I1, flow) 24 | public void calc(Mat I0, Mat I1, Mat flow) 25 | { 26 | 27 | calc_0(nativeObj, I0.nativeObj, I1.nativeObj, flow.nativeObj); 28 | 29 | return; 30 | } 31 | 32 | 33 | // 34 | // C++: void collectGarbage() 35 | // 36 | 37 | //javadoc: DenseOpticalFlow::collectGarbage() 38 | public void collectGarbage() 39 | { 40 | 41 | collectGarbage_0(nativeObj); 42 | 43 | return; 44 | } 45 | 46 | 47 | @Override 48 | protected void finalize() throws Throwable { 49 | delete(nativeObj); 50 | } 51 | 52 | 53 | 54 | // C++: void calc(Mat I0, Mat I1, Mat& flow) 55 | private static native void calc_0(long nativeObj, long I0_nativeObj, long I1_nativeObj, long flow_nativeObj); 56 | 57 | // C++: void collectGarbage() 58 | private static native void collectGarbage_0(long nativeObj); 59 | 60 | // native support for java finalize() 61 | private static native void delete(long nativeObj); 62 | 63 | } 64 | -------------------------------------------------------------------------------- /openCVLibrary341/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /rajawali/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /rajawali/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 26 5 | 6 | 7 | 8 | defaultConfig { 9 | minSdkVersion 22 10 | targetSdkVersion 26 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 15 | 16 | } 17 | 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(include: ['*.jar'], dir: 'libs') 29 | implementation 'com.android.support:appcompat-v7:26.1.0' 30 | testImplementation 'junit:junit:4.12' 31 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 32 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 33 | } 34 | -------------------------------------------------------------------------------- /rajawali/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /rajawali/src/androidTest/java/com/example/rajawali/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest 19 | { 20 | @Test 21 | public void useAppContext() 22 | { 23 | // Context of the app under test. 24 | Context appContext = InstrumentationRegistry.getTargetContext(); 25 | 26 | assertEquals("com.example.rajawali.test", appContext.getPackageName()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /rajawali/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/BufferInfo.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali; 14 | 15 | import android.opengl.GLES20; 16 | import com.example.rajawali.Geometry3D.BufferType; 17 | 18 | import java.nio.Buffer; 19 | 20 | public class BufferInfo { 21 | public int rajawaliHandle = -1; 22 | public int bufferHandle = -1; 23 | public BufferType bufferType; 24 | public Buffer buffer; 25 | public int target; 26 | public int byteSize; 27 | public int usage; 28 | public int stride = 0; 29 | public int offset = 0; 30 | public int type = GLES20.GL_FLOAT; 31 | 32 | public BufferInfo() { 33 | this.usage = GLES20.GL_STATIC_DRAW; 34 | } 35 | 36 | public BufferInfo(BufferType bufferType, Buffer buffer) { 37 | this.bufferType = bufferType; 38 | this.buffer = buffer; 39 | } 40 | 41 | public String toString() { 42 | StringBuffer sb = new StringBuffer(); 43 | sb 44 | .append("Key: ").append(rajawaliHandle) 45 | .append(" Handle: ").append(bufferHandle) 46 | .append(" type: ").append(bufferType) 47 | .append(" target: ").append(target) 48 | .append(" byteSize: ").append(byteSize) 49 | .append(" usage: ").append(usage); 50 | return sb.toString(); 51 | } 52 | } -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/Animation3D.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.animation; 14 | 15 | import com.example.rajawali.ATransformable3D; 16 | 17 | public abstract class Animation3D extends Animation { 18 | 19 | protected ATransformable3D mTransformable3D; 20 | 21 | public Animation3D() { 22 | super(); 23 | } 24 | 25 | @Override 26 | public void play() { 27 | if (mTransformable3D == null) 28 | throw new RuntimeException("Transformable object never set, nothing to animate!"); 29 | 30 | super.play(); 31 | } 32 | 33 | /** 34 | * Get the transformable object applied to this animation or null if one is not set. 35 | * 36 | * @return 37 | */ 38 | public ATransformable3D getTransformable3D() { 39 | return mTransformable3D; 40 | } 41 | 42 | /** 43 | * Set the transformable object to be manipulated by the animation. 44 | * 45 | * @param transformable3D 46 | */ 47 | public void setTransformable3D(ATransformable3D transformable3D) { 48 | mTransformable3D = transformable3D; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/IAnimationListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.animation; 14 | 15 | public interface IAnimationListener { 16 | 17 | public void onAnimationEnd(Animation animation); 18 | 19 | public void onAnimationRepeat(Animation animation); 20 | 21 | public void onAnimationStart(Animation animation); 22 | 23 | public void onAnimationUpdate(Animation animation, double interpolatedTime); 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/IPlayable.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.animation; 2 | 3 | 4 | public interface IPlayable { 5 | 6 | /** 7 | * Determine if an IPlayable has ended. 8 | * 9 | * @return {@link Boolean} 10 | */ 11 | public boolean isEnded(); 12 | 13 | /** 14 | * Determine if an IPlayable is currently paused. 15 | * 16 | * @return {@link Boolean} 17 | */ 18 | public boolean isPaused(); 19 | 20 | /** 21 | * Determine if an IPlayable is currently playing. 22 | * 23 | * @return {@link Boolean} 24 | */ 25 | public boolean isPlaying(); 26 | 27 | /** 28 | * Pause an IPlayable. Use {{@link #play()} to continue. 29 | */ 30 | public void pause(); 31 | 32 | /** 33 | * Start an IPlayable for the first time or continue from a paused state. Use {{@link #pause()} to halt an 34 | * animation. 35 | */ 36 | public void play(); 37 | 38 | /** 39 | * Stop the IPlayable and set the elapsed time to zero. 40 | */ 41 | public void reset(); 42 | 43 | } 44 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/Playable.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.animation; 2 | 3 | public abstract class Playable implements IPlayable { 4 | 5 | protected static enum State { 6 | // @formatter:off 7 | PLAYING 8 | , PAUSED 9 | , ENDED; 10 | // @formatter:on 11 | } 12 | 13 | private State mState; 14 | 15 | 16 | public Playable() { 17 | mState = State.PAUSED; 18 | } 19 | 20 | @Override 21 | public boolean isEnded() { 22 | return mState == State.ENDED; 23 | } 24 | 25 | @Override 26 | public boolean isPaused() { 27 | return mState == State.PAUSED; 28 | } 29 | 30 | @Override 31 | public boolean isPlaying() { 32 | return mState == State.PLAYING; 33 | } 34 | 35 | @Override 36 | public void pause() { 37 | mState = State.PAUSED; 38 | } 39 | 40 | @Override 41 | public void play() { 42 | mState = State.PLAYING; 43 | } 44 | 45 | @Override 46 | public void reset() { 47 | mState = State.PAUSED; 48 | } 49 | 50 | protected void setState(State state) { 51 | mState = state; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/ScaleAnimation3D.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.animation; 14 | 15 | import com.example.rajawali.math.vector.Vector3; 16 | 17 | public class ScaleAnimation3D extends Animation3D { 18 | 19 | protected final Vector3 mToScale; 20 | protected final Vector3 mFromScale; 21 | 22 | protected Vector3 mDiffScale; 23 | protected Vector3 mMultipliedScale = new Vector3(); 24 | protected Vector3 mAddedScale = new Vector3(); 25 | 26 | public ScaleAnimation3D(Vector3 toScale) { 27 | super(); 28 | 29 | mToScale = toScale; 30 | mFromScale = new Vector3(); 31 | } 32 | 33 | @Override 34 | protected void eventStart() { 35 | if (isFirstStart()) 36 | mFromScale.setAll(mTransformable3D.getScale()); 37 | 38 | super.eventStart(); 39 | } 40 | 41 | @Override 42 | protected void applyTransformation() { 43 | if (mDiffScale == null) 44 | mDiffScale = Vector3.subtractAndCreate(mToScale, mFromScale); 45 | 46 | mMultipliedScale.scaleAndSet(mDiffScale, mInterpolatedTime); 47 | mAddedScale.addAndSet(mFromScale, mMultipliedScale); 48 | mTransformable3D.setScale(mAddedScale); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/SplineTranslateAnimation3D.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.animation; 2 | 3 | import com.example.rajawali.curves.ICurve3D; 4 | import com.example.rajawali.math.vector.Vector3; 5 | 6 | 7 | public class SplineTranslateAnimation3D extends Animation3D { 8 | 9 | // Place holders for transformation math 10 | protected final Vector3 mTempPoint1; 11 | protected final Vector3 mTempPoint2; 12 | 13 | protected boolean mOrientToPath; 14 | protected ICurve3D mSplinePath; 15 | protected double mLookatDelta; 16 | 17 | 18 | public SplineTranslateAnimation3D(ICurve3D splinePath) { 19 | super(); 20 | 21 | mSplinePath = splinePath; 22 | mTempPoint1 = new Vector3(); 23 | mTempPoint2 = new Vector3(); 24 | } 25 | 26 | @Override 27 | protected void applyTransformation() { 28 | mSplinePath.calculatePoint(mTempPoint1, mInterpolatedTime); 29 | mTransformable3D.setPosition(mTempPoint1); 30 | 31 | if (mOrientToPath) { 32 | // -- calculate tangent 33 | mSplinePath.calculatePoint(mTempPoint2, mInterpolatedTime + mLookatDelta * (mIsReversing ? -1 : 1)); 34 | mTransformable3D.setLookAt(mTempPoint2); 35 | } 36 | } 37 | 38 | public boolean getOrientToPath() { 39 | return mOrientToPath; 40 | } 41 | 42 | public void setOrientToPath(boolean orientToPath) { 43 | if (mSplinePath == null) 44 | throw new RuntimeException("You must set a spline path before orientation to path is possible."); 45 | 46 | mOrientToPath = orientToPath; 47 | mSplinePath.setCalculateTangents(orientToPath); 48 | } 49 | 50 | public void setDurationMilliseconds(long duration) { 51 | super.setDurationMilliseconds(duration); 52 | mLookatDelta = 300.f / duration; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/mesh/IAnimationFrame.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.animation.mesh; 14 | 15 | import com.example.rajawali.Geometry3D; 16 | 17 | public interface IAnimationFrame { 18 | public Geometry3D getGeometry(); 19 | public void setGeometry(Geometry3D geometry); 20 | public String getName(); 21 | public void setName(String name); 22 | } 23 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/animation/mesh/IAnimationSequence.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.animation.mesh; 14 | 15 | public interface IAnimationSequence { 16 | 17 | } 18 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/bounds/IBoundingVolume.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.bounds; 14 | 15 | import com.example.rajawali.Object3D; 16 | import com.example.rajawali.cameras.Camera; 17 | import com.example.rajawali.Geometry3D; 18 | import com.example.rajawali.math.Matrix4; 19 | 20 | public interface IBoundingVolume { 21 | 22 | public static final int DEFAULT_COLOR = 0xFFFFFF00; 23 | 24 | public void calculateBounds(Geometry3D geometry); 25 | public void drawBoundingVolume(Camera camera, final Matrix4 vpMatrix, final Matrix4 projMatrix, 26 | final Matrix4 vMatrix, final Matrix4 mMatrix); 27 | public void transform(Matrix4 matrix); 28 | public boolean intersectsWith(IBoundingVolume boundingVolume); 29 | 30 | public Object3D getVisual(); 31 | public void setBoundingColor(int color); 32 | public int getBoundingColor(); 33 | } 34 | 35 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/cameras/AObjectCamera.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.cameras; 2 | 3 | import com.example.rajawali.Object3D; 4 | import com.example.rajawali.math.vector.Vector3; 5 | 6 | /** 7 | * @author Jared Woolston (jwoolston@idealcorp.com) 8 | */ 9 | public abstract class AObjectCamera extends Camera { 10 | 11 | protected final Vector3 mCameraOffset; // The offset vector for the camera 12 | protected Object3D mLinkedObject; 13 | 14 | public AObjectCamera() { 15 | this(Vector3.ZERO); 16 | } 17 | 18 | public AObjectCamera(Vector3 cameraOffset) { 19 | mCameraOffset = new Vector3(cameraOffset); 20 | } 21 | 22 | public AObjectCamera(Vector3 cameraOffset, Object3D linkedObject) { 23 | mCameraOffset = new Vector3(cameraOffset); 24 | mLinkedObject = linkedObject; 25 | } 26 | 27 | public void setCameraOffset(Vector3 offset) { 28 | mCameraOffset.setAll(offset); 29 | } 30 | 31 | public Vector3 getCameraOffset() { 32 | return mCameraOffset; 33 | } 34 | 35 | public void setLinkedObject(Object3D object) { 36 | mLinkedObject = object; 37 | } 38 | 39 | public Object3D getLinkedObject() { 40 | return mLinkedObject; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/cameras/Camera2D.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.cameras; 14 | 15 | public class Camera2D extends Camera { 16 | private double mWidth, mHeight; 17 | public Camera2D() { 18 | super(); 19 | mWidth = 1.0f; 20 | mHeight = 1.0f; 21 | setZ(4.0f); 22 | setLookAt(0, 0, 0); 23 | } 24 | 25 | public void setProjectionMatrix(int widthNotUsed, int heightNotUsed) { 26 | mProjMatrix.setToOrthographic((-mWidth/2.0)+mPosition.x, (mWidth/2.0)+mPosition.x, (-mHeight/2.0)+mPosition.y, (mHeight/2.0)+mPosition.y, mNearPlane, mFarPlane); 27 | } 28 | 29 | public void setWidth(double width) { 30 | this.mWidth = width; 31 | } 32 | 33 | public double getWidth() { 34 | return mWidth; 35 | } 36 | 37 | public void setHeight(double height) { 38 | this.mHeight = height; 39 | } 40 | 41 | public double getHeight() { 42 | return mHeight; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/cameras/ChaseCamera.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.cameras; 14 | 15 | import com.example.rajawali.Object3D; 16 | import com.example.rajawali.math.Matrix4; 17 | import com.example.rajawali.math.vector.Vector3; 18 | 19 | public class ChaseCamera extends AObjectCamera { 20 | 21 | public ChaseCamera() { 22 | this(new Vector3(0, 3, 16), null); 23 | } 24 | 25 | public ChaseCamera(Vector3 cameraOffset) { 26 | this(cameraOffset, null); 27 | } 28 | 29 | public ChaseCamera(Vector3 cameraOffset, Object3D objectToChase) { 30 | super(cameraOffset, objectToChase); 31 | } 32 | 33 | @Override 34 | public Matrix4 getViewMatrix() { 35 | mPosition.addAndSet(mLinkedObject.getWorldPosition(), mCameraOffset); 36 | setLookAt(mLinkedObject.getWorldPosition()); 37 | onRecalculateModelMatrix(null); 38 | return super.getViewMatrix(); 39 | } 40 | 41 | @Override 42 | public void setLinkedObject(Object3D object) { 43 | super.setLinkedObject(object); 44 | enableLookAt(); 45 | } 46 | } -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/cameras/FirstPersonCamera.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.cameras; 2 | 3 | import com.example.rajawali.Object3D; 4 | import com.example.rajawali.math.Matrix4; 5 | import com.example.rajawali.math.vector.Vector3; 6 | 7 | /** 8 | * @author Jared Woolston (jwoolston@tenkiv.com) 9 | */ 10 | public class FirstPersonCamera extends AObjectCamera { 11 | 12 | public FirstPersonCamera() { 13 | super(); 14 | } 15 | 16 | public FirstPersonCamera(Vector3 cameraOffset) { 17 | this(cameraOffset, null); 18 | } 19 | 20 | public FirstPersonCamera(Vector3 cameraOffset, Object3D object) { 21 | super(cameraOffset, object); 22 | } 23 | 24 | @Override 25 | public Matrix4 getViewMatrix() { 26 | mPosition.addAndSet(mLinkedObject.getWorldPosition(), mCameraOffset); 27 | mLinkedObject.getOrientation(mOrientation); 28 | onRecalculateModelMatrix(null); 29 | return super.getViewMatrix(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/cameras/OrthographicCamera.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.cameras; 14 | 15 | public class OrthographicCamera extends Camera { 16 | private double mZoom = 1; 17 | 18 | public OrthographicCamera() 19 | { 20 | setZ(4.0f); 21 | } 22 | 23 | public void setProjectionMatrix(int width, int height) 24 | { 25 | double aspect = (double) width / (double) height; 26 | synchronized (mFrustumLock) { 27 | mProjMatrix.setToOrthographic(-aspect, aspect, -1, 1, mNearPlane, mFarPlane); 28 | mProjMatrix.setCoordinateZoom(mZoom); 29 | } 30 | } 31 | 32 | public void setZoom(double zoom) 33 | { 34 | synchronized (mFrustumLock) { 35 | mZoom = zoom; 36 | mProjMatrix.setCoordinateZoom(zoom); 37 | } 38 | } 39 | 40 | public double getZoom() 41 | { 42 | synchronized (mFrustumLock) { 43 | return mZoom; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/curves/ICurve3D.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.curves; 14 | 15 | import com.example.rajawali.math.vector.Vector3; 16 | 17 | public interface ICurve3D { 18 | 19 | public void calculatePoint(Vector3 result, double t); 20 | 21 | public Vector3 getCurrentTangent(); 22 | 23 | public void setCalculateTangents(boolean calculateTangents); 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/debug/DebugObject3D.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.debug; 2 | 3 | import android.graphics.Color; 4 | 5 | import com.example.rajawali.primitives.Line3D; 6 | import com.example.rajawali.renderer.Renderer; 7 | 8 | /** 9 | * @author dennis.ippel 10 | */ 11 | public class DebugObject3D extends Line3D { 12 | protected Renderer mRenderer; 13 | 14 | public DebugObject3D() { 15 | this(Color.YELLOW, 1); 16 | } 17 | 18 | public DebugObject3D(int color, int lineThickness) { 19 | setColor(color); 20 | mLineThickness = lineThickness; 21 | } 22 | 23 | public void setRenderer(Renderer renderer) { 24 | mRenderer = renderer; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/debug/DebugVisualizer.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.debug; 2 | 3 | import com.example.rajawali.Object3D; 4 | import com.example.rajawali.renderer.Renderer; 5 | 6 | /** 7 | * @author dennis.ippel 8 | */ 9 | public class DebugVisualizer extends Object3D { 10 | private Renderer mRenderer; 11 | 12 | public DebugVisualizer(Renderer renderer) { 13 | mRenderer = renderer; 14 | } 15 | 16 | public void addChild(DebugObject3D child) { 17 | super.addChild(child); 18 | child.setRenderer(mRenderer); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/debug/GridFloor.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.debug; 2 | 3 | import android.graphics.Color; 4 | import android.opengl.GLES20; 5 | 6 | import com.example.rajawali.materials.Material; 7 | import com.example.rajawali.math.vector.Vector3; 8 | 9 | import java.util.Stack; 10 | 11 | public class GridFloor extends DebugObject3D { 12 | private float mSize; 13 | private int mNumLines; 14 | 15 | public GridFloor() { 16 | this(10); 17 | } 18 | 19 | public GridFloor(float size) { 20 | this(size, Color.WHITE, 1, 20); 21 | } 22 | 23 | public GridFloor(float size, int color, int lineThickness, int numLines) { 24 | super(color, lineThickness); 25 | mSize = size; 26 | mNumLines = numLines; 27 | createGridFloor(); 28 | } 29 | 30 | private void createGridFloor() { 31 | final float sizeHalf = mSize * 0.5f; 32 | final float spacing = mSize / mNumLines; 33 | 34 | mPoints = new Stack<>(); 35 | 36 | for(float z = -sizeHalf; z <= sizeHalf; z += spacing) { 37 | mPoints.add(new Vector3(-sizeHalf, 0, z)); 38 | mPoints.add(new Vector3(sizeHalf, 0, z)); 39 | } 40 | 41 | for(float x = -sizeHalf; x <= sizeHalf; x += spacing) { 42 | mPoints.add(new Vector3(x, 0, -sizeHalf)); 43 | mPoints.add(new Vector3(x, 0, sizeHalf)); 44 | } 45 | 46 | setMaterial(new Material()); 47 | init(true); 48 | setDrawingMode(GLES20.GL_LINES); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/lights/PointLight.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.lights; 14 | 15 | public class PointLight extends ALight { 16 | protected float[] mAttenuation; 17 | 18 | public PointLight() { 19 | super(POINT_LIGHT); 20 | mAttenuation = new float[4]; 21 | setAttenuation(50, 1, .09f, .032f); 22 | } 23 | 24 | public void setAttenuation(float range, float constant, float linear, float quadratic) { 25 | mAttenuation[0] = range; 26 | mAttenuation[1] = constant; 27 | mAttenuation[2] = linear; 28 | mAttenuation[3] = quadratic; 29 | } 30 | 31 | public float[] getAttenuation() { 32 | return mAttenuation; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/IAnimatedMeshLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.loader; 14 | 15 | import com.example.rajawali.animation.mesh.AAnimationObject3D; 16 | 17 | public interface IAnimatedMeshLoader extends ILoader { 18 | public AAnimationObject3D getParsedAnimationObject(); 19 | } 20 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/IAnimationSequenceLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.loader; 14 | 15 | import com.example.rajawali.animation.mesh.IAnimationSequence; 16 | 17 | public interface IAnimationSequenceLoader extends ILoader { 18 | public IAnimationSequence getParsedAnimationSequence(); 19 | } 20 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/ILoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.loader; 14 | 15 | public interface ILoader { 16 | 17 | public ILoader parse() throws ParsingException; 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/IMeshLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.loader; 14 | 15 | import com.example.rajawali.Object3D; 16 | 17 | public interface IMeshLoader extends ILoader { 18 | public Object3D getParsedObject(); 19 | } 20 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/IParser.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader; 2 | 3 | public interface IParser { 4 | 5 | public IParser parse() throws ParsingException; 6 | } 7 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/ParsingException.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader; 2 | 3 | /** 4 | * 5 | * @author Ian Thomas (toxicbakery@gmail.com) 6 | * 7 | */ 8 | public class ParsingException extends Exception { 9 | 10 | private static final long serialVersionUID = 3732833696361901287L; 11 | 12 | public ParsingException() { 13 | super(); 14 | } 15 | 16 | public ParsingException(final String msg) { 17 | super(msg); 18 | } 19 | 20 | public ParsingException(final Throwable throwable) { 21 | super(throwable); 22 | } 23 | 24 | public ParsingException(final String msg, final Throwable throwable) { 25 | super(msg, throwable); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/async/IAsyncLoaderCallback.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.async; 2 | 3 | import com.example.rajawali.loader.ALoader; 4 | import com.example.rajawali.scene.Scene; 5 | 6 | /** 7 | * Interface for defining a asynchronous loader callback. This will be provided 8 | * to the {@link Scene#loadModel(ALoader, IAsyncLoaderCallback, int)} and 9 | * related calls. 10 | * 11 | * @author Jared Woolston (jwoolston@idealcorp.com) 12 | * @author Ian Thomas (toxicbakery@gmail.com) 13 | */ 14 | public interface IAsyncLoaderCallback { 15 | 16 | /** 17 | * Callback listener indicating the returned loader successfully parsed the model resource. 18 | * 19 | * @param loader 20 | */ 21 | public void onModelLoadComplete(ALoader loader); 22 | 23 | /** 24 | * Callback listener indicating the returned loader failed to parse the model resource. 25 | * 26 | * @param loader 27 | */ 28 | public void onModelLoadFailed(ALoader loader); 29 | } 30 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/ABaseObjectBlockParser.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.Object3D; 4 | 5 | public abstract class ABaseObjectBlockParser extends ABlockParser { 6 | 7 | public abstract Object3D getBaseObject3D(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/ABlockLoader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.loader.awd; 14 | 15 | import java.io.IOException; 16 | 17 | import com.example.rajawali.Object3D; 18 | import com.example.rajawali.loader.LoaderAWD; 19 | import com.example.rajawali.loader.LoaderAWD.IBlockParser; 20 | import com.example.rajawali.util.LittleEndianDataInputStream; 21 | 22 | /** 23 | * Base class for parsing blocks. Blocks are instantiated by the {@link LoaderAWD} directly and are not intended for any 24 | * other use case. 25 | * 26 | * @author Ian Thomas (toxicbakery@gmail.com) 27 | * 28 | */ 29 | public abstract class ABlockLoader implements IBlockParser { 30 | 31 | public Object3D getBaseObject3D() { 32 | return null; 33 | } 34 | 35 | protected final void readProperties(LittleEndianDataInputStream dis) throws IOException { 36 | // Determine the length of the properties 37 | final long propsLength = dis.readUnsignedInt(); 38 | 39 | // TODO need to figure out what uses and needs this so I can better understand implementation 40 | 41 | // skip properties until an implementation can be determined 42 | dis.skip(propsLength); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/AExportableBlockParser.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | public abstract class AExportableBlockParser extends ABaseObjectBlockParser { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/ATextureBlockParser.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.materials.Material; 4 | 5 | public abstract class ATextureBlockParser extends ABlockParser { 6 | 7 | public abstract Material getMaterial(); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockCamera.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockCamera extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockCommand.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockCommand extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockContainer.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.Object3D; 4 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 5 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockContainer extends ABaseObjectBlockParser { 13 | 14 | protected Object3D mBaseObject; 15 | protected SceneGraphBlock mSceneGraphBlock; 16 | protected String mLookupName; 17 | 18 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 19 | 20 | mBaseObject = new Object3D(); 21 | 22 | mSceneGraphBlock = new SceneGraphBlock(); 23 | mSceneGraphBlock.readGraphData(blockHeader, dis); 24 | 25 | // TODO need to 'getAssetByID' which appears to be the implemented method for referencing other parsed objects 26 | 27 | // Container properties did not exist until 2.1, as such the container will be default 0, 0, 0 28 | if (blockHeader.awdVersion == 2 && blockHeader.awdRevision == 1) { 29 | // FIXME will have to implement this 30 | dis.readProperties(); 31 | } else { 32 | dis.readProperties(); 33 | } 34 | 35 | mBaseObject.setVisible(dis.readByte() != 0); 36 | mBaseObject.isContainer(true); 37 | } 38 | 39 | @Override 40 | public Object3D getBaseObject3D() { 41 | return mBaseObject; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockCubeTexture.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockCubeTexture extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockLight.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockLight extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockLightPicker.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockLightPicker extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockMeshPose.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockMeshPose extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockMeshPoseAnimation.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockMeshPoseAnimation extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockNamespace.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockNamespace extends ABlockParser { 13 | 14 | protected int mNamespace; 15 | protected String mUri; 16 | 17 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 18 | throw new NotImplementedParsingException(); 19 | /*final AWDLittleEndianDataInputStream awdDis = (AWDLittleEndianDataInputStream) dis; 20 | final long startPosition = awdDis.getPosition(); 21 | 22 | mNamespace = dis.readUnsignedByte(); 23 | mUri = awdDis.readVarString(); 24 | 25 | awdDis.skip(blockHeader.dataLength - (awdDis.getPosition() - startPosition));*/ 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockScene.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockScene extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockShadowMethod.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockShadowMethod extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockSharedMethod.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockSharedMethod extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockSkybox.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockSkybox extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockTextureProjector.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockTextureProjector extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/BlockUVAnimation.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.awd.exceptions.NotImplementedParsingException; 6 | 7 | /** 8 | * 9 | * @author Ian Thomas (toxicbakery@gmail.com) 10 | * 11 | */ 12 | public class BlockUVAnimation extends ABlockParser { 13 | 14 | public void parseBlock(AWDLittleEndianDataInputStream dis, BlockHeader blockHeader) throws Exception { 15 | throw new NotImplementedParsingException(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/SceneGraphBlock.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd; 2 | 3 | import com.example.rajawali.loader.LoaderAWD.AWDLittleEndianDataInputStream; 4 | import com.example.rajawali.loader.LoaderAWD.BlockHeader; 5 | import com.example.rajawali.loader.ParsingException; 6 | import com.example.rajawali.math.Matrix4; 7 | import com.example.rajawali.util.RajLog; 8 | 9 | import java.io.IOException; 10 | 11 | /** 12 | * @author Ian Thomas (toxicbakery@gmail.com) 13 | */ 14 | public class SceneGraphBlock { 15 | 16 | public final Matrix4 transformMatrix = new Matrix4(); 17 | 18 | public int parentID; 19 | public String lookupName; 20 | 21 | public void readGraphData(BlockHeader blockHeader, AWDLittleEndianDataInputStream awddis) throws IOException, 22 | ParsingException { 23 | // parent id, reference to previously defined object 24 | parentID = awddis.readInt(); 25 | 26 | // Transformation matrix 27 | awddis.readMatrix3D(transformMatrix, blockHeader.globalPrecisionMatrix, true); 28 | 29 | // Lookup name 30 | lookupName = awddis.readVarString(); 31 | if (RajLog.isDebugEnabled()) 32 | RajLog.d(" Lookup Name: " + lookupName); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/exceptions/NotImplementedParsingException.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd.exceptions; 2 | 3 | import com.example.rajawali.loader.ParsingException; 4 | 5 | public class NotImplementedParsingException extends ParsingException { 6 | 7 | private static final long serialVersionUID = -7651634138554368677L; 8 | 9 | public NotImplementedParsingException() { 10 | super("Not implemented."); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/loader/awd/exceptions/NotParsableException.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.loader.awd.exceptions; 2 | 3 | import com.example.rajawali.loader.ParsingException; 4 | 5 | public class NotParsableException extends ParsingException { 6 | 7 | private static final long serialVersionUID = -7992755185369786759L; 8 | 9 | public NotParsableException(String msg) { 10 | super(msg); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/methods/IDiffuseMethod.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.methods; 14 | 15 | import java.util.List; 16 | 17 | import com.example.rajawali.lights.ALight; 18 | import com.example.rajawali.materials.Material; 19 | import com.example.rajawali.materials.shaders.IShaderFragment; 20 | 21 | 22 | public interface IDiffuseMethod { 23 | /** 24 | * Returns the vertex shader fragment. This should only be used by the {@link Material} class. 25 | * @return 26 | */ 27 | IShaderFragment getVertexShaderFragment(); 28 | /** 29 | * Returns the fragmetn shader fragment. This should only be used by the {@link Material} class. 30 | * @return 31 | */ 32 | IShaderFragment getFragmentShaderFragment(); 33 | void setLights(List lights); 34 | } 35 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/methods/ISpecularMethod.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.methods; 14 | 15 | import java.util.List; 16 | 17 | import com.example.rajawali.lights.ALight; 18 | import com.example.rajawali.materials.Material; 19 | import com.example.rajawali.materials.shaders.IShaderFragment; 20 | import com.example.rajawali.materials.textures.ATexture; 21 | 22 | 23 | public interface ISpecularMethod { 24 | /** 25 | * Returns the vertex shader fragment. This should only be used by the {@link Material} class. 26 | * @return 27 | */ 28 | IShaderFragment getVertexShaderFragment(); 29 | /** 30 | * Returns the fragment shader fragment. This should only be used by the {@link Material} class. 31 | * @return 32 | */ 33 | IShaderFragment getFragmentShaderFragment(); 34 | void setLights(List lights); 35 | void setTextures(List textures); 36 | } 37 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/shaders/fragments/diffuse/LambertVertexShaderFragment.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.shaders.fragments.diffuse; 14 | 15 | import com.example.rajawali.materials.Material.PluginInsertLocation; 16 | import com.example.rajawali.materials.shaders.AShader; 17 | import com.example.rajawali.materials.shaders.IShaderFragment; 18 | 19 | 20 | public class LambertVertexShaderFragment extends AShader implements IShaderFragment { 21 | public final static String SHADER_ID = "LAMBERT_VERTEX"; 22 | 23 | public LambertVertexShaderFragment() { 24 | super(ShaderType.VERTEX_SHADER_FRAGMENT); 25 | } 26 | 27 | public String getShaderId() { 28 | return SHADER_ID; 29 | } 30 | 31 | @Override 32 | public void bindTextures(int nextIndex) {} 33 | @Override 34 | public void unbindTextures() {} 35 | 36 | @Override 37 | public PluginInsertLocation getInsertLocation() { 38 | return PluginInsertLocation.IGNORE; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/textures/NormalMapTexture.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.textures; 14 | 15 | import android.graphics.Bitmap; 16 | 17 | 18 | public class NormalMapTexture extends ASingleTexture { 19 | public NormalMapTexture(NormalMapTexture other) 20 | { 21 | super(other); 22 | } 23 | 24 | public NormalMapTexture(String textureName) 25 | { 26 | super(TextureType.NORMAL, textureName); 27 | } 28 | 29 | public NormalMapTexture(String textureName, int resourceId) 30 | { 31 | super(TextureType.NORMAL, textureName); 32 | setResourceId(resourceId); 33 | } 34 | 35 | public NormalMapTexture(String textureName, Bitmap bitmap) 36 | { 37 | super(TextureType.NORMAL, textureName, bitmap); 38 | } 39 | 40 | public NormalMapTexture(String textureName, ACompressedTexture compressedTexture) 41 | { 42 | super(TextureType.NORMAL, textureName, compressedTexture); 43 | } 44 | 45 | public NormalMapTexture clone() { 46 | return new NormalMapTexture(this); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/textures/SpecularMapTexture.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.textures; 14 | 15 | import android.graphics.Bitmap; 16 | 17 | 18 | public class SpecularMapTexture extends ASingleTexture { 19 | public SpecularMapTexture(SpecularMapTexture other) 20 | { 21 | super(other); 22 | } 23 | 24 | public SpecularMapTexture(String textureName) 25 | { 26 | super(TextureType.SPECULAR, textureName); 27 | } 28 | 29 | public SpecularMapTexture(String textureName, int resourceId) 30 | { 31 | super(TextureType.SPECULAR, textureName); 32 | setResourceId(resourceId); 33 | } 34 | 35 | public SpecularMapTexture(String textureName, Bitmap bitmap) 36 | { 37 | super(TextureType.SPECULAR, textureName, bitmap); 38 | } 39 | 40 | public SpecularMapTexture(String textureName, ACompressedTexture compressedTexture) 41 | { 42 | super(TextureType.SPECULAR, textureName, compressedTexture); 43 | } 44 | 45 | public SpecularMapTexture clone() { 46 | return new SpecularMapTexture(this); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/materials/textures/Texture.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.materials.textures; 14 | 15 | import android.graphics.Bitmap; 16 | 17 | 18 | public class Texture extends ASingleTexture { 19 | public Texture(Texture other) 20 | { 21 | super(other); 22 | } 23 | 24 | public Texture(String textureName) 25 | { 26 | super(TextureType.DIFFUSE, textureName); 27 | } 28 | 29 | public Texture(String textureName, int resourceId) 30 | { 31 | super(TextureType.DIFFUSE, textureName); 32 | setResourceId(resourceId); 33 | } 34 | 35 | public Texture(String textureName, Bitmap bitmap) 36 | { 37 | super(TextureType.DIFFUSE, textureName, bitmap); 38 | } 39 | 40 | public Texture(String textureName, TextureAtlas atlas) 41 | { 42 | super(TextureType.DIFFUSE, textureName, atlas.getTileNamed(textureName).getPage()); 43 | } 44 | public Texture(String textureName, ACompressedTexture compressedTexture) 45 | { 46 | super(TextureType.DIFFUSE, textureName, compressedTexture); 47 | } 48 | 49 | public Texture clone() { 50 | return new Texture(this); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/math/vector/Vector2.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.math.vector; 14 | 15 | public class Vector2 { 16 | private double mX; 17 | private double mY; 18 | 19 | public Vector2() { 20 | 21 | } 22 | 23 | public Vector2(double x, double y) { 24 | mX = x; 25 | mY = y; 26 | } 27 | 28 | public void setX(double x) 29 | { 30 | mX = x; 31 | } 32 | 33 | public double getX() { 34 | return mX; 35 | } 36 | 37 | public void setY(double y) 38 | { 39 | mY = y; 40 | } 41 | 42 | public double getY() 43 | { 44 | return mY; 45 | } 46 | 47 | public void setAll(double x, double y) 48 | { 49 | mX = x; 50 | mY = y; 51 | } 52 | 53 | public Vector2(String[] vals) { 54 | mX = Float.parseFloat(vals[0]); 55 | mY = Float.parseFloat(vals[1]); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/IPass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing; 14 | 15 | import com.example.rajawali.materials.Material; 16 | import com.example.rajawali.primitives.ScreenQuad; 17 | import com.example.rajawali.renderer.Renderer; 18 | import com.example.rajawali.renderer.RenderTarget; 19 | import com.example.rajawali.scene.Scene; 20 | 21 | 22 | public interface IPass extends IPostProcessingComponent { 23 | public static enum PassType { 24 | RENDER, DEPTH, EFFECT, MASK, CLEAR, MULTIPASS 25 | }; 26 | 27 | boolean isClear(); 28 | boolean needsSwap(); 29 | void render(Scene scene, Renderer renderer, ScreenQuad screenQuad, RenderTarget writeTarget, RenderTarget readTarget, long ellapsedTime, double deltaTime); 30 | PassType getPassType(); 31 | void setMaterial(Material material); 32 | void setRenderToScreen(boolean renderToScreen); 33 | boolean getRenderToScreen(); 34 | public void setWidth(int width); 35 | public int getWidth(); 36 | public void setHeight(int height); 37 | public int getHeight(); 38 | public void setSize(int width, int height); 39 | } 40 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/IPostProcessingComponent.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing; 14 | 15 | 16 | public interface IPostProcessingComponent { 17 | public static enum PostProcessingComponentType { 18 | PASS, EFFECT, MULTIPASS 19 | }; 20 | 21 | boolean isEnabled(); 22 | PostProcessingComponentType getType(); 23 | } 24 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/IPostProcessingEffect.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing; 14 | 15 | import java.util.List; 16 | 17 | import com.example.rajawali.renderer.Renderer; 18 | 19 | 20 | public interface IPostProcessingEffect extends IPostProcessingComponent { 21 | void initialize(Renderer renderer); 22 | void removePass(IPass pass); 23 | void removeAllPasses(); 24 | IPass addPass(IPass pass); 25 | List getPasses(); 26 | void setRenderToScreen(boolean renderToScreen); 27 | } 28 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/passes/ClearMaskPass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing.passes; 14 | 15 | import android.opengl.GLES20; 16 | 17 | import com.example.rajawali.postprocessing.APass; 18 | import com.example.rajawali.primitives.ScreenQuad; 19 | import com.example.rajawali.renderer.Renderer; 20 | import com.example.rajawali.renderer.RenderTarget; 21 | import com.example.rajawali.scene.Scene; 22 | 23 | /** 24 | * Disables stencil test for previously masked rendering passes so that 25 | * next render passes are not masked. 26 | * @author andrewjo 27 | */ 28 | public class ClearMaskPass extends APass { 29 | public ClearMaskPass() { 30 | mEnabled = true; 31 | } 32 | 33 | @Override 34 | public void render(Scene scene, Renderer renderer, ScreenQuad screenQuad, RenderTarget writeBuffer, RenderTarget readBuffer, long ellapsedTime, double deltaTime) { 35 | // Disable stencil test so next rendering pass won't be masked. 36 | GLES20.glDisable(GLES20.GL_STENCIL_TEST); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/passes/ColorThresholdPass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing.passes; 14 | 15 | import android.graphics.Color; 16 | import com.example.rajawali.R; 17 | 18 | 19 | public class ColorThresholdPass extends EffectPass { 20 | private float[] mLowerThreshold; 21 | private float[] mUpperThreshold; 22 | 23 | public ColorThresholdPass(int lowerThreshold, int upperThreshold) { 24 | super(); 25 | createMaterial(R.raw.minimal_vertex_shader, R.raw.color_threshold_shader); 26 | mLowerThreshold = new float[] { 27 | Color.red(lowerThreshold) / 255.f, 28 | Color.green(lowerThreshold) / 255.f, 29 | Color.blue(lowerThreshold) / 255.f 30 | }; 31 | mUpperThreshold = new float[] { 32 | Color.red(upperThreshold) / 255.f, 33 | Color.green(upperThreshold) / 255.f, 34 | Color.blue(upperThreshold) / 255.f 35 | }; 36 | } 37 | 38 | public void setShaderParams() 39 | { 40 | super.setShaderParams(); 41 | mFragmentShader.setUniform3fv("uLowerThreshold", mLowerThreshold); 42 | mFragmentShader.setUniform3fv("uUpperThreshold", mUpperThreshold); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/passes/DepthPass.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.postprocessing.passes; 2 | 3 | import android.opengl.GLES20; 4 | 5 | import com.example.rajawali.cameras.Camera; 6 | import com.example.rajawali.materials.Material; 7 | import com.example.rajawali.materials.plugins.DepthMaterialPlugin; 8 | import com.example.rajawali.postprocessing.APass; 9 | import com.example.rajawali.primitives.ScreenQuad; 10 | import com.example.rajawali.renderer.Renderer; 11 | import com.example.rajawali.renderer.RenderTarget; 12 | import com.example.rajawali.scene.Scene; 13 | 14 | 15 | public class DepthPass extends APass { 16 | protected Scene mScene; 17 | protected Camera mCamera; 18 | protected Camera mOldCamera; 19 | protected DepthMaterialPlugin mDepthPlugin; 20 | 21 | public DepthPass(Scene scene, Camera camera) { 22 | mPassType = PassType.DEPTH; 23 | mScene = scene; 24 | mCamera = camera; 25 | 26 | mEnabled = true; 27 | mClear = true; 28 | mNeedsSwap = true; 29 | 30 | Material mat = new Material(); 31 | mDepthPlugin = new DepthMaterialPlugin(); 32 | mat.addPlugin(mDepthPlugin); 33 | setMaterial(mat); 34 | } 35 | 36 | @Override 37 | public void render(Scene scene, Renderer renderer, ScreenQuad screenQuad, RenderTarget writeTarget, 38 | RenderTarget readTarget, long ellapsedTime, double deltaTime) { 39 | GLES20.glClearColor(0, 0, 0, 1); 40 | mDepthPlugin.setFarPlane((float)mCamera.getFarPlane()); 41 | mOldCamera = mScene.getCamera(); 42 | mScene.switchCamera(mCamera); 43 | mScene.render(ellapsedTime, deltaTime, writeTarget, mMaterial); 44 | mScene.switchCamera(mOldCamera); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/passes/GreyScalePass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing.passes; 14 | 15 | import com.example.rajawali.R; 16 | 17 | 18 | public class GreyScalePass extends EffectPass { 19 | public GreyScalePass() 20 | { 21 | super(); 22 | createMaterial(R.raw.minimal_vertex_shader, R.raw.grey_scale_fragment_shader); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/postprocessing/passes/SepiaPass.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.postprocessing.passes; 14 | 15 | import com.example.rajawali.R; 16 | 17 | 18 | public class SepiaPass extends EffectPass { 19 | public SepiaPass() 20 | { 21 | super(); 22 | createMaterial(R.raw.minimal_vertex_shader, R.raw.sepia_fragment_shader); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/primitives/PointSprite.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.primitives; 2 | 3 | import com.example.rajawali.cameras.Camera; 4 | import com.example.rajawali.materials.Material; 5 | import com.example.rajawali.math.Matrix4; 6 | import com.example.rajawali.math.vector.Vector3.Axis; 7 | 8 | 9 | public class PointSprite extends Plane { 10 | public PointSprite(float width, float height) { 11 | super(width, height, 1, 1, Axis.Z); 12 | } 13 | 14 | public PointSprite(float width, float height, boolean createVBOs) { 15 | super(width, height, 1, 1, Axis.Z, true, false, 1, createVBOs); 16 | } 17 | 18 | @Override 19 | public void render(Camera camera, final Matrix4 vpMatrix, final Matrix4 projMatrix, final Matrix4 vMatrix, 20 | final Matrix4 parentMatrix, Material sceneMaterial) { 21 | setLookAt(camera.getPosition()); 22 | super.render(camera, vpMatrix, projMatrix, vMatrix, parentMatrix, sceneMaterial); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/renderer/AFrameTask.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.renderer; 2 | 3 | import com.example.rajawali.util.RajLog; 4 | 5 | /** 6 | * @author Jared Woolston (jwoolston@tenkiv.com) 7 | */ 8 | public abstract class AFrameTask implements Runnable { 9 | 10 | protected abstract void doTask(); 11 | 12 | @Override 13 | public void run() { 14 | try { 15 | doTask(); 16 | } catch (Exception e) { 17 | RajLog.e("Execution Failed: " + e.getMessage()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/renderer/NullRenderer.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.renderer; 2 | 3 | import android.content.Context; 4 | import android.graphics.SurfaceTexture; 5 | import android.view.MotionEvent; 6 | 7 | import com.example.rajawali.util.RajLog; 8 | 9 | /** 10 | * Minimal {@link Renderer} implementation which will cause no rendering to occur. 11 | * 12 | * @author Ian Thomas (toxicbakery@gmail.com) 13 | */ 14 | public final class NullRenderer extends Renderer { 15 | 16 | public NullRenderer(Context context) { 17 | super(context); 18 | RajLog.w(this + ": Fragment created without renderer!"); 19 | } 20 | 21 | @Override 22 | public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) { 23 | 24 | } 25 | 26 | @Override 27 | public void onTouchEvent(MotionEvent event) { 28 | 29 | } 30 | 31 | @Override 32 | protected void initScene() { 33 | 34 | } 35 | 36 | @Override 37 | public void onRenderSurfaceDestroyed(SurfaceTexture surface) { 38 | super.onRenderSurfaceDestroyed(surface); 39 | stopRendering(); 40 | } 41 | } -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/renderer/plugins/IRendererPlugin.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.renderer.plugins; 14 | 15 | 16 | /** 17 | * Plugin interface for the Renderer for applying scenewide rendering 18 | * postprocessing effects. 19 | * @author Andrew Jo 20 | */ 21 | public interface IRendererPlugin { 22 | public void destroy(); 23 | 24 | public void reload(); 25 | 26 | /** 27 | * Called by the Renderer. You are responsible for settings up all 28 | * the necessary GL calls here to achieve your custom effect. You should always call 29 | * through to the super method to ensure any geometry is handled properly. 30 | */ 31 | public void render(); 32 | } -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/terrain/Terrain.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.terrain; 14 | 15 | import com.example.rajawali.Object3D; 16 | 17 | /** 18 | * Base Terrain class for future use 19 | * 20 | * @author Ivan Battistella (info@fenicesoftware.com) 21 | * 22 | */ 23 | public class Terrain extends Object3D { 24 | 25 | } 26 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/util/IObjectPicker.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.util; 14 | 15 | public interface IObjectPicker { 16 | public void setOnObjectPickedListener(OnObjectPickedListener objectPickedListener); 17 | public void getObjectAt(float x, float y); 18 | } 19 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/util/OnFPSUpdateListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.util; 14 | 15 | public interface OnFPSUpdateListener { 16 | void onFPSUpdate(double fps); 17 | } 18 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/util/OnObjectPickedListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.util; 14 | import android.support.annotation.NonNull; 15 | import com.example.rajawali.Object3D; 16 | 17 | public interface OnObjectPickedListener { 18 | 19 | /** 20 | * Called when an object has been picked successfully. 21 | * 22 | * @param object {@link Object3D} The picked object. 23 | */ 24 | void onObjectPicked(@NonNull Object3D object); 25 | 26 | /** 27 | * Called when no object was detected during picking. 28 | */ 29 | void onNoObjectPicked(); 30 | } 31 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/util/RayPicker.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.util; 14 | 15 | import com.example.rajawali.math.vector.Vector3; 16 | import com.example.rajawali.renderer.Renderer; 17 | import com.example.rajawali.visitors.RayPickingVisitor; 18 | 19 | public class RayPicker implements IObjectPicker { 20 | private Renderer mRenderer; 21 | private OnObjectPickedListener mObjectPickedListener; 22 | 23 | public RayPicker(Renderer renderer) { 24 | mRenderer = renderer; 25 | } 26 | 27 | public void setOnObjectPickedListener(OnObjectPickedListener objectPickedListener) { 28 | mObjectPickedListener = objectPickedListener; 29 | } 30 | 31 | public void getObjectAt(float x, float y) { 32 | Vector3 pointNear = mRenderer.unProject(x, y, 0); 33 | Vector3 pointFar = mRenderer.unProject(x, y, 1); 34 | 35 | RayPickingVisitor visitor = new RayPickingVisitor(pointNear, pointFar); 36 | //mRenderer.accept(visitor); 37 | 38 | // TODO: ray-triangle intersection test 39 | 40 | mObjectPickedListener.onObjectPicked(visitor.getPickedObject()); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/view/IDisplay.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali.view; 2 | 3 | import android.opengl.GLSurfaceView; 4 | import android.widget.FrameLayout; 5 | 6 | import com.example.rajawali.renderer.ISurfaceRenderer; 7 | 8 | /** 9 | * Interface defining some common methods which all Rajawali displays methods must implement. 10 | * 11 | * @author Jared Woolston (jwoolston@idealcorp.com) 12 | */ 13 | public interface IDisplay { 14 | 15 | /** 16 | * Creates the {@link ISurfaceRenderer} to use in this display. Optionally null can be returned by displays 17 | * that do not intend to display a rendered scene. Returning null will cause a warning to be 18 | * logged to the console in the event null is in error. 19 | * 20 | * @return {@link ISurfaceRenderer} The renderer which will be assigned to the {@link GLSurfaceView} in this display, or null. 21 | */ 22 | ISurfaceRenderer createRenderer(); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/visitors/INode.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.visitors; 14 | 15 | public interface INode { 16 | public void accept(INodeVisitor visitor); 17 | } 18 | -------------------------------------------------------------------------------- /rajawali/src/main/java/com/example/rajawali/visitors/INodeVisitor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2013 Dennis Ippel 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with 5 | * the License. You may obtain a copy of the License at 6 | * 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on 10 | * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the 11 | * specific language governing permissions and limitations under the License. 12 | */ 13 | package com.example.rajawali.visitors; 14 | 15 | public interface INodeVisitor { 16 | void apply(INode node); 17 | } 18 | -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/blend_add_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | uniform float uOpacity; 4 | uniform sampler2D uTexture; 5 | uniform sampler2D uBlendTexture; 6 | 7 | varying vec2 vTextureCoord; 8 | 9 | void main() { 10 | vec4 src = texture2D(uTexture, vTextureCoord); 11 | vec4 dst = texture2D(uBlendTexture, vTextureCoord); 12 | 13 | gl_FragColor = (src + dst) * uOpacity; 14 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/blend_screen_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | uniform float uOpacity; 4 | uniform sampler2D uTexture; 5 | uniform sampler2D uBlendTexture; 6 | 7 | varying vec2 vTextureCoord; 8 | 9 | void main() { 10 | vec4 src = texture2D(uTexture, vTextureCoord); 11 | vec4 dst = texture2D(uBlendTexture, vTextureCoord); 12 | 13 | gl_FragColor = ((src + dst) - (src * dst)) * uOpacity; 14 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/blur_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | // -- Taken from https://github.com/mattdesl/lwjgl-basics/wiki/ShaderLesson5 2 | 3 | precision mediump float; 4 | 5 | varying vec2 vTextureCoord; 6 | 7 | uniform sampler2D uTexture; 8 | uniform vec2 uDirection; 9 | uniform float uRadius; 10 | uniform float uResolution; 11 | 12 | void main() { 13 | vec4 color = vec4(0.0); 14 | float blur = uRadius / uResolution; 15 | 16 | color += texture2D(uTexture, vec2(vTextureCoord.x - 4.0*blur*uDirection.x, vTextureCoord.y - 4.0*blur*uDirection.y)) * 0.0162162162; 17 | color += texture2D(uTexture, vec2(vTextureCoord.x - 3.0*blur*uDirection.x, vTextureCoord.y - 3.0*blur*uDirection.y)) * 0.0540540541; 18 | color += texture2D(uTexture, vec2(vTextureCoord.x - 2.0*blur*uDirection.x, vTextureCoord.y - 2.0*blur*uDirection.y)) * 0.1216216216; 19 | color += texture2D(uTexture, vec2(vTextureCoord.x - 1.0*blur*uDirection.x, vTextureCoord.y - 1.0*blur*uDirection.y)) * 0.1945945946; 20 | 21 | color += texture2D(uTexture, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.2270270270; 22 | 23 | color += texture2D(uTexture, vec2(vTextureCoord.x + 1.0*blur*uDirection.x, vTextureCoord.y + 1.0*blur*uDirection.y)) * 0.1945945946; 24 | color += texture2D(uTexture, vec2(vTextureCoord.x + 2.0*blur*uDirection.x, vTextureCoord.y + 2.0*blur*uDirection.y)) * 0.1216216216; 25 | color += texture2D(uTexture, vec2(vTextureCoord.x + 3.0*blur*uDirection.x, vTextureCoord.y + 3.0*blur*uDirection.y)) * 0.0540540541; 26 | color += texture2D(uTexture, vec2(vTextureCoord.x + 4.0*blur*uDirection.x, vTextureCoord.y + 4.0*blur*uDirection.y)) * 0.0162162162; 27 | 28 | gl_FragColor = vec4(color.rgb, 1.0); 29 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/color_threshold_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | uniform float uOpacity; 4 | uniform vec3 uLowerThreshold; 5 | uniform vec3 uUpperThreshold; 6 | uniform sampler2D uTexture; 7 | 8 | varying vec2 vTextureCoord; 9 | 10 | void main() { 11 | vec3 fragColor = texture2D(uTexture, vTextureCoord).rgb; 12 | fragColor = fragColor.r > uLowerThreshold.r && fragColor.g > uLowerThreshold.g 13 | && fragColor.b > uLowerThreshold.b ? fragColor : vec3(0.0); 14 | 15 | fragColor = fragColor.r < uUpperThreshold.r && fragColor.g < uUpperThreshold.g 16 | && fragColor.b < uUpperThreshold.b ? fragColor : vec3(0.0); 17 | 18 | gl_FragColor = uOpacity * vec4(fragColor, 1.0); 19 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/copy_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | uniform float uOpacity; 4 | uniform sampler2D uTexture; 5 | 6 | varying vec2 vTextureCoord; 7 | 8 | void main() { 9 | gl_FragColor = uOpacity * texture2D(uTexture, vTextureCoord); 10 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/fog_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | uniform sampler2D uTexture; 4 | uniform sampler2D uDepthTexture; 5 | uniform vec3 uFogColor; 6 | uniform float uFogNear; 7 | uniform float uFogFar; 8 | 9 | varying vec2 vTextureCoord; 10 | 11 | void main() { 12 | vec4 depthPixel = texture2D(uDepthTexture, vTextureCoord); 13 | float fogDensity = clamp((depthPixel.r - uFogNear) / (uFogFar - uFogNear), 0.0, 1.0); 14 | 15 | vec4 srcColor = texture2D(uTexture, vTextureCoord); 16 | gl_FragColor.rgb = mix(srcColor.rgb, uFogColor, fogDensity); 17 | gl_FragColor.a = srcColor.a; 18 | //gl_FragColor.r = depthPixel.r; 19 | gl_FragColor.g = depthPixel.g; 20 | gl_FragColor.b = depthPixel.b; 21 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/fxaa_vertex_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | const float FXAA_SUBPIX_SHIFT = 1.0 / 8.0; 4 | 5 | uniform mat4 uMVPMatrix; 6 | uniform float rt_w; 7 | uniform float rt_h; 8 | 9 | attribute vec4 aPosition; 10 | attribute vec2 aTextureCoord; 11 | 12 | varying vec4 posPos; 13 | varying vec2 vTextureCoord; 14 | 15 | void main(void) { 16 | gl_Position = uMVPMatrix * aPosition; 17 | vTextureCoord = aTextureCoord; 18 | vec2 rcpFrame = vec2(1.0 / rt_w, 1.0 / rt_h); 19 | posPos.xy = aTextureCoord.xy; 20 | posPos.zw = aTextureCoord.xy - (rcpFrame * (0.5 + FXAA_SUBPIX_SHIFT)); 21 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/grey_scale_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | uniform float uOpacity; 4 | uniform sampler2D uTexture; 5 | 6 | varying vec2 vTextureCoord; 7 | 8 | void main() { 9 | vec4 srcColor = texture2D(uTexture, vTextureCoord); 10 | float average = (srcColor.r + srcColor.g + srcColor.b) / 3.0; 11 | gl_FragColor = uOpacity * vec4(average, average, average, srcColor.a); 12 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/minimal_vertex_shader.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | uniform mat4 uMVPMatrix; 4 | 5 | attribute vec4 aPosition; 6 | attribute vec2 aTextureCoord; 7 | 8 | varying vec2 vTextureCoord; 9 | 10 | void main() { 11 | vTextureCoord = aTextureCoord; 12 | gl_Position = uMVPMatrix * aPosition; 13 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/scanline_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | varying vec2 vTextureCoord; 4 | 5 | uniform float uRadius; 6 | uniform float uOpacity; 7 | 8 | uniform sampler2D uTexture; 9 | 10 | uniform vec2 uResolution; 11 | 12 | void main() { 13 | vec4 texColor = texture2D(uTexture, vec2(vTextureCoord.x, vTextureCoord.y)); 14 | 15 | float screenV = vTextureCoord.y * uResolution.y / uRadius; 16 | 17 | float scanLine = abs(mod(screenV, 2.0) - 1.); 18 | 19 | //apply the scanline 20 | texColor.rgb = mix(texColor.rgb, vec3(0,0,0), uOpacity * scanLine); 21 | 22 | gl_FragColor = vec4(texColor.rgb, 1.0); 23 | } 24 | -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/sepia_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | precision highp float; 2 | 3 | uniform float uOpacity; 4 | uniform sampler2D uTexture; 5 | 6 | varying vec2 vTextureCoord; 7 | 8 | void main() { 9 | vec3 fragColor = texture2D(uTexture, vTextureCoord).rgb; 10 | float gray = dot(fragColor.rgb, vec3(0.299, 0.587, 0.114)); 11 | gl_FragColor = uOpacity * vec4(gray * vec3(1.2, 1.0, 0.8), 1.0); 12 | } -------------------------------------------------------------------------------- /rajawali/src/main/res/raw/vignette_fragment_shader.glsl: -------------------------------------------------------------------------------- 1 | // -- Taken from https://github.com/mattdesl/lwjgl-basics/wiki/ShaderLesson3 2 | 3 | precision mediump float; 4 | 5 | varying vec2 vTextureCoord; 6 | 7 | uniform float uRadius; 8 | uniform float uSoftness; 9 | uniform float uOpacity; 10 | 11 | uniform sampler2D uTexture; 12 | 13 | uniform vec2 uResolution; 14 | 15 | void main() { 16 | vec4 texColor = texture2D(uTexture, vec2(vTextureCoord.x, vTextureCoord.y)); 17 | 18 | vec2 position = (gl_FragCoord.xy / uResolution.xy) - vec2(0.5); 19 | 20 | //determine the vector length of the center position 21 | float len = length(position); 22 | 23 | // derive inner and outer radii from uRadius and uSoftness 24 | float inner = (uRadius > abs(uSoftness/2.)) ? uRadius - abs(uSoftness/2.) : 0.; 25 | float outer = uRadius + abs(uSoftness/2.); 26 | if(inner == outer) { 27 | inner -= 0.00001; 28 | outer += 0.00001; 29 | } 30 | 31 | //use smoothstep to create a smooth vignette 32 | float vignette = 1. - smoothstep(inner, outer, len); 33 | 34 | //apply the vignette with 60% opacity 35 | texColor.rgb = mix(texColor.rgb, texColor.rgb * vignette, uOpacity); 36 | 37 | gl_FragColor = vec4(texColor.rgb, 1.0); 38 | } 39 | -------------------------------------------------------------------------------- /rajawali/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /rajawali/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Rajawali 3 | 4 | -------------------------------------------------------------------------------- /rajawali/src/test/java/com/example/rajawali/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.rajawali; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest 13 | { 14 | @Test 15 | public void addition_isCorrect() 16 | { 17 | assertEquals(4, 2 + 2); 18 | } 19 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':rajawali' 2 | include ':openCVLibrary341' 3 | --------------------------------------------------------------------------------