⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3dobjects.h

📁 symbian 60 3d 的一个很经典的例子
💻 H
字号:
    /*
    *
============================================================================
    *  Name     : 3DObjects.h
    *  Part of  : Example3D
    *  Created  : 12/14/2003 by Forum Nokia
    *  Description:
    *     This is the project specification file for Example3D.
    *     Initial content was generated by Series 60 AppWizard.
    *
    *  Version  : 1.0.0
    *  Copyright: Forum Nokia
    *
============================================================================
    */

#ifndef __3DOBJECTS_H__
#define __3DOBJECTS_H__


/*
 * 3D objects are defined by vertices and faces
 * vertices are x,y,z coordinates in 3D-space
 * faces are triangles with indexes to vertices
 * and texture coordinates x1,y1,x2,y2,x3,y3
 * faces must define triangle vertices to be
 * clockwise arranged because of backface culling
 * ( only one side of face is visible
 *
 */

//
// Car 3D object
//


const TInt KNumCarVertices = 18;
const TInt KNumCarFaces = 24;

const TInt KCarVertexData[] = {
									-600,-500,-250,		// box right side
									 100,-500,-250,
									 100, 000,-250,
									-600, 000,-250,

									-600,-500, 250,		// box left side
									 100,-500, 250,
									 100, 000, 250,
									-600, 000, 250,

									 100,-300,-250,		// windscreen low
									 100,-300, 250,

									 200,-200,-200,		// enginebox right
									 500,-200,-200,
									 500,   0,-200,
									 200,   0,-200,
									 
									 200,-200, 200,		// enginebox right
									 500,-200, 200,
									 500,   0, 200,
									 200,   0, 200,


	};



const TInt KCarFaceData[] = {
								
								0,4,5, 5,10, 5,5, 12,5,			// box top
								0,5,1, 5,10, 12,5, 12,10,
								0,1,2, 0,0, 7,0, 7,5,			// box left
								0,2,3, 0,0, 7,5, 0,5,
								5,4,7, 7,0, 0,0, 0,5,			// box right
								5,7,6, 7,0, 0,5, 7,5,
								4,0,3, 0,5, 5,5, 5,10,			// box back
								4,3,7, 0,5, 5,10, 0,10,

								1,5,9, 7,0, 12,0, 12,2,			// windscreen
								1,9,8, 7,0, 12,2, 7,2,

								9,14,10, 11,2, 12,2, 12,3,		// box->enginebox joint top
								9,10,8, 11,2, 12,3, 11,3,
								8,10,13, 7,2, 8,3, 8,5,			// right
								8,13,2, 7,2, 8,5, 7,5,
								14,9,6, 8,3, 7,2, 7,5,			// left
								14,6,17, 8,3, 7,5, 8,5,

								14,15,11, 8,2, 11,2, 11,3,		// enginebox top
								14,11,10, 8,2, 11,3, 8,3,
								10,11,12, 8,3, 11,3, 11,5,		// right
								10,12,13, 8,3, 11,5, 8,5,
								15,14,17, 11,3, 8,3, 8,5,		// left
								15,17,16, 11,3, 8,5, 11,5,
								11,15,16, 11,3, 12,3, 12,5,		// front
								11,16,12, 11,3, 12,5, 11,5

	};


//
// Road 3D object
//

const TInt KNumRoadVertices = 4;
const TInt KNumRoadFaces = 2;

const TInt KRoadVertexData[] = {
									-1500, 0, -1500,
									-1500, 0,  1500,
									 1500, 0,  1500,
									 1500, 0, -1500
	};

const TInt KRoadFaceData[] = {
								0,1,2, 128,128, 255,128, 255,255, 
								0,2,3, 128,128, 255,255, 128,255
	};


//
// Grass 3D object
//


const TInt KNumGrassVertices = 4;
const TInt KNumGrassFaces = 2;

const TInt KGrassVertexData[] = {
									-1500, 0, -1500,
									-1500, 0,  1500,
									 1500, 0,  1500,
									 1500, 0, -1500
	};

const TInt KGrassFaceData[] = {
								0,1,2, 128,128, 255,128, 255,255, 
								0,2,3, 128,128, 255,255, 128,255
	};


//
// House 3D object
//


const TInt KNumHouseVertices = 8;
const TInt KNumHouseFaces = 10;


const TInt KHouseVertexData[] = {
									-1500, -2000, -1500,
									-1500, -2000,  1500,
									 1500, -2000,  1500,
									 1500, -2000, -1500,
									-1500, 0, -1500,
									-1500, 0,  1500,
									 1500, 0,  1500,
									 1500, 0, -1500
	};

const TInt KHouseFaceData[] = {
								0,1,2, 0,0, 127,0, 127,127, 
								0,2,3, 0,0, 127,127, 0,127,
								0,3,7, 0,128, 127,128, 127,255, 
								0,7,4, 0,128, 127,255, 0,255,
								2,1,5, 0,128, 127,128, 127,255, 
								2,5,6, 0,128, 127,255, 0,255,
								3,2,6, 0,128, 127,128, 127,255, 
								3,6,7, 0,128, 127,255, 0,255,
								1,0,4, 0,128, 127,128, 127,255, 
								1,4,5, 0,128, 127,255, 0,255,

	};


//
// Tilemapped city
// x = grass
// a = house
// 0-3 = road east, south, west, north
//


const TInt KMapWidth = 16;
const TInt KMapHeight = 16;

const TUint8 KMap[16][17]={
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx",
						"xx30000000000xxx",
						"xx3xxxx1xxxx1xxx",
						"xx3x3000001x1xxx",
						"xx3x3a1a1a1x1xxx",
						"xx3x3000001x1xxx",
						"xx303a1a1a101xxx",
						"xx3x3000001x1xxx",
						"xx3x3a1a1a1x1xxx",
						"xx3x3222221x1xxx",
						"xx3xxxx1xxxx1xxx",
						"xx32222222221xxx",
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx"
	};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -