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_create.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 <stdlib.h> |
#include "glsmapint.h" |
static SphereMapMesh * |
createSphereMapMesh(void) |
{ |
SphereMapMesh *mesh; |
mesh = (SphereMapMesh*) malloc(sizeof(SphereMapMesh)); |
mesh->steps = 8; |
mesh->rings = 3; |
mesh->edgeExtend = 1; |
mesh->face = NULL; |
mesh->back = NULL; |
mesh->refcnt = 0; |
return mesh; |
} |
static void |
refSphereMapMesh(SphereMapMesh *mesh) |
{ |
mesh->refcnt++; |
} |
SphereMap * |
smapCreateSphereMap(SphereMap *shareSmap) |
{ |
SphereMap *smap; |
int i; |
smap = (SphereMap*) malloc(sizeof(SphereMap)); |
if (shareSmap) { |
smap->mesh = shareSmap->mesh; |
} else { |
smap->mesh = createSphereMapMesh(); |
} |
refSphereMapMesh(smap->mesh); |
/* Default texture objects. */ |
smap->smapTexObj = 1001; |
for (i=0; i<6; i++) { |
smap->viewTexObjs[i] = i+1002; |
} |
smap->viewTexObj = 1008; |
/* Default texture dimensions 64x64 */ |
smap->viewTexDim = 64; |
smap->smapTexDim = 64; |
/* Default origin at lower left. */ |
smap->viewOrigin[X] = 0; |
smap->viewOrigin[Y] = 0; |
smap->smapOrigin[X] = 0; |
smap->smapOrigin[Y] = 0; |
/* Flags. */ |
smap->flags = (SphereMapFlags) 0; |
/* Default eye vector. */ |
smap->eye[X] = 0.0; |
smap->eye[Y] = 0.0; |
smap->eye[Z] = -10.0; |
/* Default up vector. */ |
smap->up[X] = 0.0; |
smap->up[Y] = 0.1; |
smap->up[Z] = 0.0; |
/* Default object location vector. */ |
smap->obj[X] = 0.0; |
smap->obj[Y] = 0.0; |
smap->obj[Z] = 0.0; |
/* Default near and far clip planes. */ |
smap->viewNear = 0.1; |
smap->viewFar = 20.0; |
smap->positionLights = NULL; |
smap->drawView = NULL; |
smap->context = NULL; |
return smap; |
} |
Copyright © 2008 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2008-02-08