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.
Note that high-end devices are better served by NenaMark2 as they tend to hit the framerate limit (~60 fps) with NenaMark1.
Unlike many other benchmarks, NenaMark measures performance using realistic scenes that could be taken from a typical game and presents the result in frames per second, i.e. providing an intuitive performance number that can be used for realistic comparisons between different devices.
Benchmark results from a wide variety of devices are available on the NenaMark site (http://nena.se/nenamark).
- Skeletal Animation (bones matrix animation), trees.
- Morph Target Animation (blend vertex sets), sun flowers along house wall.
- Bump Mapping (using normal map), stone walls on house.
- Water (reflections, normal animation, fresnel effect), the lake.
- Cloud System (advanced particle system), clouds.
- Cube Map Reflections (w/ dynamic cube map generation), windows on house.
- Smoke (advanced particle system), smoke from chimney.
- Shadow Mapping (dynamic shadow mapping), terrain.
- Texture Channel Animation, sparkling sun.
- Smooth Gradient Animation, sky hemisphere.
- Dynamic lighting (per vertex diffuse lighting), entire scene.
- Lens flare, lens flare from sun at low altitude.
For more information, visit: http://nena.se/nenamark
+ 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 firstname.lastname@example.org!
- 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
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
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:
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.
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 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)
- 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
- 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)
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
For quick help and release notes, check the default welcome text (once the app is opened).
Please note that this app is in "alpha" stage, and is subject to quite big changes. At the moment, we are working on the following major items:
- Syntax highlighting (engine plus few sample rules)
- Bug fixes and optimization in general
1. Download and install application
2. In your home screen, press the MENU button
3. Choose WALLPAPER, then LIVE WALLPAPER
4. From the list of live wallpapers, choose UNDERWATER LWP
5. Choose SETTINGS to play around with the settings
6. Choose SET WALLPAPER to apply
- More background images to choose from
- Possibility to specify own custom background
- OpenGL for even smoother motion
- Possibility to choose from different wave patterns
- Possibility to control darkness/brightness
- Free background images from Wikimedia and National Geographic
Tags: underwater, water, live, wallpaper, wave
- Battery status
- WiFi status
- Audio status
- Bluetooth status
- Memory usage
- CPU usage
- Free storage for apps (internal)
Pick the ones you need!
This is the free version with adds included. Get the pro version for EUR0.79 to remove adds and receive new features and themes through updates!
+ 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
Share your top challenges, compete with friends and compare how you score against other players.