All Projects → hannesa2 → Panoramagl

hannesa2 / Panoramagl

Licence: apache-2.0
PanoramaGL Android

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Panoramagl

Mole
CLI application to create ssh tunnels focused on resiliency and user experience.
Stars: ✭ 1,520 (+1269.37%)
Mutual labels:  hacktoberfest
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+1378.38%)
Mutual labels:  hacktoberfest
React Figma
⚛️ A React renderer for Figma
Stars: ✭ 1,830 (+1548.65%)
Mutual labels:  hacktoberfest
Action policy Graphql
Action Policy integration for GraphQL
Stars: ✭ 110 (-0.9%)
Mutual labels:  hacktoberfest
Foreman Ansible Modules
Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Spotify Playlist Archive
Daily snapshots of public Spotify playlists
Stars: ✭ 111 (+0%)
Mutual labels:  hacktoberfest
Everett
configuration library for python projects
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Viewers
The OHIF Medical Imaging Viewer is for viewing medical images. It can retrieve and load images from most sources and formats; render sets in 2D, 3D, and reconstructed representations; allows for the manipulation, annotation, and serialization of observations; supports internationalization, OpenID Connect, offline use, hotkeys, and many more features.
Stars: ✭ 1,753 (+1479.28%)
Mutual labels:  hacktoberfest
Nodejs.dev
A new Node.js resource built using Gatsby.js with React.js, TypeScript, and Remark.
Stars: ✭ 1,794 (+1516.22%)
Mutual labels:  hacktoberfest
Vscode abap remote fs
Remote filesystem for ABAP systems
Stars: ✭ 111 (+0%)
Mutual labels:  hacktoberfest
Fuego
Fuego is a command line client for the firestore database (https://firebase.google.com/docs/firestore).
Stars: ✭ 110 (-0.9%)
Mutual labels:  hacktoberfest
Belajar Git
Tutorial Git dalam Bahasa Indonesia
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Presently
Android app for recording gratitude journal entries
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Yii2 Swiftmailer
Yii 2 swiftmailer extension.
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Floki
Floki is a simple HTML parser that enables search for nodes using CSS selectors.
Stars: ✭ 1,642 (+1379.28%)
Mutual labels:  hacktoberfest
Thorium
Platform for starship simulator controls
Stars: ✭ 109 (-1.8%)
Mutual labels:  hacktoberfest
Omegaup
omegaUp automatic programming contest evaluator & arena
Stars: ✭ 110 (-0.9%)
Mutual labels:  hacktoberfest
Vscode Mermaid Preview
Previews Mermaid diagrams
Stars: ✭ 111 (+0%)
Mutual labels:  hacktoberfest
Emacs Doom Themes
A megapack of themes for GNU Emacs.
Stars: ✭ 1,706 (+1436.94%)
Mutual labels:  hacktoberfest
Scaffold Static
Scaffolding utility for vanilla-js
Stars: ✭ 111 (+0%)
Mutual labels:  hacktoberfest

PanoramaGL Android

PanoramaGL library was the first open source library in the world to see panoramic views on Android. This is a gradle build adaptation, along with other changes and updates. I am evolving the library to something easy to use any help is welcome.

The supported features are:

  • OpenGL ES 1.0 and 1.1.
  • Support for spherical, cubic and cylindrical panoramic images.
  • Scrolling and continuous scrolling.
  • Inertia to stop continuous scrolling.
  • Zoom in and zoom out (moving two fingers on the screen).
  • Reset (placing three fingers on the screen or shaking the device).
  • Scrolling left to right and from top to bottom using the accelerometer.
  • Sensorial rotation (Only compatible for devices with Gyroscope or Accelerometer and Magnetometer).
  • Full control of camera including field of view, zoom, rotation, rotation range, animations, etc.
  • Hotspots with commands.
  • Simple JSON protocol.
  • Creation of virtual tours using the JSON protocol or with programming.
  • Transitions between panoramas.
  • Support for events.

Usage

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
    implementation 'com.github.hannesa2:panoramagl:$latestVersion'
}

Create a PLManagerobject and add the bindings to the activity lifecycle methods:

    private PLManager plManager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        plManager = new PLManager(this);
        plManager.onCreate();
    }

    @Override
    protected void onResume() {
        super.onResume();
        plManager.onResume();
    }

    @Override
    protected void onPause() {
        plManager.onPause();
        super.onPause();
    }
    @Override
    protected void onDestroy() {
        plManager.onDestroy();
        super.onDestroy();
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        return plManager.onTouchEvent(event);
    }

Next set the view, before calling plManager.onCreate:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        plManager = new PLManager(this);
        plManager.setContentView(R.layout.activity_main);
        plManager.onCreate();
    }

Finally add the panorama you want, for example;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        plManager = new PLManager(this);
        plManager.setContentView(R.layout.activity_main);
        plManager.onCreate();

        PLSphericalPanorama panorama = new PLSphericalPanorama();
        panorama.getCamera().lookAt(30.0f, 90.0f);

        panorama.setImage(new PLImage(PLUtils.getBitmap(this, R.raw.sighisoara_sphere), false));
        plManager.setPanorama(panorama);
    }

ToDo

  • Separate View, ViewController, TouchController and SensorController
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].