Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
glsmap/smap_drawmesh.c
/* Copyright (c) Mark J. Kilgard, 1998. */ |
/* This program is freely distributable without licensing fees |
and is provided without guarantee or warrantee expressed or |
implied. This program is -not- in the public domain. */ |
#include <glsmap.h> |
#include "glsmapint.h" |
void |
__smapDrawSphereMapMeshSide(SphereMapMesh *mesh, int side) |
{ |
INITFACE(mesh); |
int i, j; |
for (i=0; i<mesh->steps-1; i++) { |
glBegin(GL_QUAD_STRIP); |
for (j=0; j<mesh->steps; j++) { |
glTexCoord2fv (FACEst(side,i,j)); |
glVertex2fv (FACExy(side,i,j)); |
glTexCoord2fv (FACEst(side,i+1,j)); |
glVertex2fv (FACExy(side,i+1,j)); |
} |
glEnd(); |
} |
} |
/* Back face specially rendered for its singularity! */ |
void |
__smapDrawSphereMapMeshBack(SphereMapMesh *mesh) |
{ |
INITBACK(mesh); |
int side, i, j; |
for (side=0; side<4; side++) { |
for (j=0; j<mesh->rings-1+mesh->edgeExtend; j++) { |
glBegin(GL_QUAD_STRIP); |
for (i=0; i<mesh->steps; i++) { |
glTexCoord2fv (BACKst(side,j,i)); |
glVertex2fv (BACKxy(side,j,i)); |
glTexCoord2fv (BACKst(side,j+1,i)); |
glVertex2fv (BACKxy(side,j+1,i)); |
} |
glEnd(); |
} |
} |
} |
Copyright © 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-02-08