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

📄 our_module.c

📁 MTK上3D特效的一些开源代码
💻 C
字号:
/**************************************************************************
Copyright (C) jianbo miao Corporation.  All Rights Released.
this is a 3d engin named our_3d_engin.
our_3d_engin feature:
1:there is no float.
2:it do the 3d things all by softwear.
3:base on 1 and 2 , it can execution on arm which have no 3d hardwear accelerate.

if you have any  suggestion or question,pls contact with me
mail:miaojb@126.com
msn:miaojianbo@hotmail.com
qq:30209027

2008/01/01
***************************************************************************/

#include "our_math.h"
#include "our_3d.h"
#include "our_draw32.h"
#include "math.h"

//FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
//FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


//==================================================================================
//==================================================================================

//==================================================================================
//==================================================================================
void OUR_creat_cube_mofang(OUR_3D_OBJ_PTR obj,//这个是我们要建造的物体的指针,
											//具体内容我们会在下一章讲
                           int CUBE_1R)		//这个参数是这个正方体的长的一半。
{
//#define CUBE_R 1000
	int i;
	FIX_POINT3D_PTR	point_org=obj->pPoints;	//得到组成物体的点的指针,下一张会详细解释
	OUR_3D_TRAG_PTR	triangle_work=obj->pTriangle;//得到组成物体的三角形的指针,以后详细解释

	char point[][3]={						//构造我们需要的那些点的xyz的坐标
				{	-1,	1,	-1	},// 点0	//这里点的坐标和上面图上的有些不一样,
				{	-1,	1,	1	},// 点1	//因为那个图是我在其他地方考的,不是我画的:)
				{	1,	1,	1	},// 点2
				{	1,	1,	-1	},// 点3
				
				{	-1,	-1,	-1	},// 点4
				{	-1,	-1,	1	},// 点5
				{	1,	-1,	1	},// 点6
				{	1,	-1,	-1	},// 点7
		};
	char triangle[][3]={					//把我们要表现的3角形用上面的点的号码来表示出来
				{	0,	1,	2	},// 三角形0//一个三角形是3个点,而且这3个点的顺序是不能变的
				{	0,	2,	3	},// 三角形1
				{	4,	7,	6	},// 三角形2
				{	4,	6,	5	},// 三角形3
				
				{	1,	5,	6	},// 三角形4
				{	1,	6,	2	},// 三角形5
				{	0,	4,	5	},// 三角形6
				{	0,	5,	1	},// 三角形7
				
				{	0,	3,	7	},// 三角形4
				{	0,	7,	4	},// 三角形5
				{	2,	6,	7	},// 三角形6
				{	2,	7,	3	},// 三角形7
		};
	CLR clr[]={	0xff0000,					//三角形0,1 的颜色,红色
				0x00ff00,					//三角形2,3 的颜色,红色
				0x0000ff,					//三角形4,5 的颜色,红色
				0xffff00,					//三角形6,7 的颜色,红色
				0xff00ff,					//三角形8,9 的颜色,红色
				0x00ffff};					//三角形10,11 的颜色,红色
	for(i=0;i<8;i++)
	{
		point_org[i].MM.x= CUBE_1R*point[i][0];//把前面的点的信息给正方体
		point_org[i].MM.y= CUBE_1R*point[i][1];
		point_org[i].MM.z= CUBE_1R*point[i][2];
	}
	for(i=0;i<12;i++)
	{
		triangle_work[i].p1=triangle[i][0];	//把三角形的信息给正方体
		triangle_work[i].p2=triangle[i][1];
		triangle_work[i].p3=triangle[i][2];

		triangle_work[i].CC.clor=clr[i>>1];	//给三角形颜色
		
	}
	
}


⌨️ 快捷键说明

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