background preloader

Augmented Reality

Facebook Twitter

Gl Paint expanded. -(void) mergeWithImage:(UIImage*) image if(image==nil) return; glPushMatrix(); glColor4f(256, glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glGenTextures(1, &stampTexture); glBindTexture(GL_TEXTURE_2D, stampTexture); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); GLuint imgwidth = CGImageGetWidth(image.CGImage); GLuint imgheight = CGImageGetHeight(image.CGImage); CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); void *imageData = malloc( imgheight * imgwidth * 4 ); CGContextRef context2 = CGBitmapContextCreate( imageData, imgwidth, imgheight, 8, 4 * imgwidth, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big );

Gl Paint expanded

OpenGL ES 2.0 for iOS, Chapter 3 - Fundamentals of 3D Programming. Before we start writing code, we need to go over some of the basics concept and algorithms used in 3D programming.

OpenGL ES 2.0 for iOS, Chapter 3 - Fundamentals of 3D Programming

Essentially, we need to make sure we're all speaking the same language. In this chapter, we're going to discuss some of the most basic and fundamental concepts underlying the use of OpenGL ES 2.0, as well as some of the data structures and algorithms that we'll need to create and manipulate virtual three-dimensional objects. We'll talk about what vertices, vectors, polygons, and colors are and how they are represented in OpenGL ES.

We'll also look at some of the math that you'll need to perform on each of them. The math involved in computer graphics can be mind-numbingly complex at times, but don't worry, we're going to ease into the math slowly. The Cartesian Coordinate System The first thing you need to understand before doing any 3D graphics programming is how locations are represented in a three-dimensional world. Well, they're OpenGL units. Vertices Wait… struct? Vectors. Magnetism. Calculate distance and bearing between two Latitude/Longitude points using Haversine formula in JavaScript. UserGuide - panoramagl - PanoramaGL library simple guideline. - Panorama viewer library for iPhone, iPad and iPod touch. Panoramagl - Panorama viewer library for iPhone, iPad and iPod touch.

Human Interface Technology Laboratory. HITLab NZ. Panorama Mapping and Tracking. Panorama created in real-time on the mobile phone.

Panorama Mapping and Tracking

Summary Tracking for outdoor Augmented Reality (AR) applications has very demanding requirements: It must deliver an accurate registration with respect to a given coordinate system, be robust and run in real time. Despite recent improvements, outdoor tracking still remains a difficult problem. We implemented a system for the online creation and simultaneous tracking of panoramas. Our system uses a natural feature mapping and tracking method, which is sufficiently efficient and robust to allow 3 degrees of freedom tracking on mobile phones. Publications Daniel Wagner, Alessandro Mulloni, Tobias Langlotz, Dieter Schmalstieg: Real-time Panoramic Mapping and Tracking on Mobile Phones, In Proceedings of IEEE Virtual Reality 2010 (VR 2010) Videos. Welcome to ARToolworks. Augmented Reality (Vuforia)

Wikitude - World's leading Augmented Reality SDK. Panorama 360 iPod Touch & iPhone. Introduction PanoramaGL library is the first open source library in the world to see panoramic views on the iPod Touch 1G, 2G, 3G and iPhone EDGE, 3G and 3GS.

Panorama 360 iPod Touch & iPhone

SVN and source code in Created by Javier Baez - Visit Ecuador Team Important Note: Please add the credits in their projects when using the library. Background The supported features in version 0.1 Beta are: Supports OpenGLES 1.1 Tested with SDK 3.0 to 3.2 Supports cubic, spherical and cylindrical panoramic images Allows scrolling and continuous scrolling Supports scrolling left to right and from top to bottom using the accelerometer Allows to use the inertia to stop scrolling Supports zoom in and zoom out (moving two fingers on the screen) Supports reset (placing three fingers on the screen) Allows you to control the range of rotation in the x, y and z axis Supports Portrait, Portrait Upside Down, Landscape Left and Landscape Right orientation using the accelerometer Supports for events on view Using the Code 1. 2. 3. 4. 5. 7.

Lectures - Computer Science S-76.