- A Better OpenGL Project Template for Xcode
- Source code for the missing gluPerspective() function
- NeHe OpenGL Lesson 02 Ported to iPhone
- NeHe OpenGL Lesson 03 Ported to iPhone
- NeHe OpenGL Lesson 04 Ported to iPhone
- Captain Obvious Discusses OpenGL Function Documentation
- NeHe OpenGL Lesson 05 Ported to iPhone
- Preparations for NeHe OpenGL Lesson 06
- NeHe OpenGL Lesson 06 Ported to iPhone (sort of)
- Surface Normals in OpenGL
- Sample Project showing how to draw icosahedron in OpenGL
- Writing an OpenGL ES Object Loader, part 1 (Wavefront OBJ file format)

## Sunday, December 14, 2008

### OpenGL Postings

These past three days have seen a flurry of postings. I thought I'd just do a quick table of contents to the various tutorials and postings I've done recently, in the order they should be read:

## 6 comments:

thank you first for this tutorial.

Can you make one demo to implementation one glulookat like ,camera track the world? for no glulookat function in opengles on iphone.

void gluLookAt(GLfloat eyex, GLfloat eyey, GLfloat eyez,

GLfloat centerx, GLfloat centery, GLfloat centerz,

GLfloat upx, GLfloat upy, GLfloat upz)

{

GLfloat m[16];

GLfloat x[3], y[3], z[3];

GLfloat mag;

/* Make rotation matrix */

/* Z vector */

z[0] = eyex - centerx;

z[1] = eyey - centery;

z[2] = eyez - centerz;

mag = (float)sqrt(z[0] * z[0] + z[1] * z[1] + z[2] * z[2]);

if (mag) {

z[0] /= mag;

z[1] /= mag;

z[2] /= mag;

}

/* Y vector */

y[0] = upx;

y[1] = upy;

y[2] = upz;

/* X vector = Y cross Z */

x[0] = y[1] * z[2] - y[2] * z[1];

x[1] = -y[0] * z[2] + y[2] * z[0];

x[2] = y[0] * z[1] - y[1] * z[0];

/* Recompute Y = Z cross X */

y[0] = z[1] * x[2] - z[2] * x[1];

y[1] = -z[0] * x[2] + z[2] * x[0];

y[2] = z[0] * x[1] - z[1] * x[0];

/* cross product gives area of parallelogram, which is < 1.0 for

* non-perpendicular unit-length vectors; so normalize x, y here

*/

mag = (float)sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]);

if (mag) {

x[0] /= mag;

x[1] /= mag;

x[2] /= mag;

}

mag = (float)sqrt(y[0] * y[0] + y[1] * y[1] + y[2] * y[2]);

if (mag) {

y[0] /= mag;

y[1] /= mag;

y[2] /= mag;

}

#define M(row,col) m[col*4+row]

M(0, 0) = x[0];

M(0, 1) = x[1];

M(0, 2) = x[2];

M(0, 3) = 0.0;

M(1, 0) = y[0];

M(1, 1) = y[1];

M(1, 2) = y[2];

M(1, 3) = 0.0;

M(2, 0) = z[0];

M(2, 1) = z[1];

M(2, 2) = z[2];

M(2, 3) = 0.0;

M(3, 0) = 0.0;

M(3, 1) = 0.0;

M(3, 2) = 0.0;

M(3, 3) = 1.0;

#undef M

{

int a;

GLfloat fixedM[16];

for (a = 0; a < 16; ++a)

fixedM[a] = m[a];

glMultMatrixf(fixedM);

}

/* Translate Eye to Origin */

glTranslatef(-eyex, -eyey, -eyez);

}

Thank you for your tutorial.

I use the template on iPhone OS 3.0 GM Seed.

However, I can't execute this template on it.

I search the reason. But I have not understood yet.

Someone help me...

Jeff,

Hi, I'm Jumpei at Japan. I could run the new template on iPhone OS3.0. So, I appreciate you. I'm cheering you on!!

Sorry, I'm not good English speaker.

JeansPilot offers the chance to buy a large variety of men’s and women’s jeans clothing from the world famous Italian Brands.

Online jeans clothing store looks for original fashion clothing sales and clearances of worldwide known designers. We participate in fashion auctions to get the lowest possible price for Top quality Clothes, Shoes and Accessories.

Buy JeansWhat youre saying is completely true. I know that everybody must say the same thing, but I just think that you put it in a way that everyone can understand. I also love the images you put in here. They fit so well with what youre trying to say. Im sure youll reach so many people with what youve got to say.

Arsenal vs Huddersfield Town live streaming

Arsenal vs Huddersfield Town live streaming

Wolverhampton Wanderers vs Stoke City Live Streaming

Wolverhampton Wanderers vs Stoke City Live Streaming

Notts County vs Manchester City Live Streaming

Notts County vs Manchester City Live Streaming

Bologna vs AS Roma Live Streaming

Bologna vs AS Roma Live Streaming

Juventus vs Udinese Live Streaming

Juventus vs Udinese Live Streaming

Napoli vs Sampdoria Live Streaming

Napoli vs Sampdoria Live Streaming

Fulham vs Tottenham Hotspur Live Streaming

Fulham vs Tottenham Hotspur Live Streaming

AS Monaco vs Marseille Live Streaming

AS Monaco vs Marseille Live Streaming

Alajuelense vs Perez Zeledon Live Streaming

Alajuelense vs Perez Zeledon Live Streaming

Technology News | News Today | Live Streaming TV Channels

Post a Comment