The lessons can be followed at http://www.learnopengles.com.
Lesson Eight: An Intro to VBOs (Vertex Buffer Objects)
Lesson Seven: An Intro to VBOs (Vertex Buffer Objects)
Lesson Six: Texture Filtering Modes
Lesson Five: An Intro to Blending
Lesson Four: Basic Texturing
Lesson Three: Adding Per-Pixel Lighting
Lesson Two: An Intro to Lighting
Lesson One: Getting Started
Demo that shows some cool effects that can be achieved thanks to the programmable OpenGL ES 2.0 GPU pipeline, such as normal mapped specular animated lighting, real time refractions and image postprocess.
If you like the effects and would like to play a game that uses them, please try the game "AQUA SLASH GL DEMO" for free.
To move the light source, touch the screen with one finger to the desired position.
To change the background image, while touching the screen with one finger (therefore moving the light) touch with another one on the left side of the screen.
To change the postprocess effect, do the same but touch with the second finger on the right side of the screen instead of the left.
This demo requires Android 2.2 or higher.
INFO FOR DEVELOPERS: For some reason, samsung and motorola opengl driver does not allow the creation of FrameBufferObjects with color attachments of dimensions non power of 2. All the opengl calls do not generate any error and the FrameBufferObject status is ok, but then nothing gets written to the offscreen buffer if width and/or heigth is not power of 2. On HTC, LG, Toshiba and Dell devices this works well and any dimension can be used.
Since this app uses offscreen rendering for the postprocess effects, this is why it did not work with samsung and motorola devices before version 1.2.
Despite the somewhat unfair 1 star ratings of angry samsung and motorola users because of this issue, thanks everyone for the reports.
Special thanks to my sister Silvia and my friend "El Iberico" for sharing with me their Galaxy S smartphones that allowed me to debug the app and find out what the problem was.
To Harism: Thanks for your comments and yes, the problem is directly related to the off screen render target resolution.
There is not any copy of textures at any time. The first pass where the water effect is rendered is the one that uses the off screen buffer (with less resolution for performance reasons) and later, that render target is directly binded as an input texture to the final pass where the other effect is rendered (pixelization etc) to full resolution.
Check documentation to install examples: http://kivy.org/docs/installation/installation-android.html#installation-of-examples
!! uninstall previous version before !!
You need a Android with GPU support, minimum OpenGL ES 2.0 / Android 2.2
Kivy launcher is in version. Check http://kivy.org/ for more information about the usage of this launcher. This is not an application for end-users.
OpenIAB is a unified protocol for in-app purchases on Android and a library that supports in-app purchases from all big stores including Google Play, Amazon Appstore and Samsung Apps as well as multiple smaller stores such as Nokia, Yandex.Store, SlideME, Appland, Aptoide and AppMall.
Kivy is fun, but its current implementation of in-app billing relies on in-app billing version 2 of Google, which will be discontinueted as of january 27th 2015.
this app is a proof of concept for the usage of Kivy alongside to openIAB
source code is available here:
The Gears demo is an open source project intended to help developers learn how to create OpenGL ES programs on Android. The Gears demo was originally written by Brian Paul as part of the Mesa3D project. My implementation includes variations for Java/OpenGL ES 1.x, Java/C/OpenGL ES 1.x and Java/C/OpenGL ES 2.0. I have also added several features not found in the original implementation including touch screen support, VBOs and an on-screen FPS counter.
The FPS (frames-per-second) counter is often used as a benchmark metric for graphics programs. On Android the frame rate is limited by v-sync (typically 60 FPS) which is the fastest rate that a display can refresh the screen. Since Gears is capable of rendering much faster than v-sync on most devices it provides limited benchmarking value.
The source code for the app itself serves as a useful tutorial for learning how to use the min3D library for your own projects.
+ Capture video from your device camera and stream it in real time over the network
+ Motion JPEG format supported (http://en.wikipedia.org/wiki/Motion_JPEG)
+ View directly in your browser without any extra plugins (see supported browsers)
+ View using your favorite media player (see supported players)
Supported Browsers (native):
+ Chrome (under work)
Supported Media Players:
+ VLC (www.videolan.org/vlc/index.html)
+ Start the app
+ Ensure correct settings (camera, color effect, image quality and size)
+ Press the record button (should turn red when stream available)
+ Check the stream URL from the app status line (e.g. http://192.168.1.10:8080)
+ Open the stream from your browser or video player
Please send any comments, bugs, suggestions or feedback to email@example.com!
1. Install the app
2. Select the widget (from your list of widgets, or long-pressing on your home screen for older Android versions)
3. The settings are automatically opened after adding the widget; tune any colors and press save
After the widget is active:
- Tap on it to view the CPU usage list per process (back key to exit)
- Tap on the settings button for settings (save or back key exits back to list)
Please also check out Network Widget for Android:
- Support for downloading any file type
- Support for downloading large files, with pause and resume
- Support for basic and digest authentication
- Support for opening or sending completed downloads
- Support for calculating and comparing MD5 integrity checksums
- Support for overriding any request header
- Support for viewing HTML content, and intercepting the downloads from the web page
- Quick start downloads from clipboard or entering the URL
- Add downloads manually with advanced options
- Use the share link feature from another app (e.g. Dolphin Browser, Dropbox, Sugarsync)
- Icons: http://glyphicons.com/
Tags: downloader, download manager
Now with a refreshed modern, lightweight and responsive user interface.
- Make sure you have WiFi on and are connected from your device
- Start the app
- In the same network, open the URL indicated on the device using a normal browser
- Browse the files on your device (thumbnails or details)
- Preview media file types (image and video)
- Upload files to your device (multiple parallel uploads supported)
- Download and open files from your device
- Delete and rename files and directories from your device
- View images in fullscreen mode
- Play videos using the HTML5 video player
- View your active uploads, support for canceling them one-by-one
- Additionally view your upload history
- Browse and search the apps installed on your device
- Install apps by uploading the APK files to your device
- Download and back up apps (APK files)
- Delete user apps
Note! Installing and deleting apps requires the action to be completed on the device due to security reasons.
- Browse and search the contacts on your device
- Add, update and delete contacts
- Play your camera preview on your desktop
- Take snapshots and save them on your device
- Copy text to your device clipboard (and open URLs)
- Query the device's clipboard
- Device info
- Memory usage
- Battery usage
- WiFi info
- Option to use HTTP basic web authentication
- Small and fast web server on the device, without any 3rd party libraries
- Internet Explorer (10)
Supported media types:
- Pictures (JPEG and PNG)
- Videos (MP4, OGG and WEBM)
Note! HTML5 video support varies from browser to browser, but for example Chrome should support all of the above. For more information, please check: http://en.wikipedia.org/wiki/HTML5_video
- Contacts section to manage contacts on the device
- Enhancements to Camera section (e.g. better live preview)
- Twitter Bootstrap: http://getbootstrap.com/2.3.2/
- JQuery: http://jquery.com/
- Crystal Clear Icons: http://commons.wikimedia.org/wiki/Crystal_Clear
Keywords: wifi file transfer, wifi file explorer, wifi file manager, wireless file transfer, wireless file explorer, wireless file manager
- On your home screen, press the Menu button
- Select Wallpaper
- Select Live wallpapers
- Select Planets 3D LWP
- Play around with the Settings
- Select Set wallpaper
- Background textures: Wikimedia
- Planet textures: http://www.oera.net/How2/TextureMaps2.htm
- Planet textures: http://planetpixelemporium.com/planets.html
- GLWallpaperService: http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers
1. Select Wallpapers from Settings or Menu
2. Select Live Wallpapers
3. Select Minimalistic Clock Wallpaper
4. Select Settings
5. Pick your favorite color and other options
6. Select Save
7. Select Apply
Private Messenger is an instant messaging application which enforces end-to-end privacy. In practice messages are always encrypted and decrypted on the device, before being transferred through the internet. This means that none other than the sender or recipient is able to see the message content, not even us. This way we can respect the privacy of our users.
Version 1.3.0 included a major rewrite of storing local data on devices, making it more secure. Unfortunately, in some cases, a bug caused the app to crash right after opening. The latest version 1.3.1 addresses this issue. We apologize for the inconvenience.
Q: How exactly do you ensure privacy between the sender and recipient?
A: We use public key cryptography. During registration, a key pair is generated for each user account. The private key always stays on the user's device, while the public key is deployed to our server mapped to the user account for discovery. Messages are encrypted on the sender's device using the recipient's public encryption key, relayed to the recipient via our servers, and finally decrypted on the recipient's device using their private decryption key. Additionally, the same key pair is used to verify the sender's digital signature. For more information, see http://en.wikipedia.org/wiki/Public-key_cryptography.
Q: How about messages already decrypted on my device, or other local settings?
A: All local information, including sent and received messages, contacts and personal settings, are stored in a special encrypted database, and not in plain text for example in default shared preferences or SQLite databases. This means that even if the database file is somehow compromised (for example in rooted devices), the actual stored data cannot be seen.
Q: What kind of information do you store on your servers?
A: In short, only the bare minimum. At least the account username and public key, and then any additional information if the user so chooses. We don't store any messages - we only relay them from the sender to the recipient. There would be no point anyway, since the message content is always encrypted, and there is no chance even for us to decrypt it.
Q: Why do you run ads?
A: Unfortunately, running the server-side infrastructure is not free. Our intention is to cover this, and other development costs by running unobtrusive banner ads. This way we can provide the app for free to our users. We might consider an option to remove the ads in the future either by an in-app purchase or a paid version of the app.
Q: Any planned updates or new features?
A: Since the app is quite new, we will of course fix any bugs that come up. Additionally, we at least plan to improve usability and add more message types than text, for example images, location, etc.
1) To use as a wallpaper, select Settings -> Display -> Live Wallpapers -> Minimal Clock
2) To use as a widget, select Apps -> Widgets -> Minimal Clock
3) To use as a lock screen widget, swipe left on your lock screen and select "+" -> Minimal Clock
Trigger: An event that starts the task, for example when a headset is plugged in or connected to a Wifi network
Condition: An optional filter to limit when the task is run, for example time of day
Action: The action to execute, if the trigger and conditions are satisfied, for example launching another app or playing music
- Location (under work)
- Incoming SMS (under work)
- Network connectivity (under work)
Stay tuned for updates; new triggers, conditions and actions will be added, as well as fixing bugs.
To start downloads:
- On Android 2.x, use the "share link" feature from your browser
- On later Android versions, copy the link from your browser and paste it into the app
- Download in parallel chunks reusing connections to boost speed
- Pause and resume downloads any time
- HTTP basic authentication support
- MD5 integrity checksum support
- Support for overriding filename and renaming after download
- Support for tuning connection settings
- Nice graphical representation of download speed
Keywords: Downloader, Download Manager, Download Accelerator
- Start up the app on your device
- A message should pop up indicating the URL to use
- Connect to the URL using a normal desktop browser (switch to full screen for best experience, or even better, presentation view in Chrome)
- Back on your device, browse for images and click on the ones to be presented
- Use the menus on your device to control rotation, color settings and effects
- Slideshow mode
- More effects!
- Possibility to tune effect parameters
- Tune exposure
- Wi-Fi connectivity
- A browser with Java Applets (1.6 or later) supported
Note! If you don't have Java installed, you can download it from http://www.java.com. The Applet requires no special permissions, and cannot access your desktop computer or mobile device. If you are on MacOS and Chrome, see here: http://support.apple.com/kb/HT5559?viewlocale=en_US.
- Some of the color settings and effects use the excellent JH Labs Image Processing library (http://www.jhlabs.com/ip/index.html)
Nice, clean and easy-to-use file manager application for Android. Includes basic functionality, such as file exploring, searching, renaming, as well as delete, copy and move operations with batch support.
+ Download or stream files from your device by scanning a QR code
+ Upload files to your device by scanning a QR code
+ Browse the files on your device
+ Save files or folders as favorites
+ Preview supported image and video file types
+ Basic file operations; rename, copy, move, delete and archive (including folders)
+ Select files and apply batch operations; copy, move, delete and archive (including folders)
+ Search for files
+ Open known file types
+ Send files to other applications
+ Calculate and compare integrity checksums
+ Create and extract ZIP archives
+ Sort files by name, size or last modified time
+ Download or stream files from your device (within same network)
+ Upload files to your device using a web browser (within same network), no need for any cables or extra software
+ To share a picture or video to another device within the same network, select "Download from device" and share the generated QR code
+ The same feature can be used to show images on your smart TV or streaming video to your laptop (for example using VLC player) by opening the short URL
+ To upload files to your device, select "Upload to device", open the web page using the URL provided, and just select the files to transfer (multiple files supported)
Q: Why is my image/video not viewable right after uploading ("media not found" when trying to open)?
A: This is most likely due to the media scanner in Android; it might take some time before it picks up and processes the file and makes it available. You can refresh the file listing after a while, and try again. We will look into forcing a scan for certain file types immediately after upload to improve this.
Q: Why is the file size and checksum different between my original and uploaded video? The video seems to play correctly however.
A: Not 100% sure, but this could also be due to the media scanner processing and trying to optimize the file to save space. The same thing seems to happen for example when downloading certain videos from Google Drive to your device storage.
Q: Can I upload multiple files at once?
A: Yes, the browser's file chooser is configured to support multiple selections. For example on a Mac, just hold down the shift key to select multiple files.
Q: Can I download multiple files at once?
A: Yes, but with a slight workaround. You can select multiple files on your device, create an archive, and then download the archive.
Q: I seem to be having problems uploading files using device X and browser Y?
+ More levels, themes and surprises
+ Race against time and collect points
+ Multiplayer support
+ Level editor to create and share levels
+ Smooth OpenGL graphics
+ Works on older devices also, from Android 2.3
+ Use your device sensor or touch for controls
On the left you can see:
- Analog clock displaying current time
- Current date
And on the right you have:
- Current weather
- Upcoming calendar events
- Current battery statistics
- Current resource statistics (storage)
- Finance (stock quotes)
To cycle through the right side views, just tap on the widget. You can also set the widget to automatically cycle in 1 minute intervals from the configuration.
- Weather (city, temperature, conditions, wind, humidity)
- Calendar (upcoming events with start time and title)
- Battery (charge level, status, health, temperature, voltage)
- Resources (free memory for apps, free memory on SD card, CPU usage for past 1/5/15 minute(s), memory usage, number of running apps)
- Finance (stock quotes with symbol and day's change in percent)
Based on excellent feedback from comments, the planned updates will include:
- Bug fixes
- Possibility to enable/disable views from the configuration
- Possibility to enable/disable auto-cycle from the configuration
- RSS view
- Digital clock
- More themes!
- Weather data provided by Google
- Financial data provided by Yahoo (NYSE updates)
- If settings are changed, updates are applied after next refresh cycle (so for example new stock symbols or weather updates might not appear immediately)
- There is no public calendar API so far, which means calendar events cannot be guaranteed to be shown on all devices
- On some devices the widget has become unresponsive (to touch events) after removing it and adding it back (in this case usually a forced stop corrects the situation)