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

📄 3dobjects.h

📁 Symbian平台下的一个3D赛车游戏源码
💻 H
字号:
   /*
============================================================================
    * Name : 3DObjects.h
    * Part of : Example3D
    * Description : Definition of 3DObjects
    * Copyright (c) 2005 Nokia Corporation
============================================================================
    */

#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 = 9;
const TInt KNumRoadFaces = 8;

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

const TInt KRoadFaceData[] = 
	{							
	0,1,4, 128,128, 192,128, 192,192,
	0,4,3, 128,128, 192,192, 128,192,
	1,2,5, 192,128, 255,128, 255,192,
	1,5,4, 192,128, 255,192, 192,192,
	3,4,7, 128,192, 192,192, 192,255,
	3,7,6, 128,192, 192,255, 128,255,
	4,5,8, 192,192, 255,192, 255,255,
	4,8,7, 192,192, 255,255, 192,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, -5000, -1500,
									-1500, -5000,  1500,
									 1500, -5000,  1500,
									 1500, -5000, -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 = 32;

const TUint8 KMap[KMapHeight][KMapHeight+1]={
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx",
						"xx30000000000xxx",
						"xx3xxxx1xxxx1xxx",
						"xx3x3000001x1xxx",
						"xx3x3a1a1a1x1xxx",
						"xx3x3000001x1xxx",
						"xx303a1a1a101xxx",
						"xx3x3000001x1xxx",
						"xx3x3a1a1a1x1xxx",
						"xx3x3222221x1xxx",
						"xx3xxxx1xxxx1xxx",
						"xx32222222221xxx",
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx",
						"xxxxxxxxxxxxxxxx",

						"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 + -