亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 3dsmodel.cpp

?? 多個3ds載入例子運(yùn)行的時候有些慢候有些慢候有些慢
?? CPP
字號:
// 3DSModel.cpp: implementation of the C3DSModel class.
//    
//     沈陽藍(lán)雨視景科技
//     http://www.bvrain.com
//     bvrain@163.com  chglei@163.com
//     13998383976
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "3DSModel.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
C3DSModel::C3DSModel()
{
	m_sFileName[0]=0;
	m_bModelOK=FALSE;

	m_3DModel.numOfMaterials=0;
	m_3DModel.numOfObjects=0;
	m_3DModel.vctMaterials.clear();
	m_3DModel.vctObjects.clear();
}
C3DSModel::~C3DSModel()
{

	for(int i = 0; i < m_3DModel.numOfObjects; i++)
	{
		// Free the faces, normals, vertices, and texture coordinates.
		delete [] m_3DModel.vctObjects[i].pFaces;
		delete [] m_3DModel.vctObjects[i].pNormals;
		delete [] m_3DModel.vctObjects[i].pVerts;
		delete [] m_3DModel.vctObjects[i].pTexVerts;
		for(int j=0;j<m_3DModel.vctObjects[i].numOfMaterials;j++)
			delete[] m_3DModel.vctObjects[i].pMaterialREFS[j].pFaceIndexs;
		delete [] m_3DModel.vctObjects[i].pMaterialREFS;
	}

}
//繪制模型
BOOL C3DSModel::Draw()
{
	CLoad3DS::tMatREF *pmatref;
	CLoad3DS::tMaterialInfo *pmat;
	CLoad3DS::t3DObject *pObject;

	// 繪制所有的物體
	for(int i = 0; i < m_3DModel.numOfObjects; i++)
	{
		// 當(dāng)前要顯示的物體指針
		pObject = &m_3DModel.vctObjects[i];
		//對所有的子材料遍歷
		for(int imat=0;imat<pObject->numOfMaterials;imat++)
		{
			//當(dāng)前材料引用
			pmatref=&pObject->pMaterialREFS[imat];
			//當(dāng)前材料
			pmat=&(m_3DModel.vctMaterials[pmatref->nMaterialID]);
			//使用材料
			glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,pmat->ambient);
			glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,pmat->diffuse);
			glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,pmat->specular);
			glMaterialfv(GL_FRONT_AND_BACK,GL_EMISSION,pmat->emissive);
			//是否綁定紋理
			if(pmatref->bHasTexture) 
			{
				glEnable(GL_TEXTURE_2D);
				glEnable(GL_COLOR_MATERIAL);
				glColor3ub(255, 255, 255);
				glBindTexture(GL_TEXTURE_2D, m_3DModel.vctMaterials[pmatref->nMaterialID].texureId);//g_Texture[pObject->materialID]);
			} 
			else 
			{
				glDisable(GL_TEXTURE_2D);
				glDisable(GL_COLOR_MATERIAL);
			}	
			
			//開始繪制一個子物體
			glBegin(GL_TRIANGLES);
			//循環(huán)紋理相關(guān)的所有的面
			for(int nfindex = 0,j=0; nfindex < pmatref->nFaceNum; nfindex++)
			{
				//得到面索引號
				j=int(pmatref->pFaceIndexs[nfindex]);

				//繪制該面的三個頂點(diǎn)
				for(int whichVertex = 0; whichVertex < 3; whichVertex++)
				{
					// 得到頂點(diǎn)號
					int index = pObject->pFaces[j].vertIndex[whichVertex];
			
					// 設(shè)置法線
					glNormal3f(pObject->pNormals[ index ].x, pObject->pNormals[ index ].y, pObject->pNormals[ index ].z);
				
					// 如果改材料有紋理,就設(shè)置紋理坐標(biāo)
					if(pmatref->bHasTexture)
					{
						if(pObject->pTexVerts) 
						{
							glTexCoord2f(pObject->pTexVerts[ index ].x, pObject->pTexVerts[ index ].y);
						}
					} 
					//繪制頂點(diǎn)
					glVertex3f(pObject->pVerts[ index ].x, pObject->pVerts[ index ].y, pObject->pVerts[ index ].z);
				}
			}
			glEnd();				
		}
	}
	return TRUE;
}
// 載入模型文件
BOOL C3DSModel::LoadModelFromFile(char* sfilename)
{
//靜態(tài)序號
	static int ntextID=0;
	char stmp[512];
	//把文件名連接到媒體路徑,成為完整路徑
	strcpy(m_sFileName,sfilename);
	strcpy(stmp,g_sMediaPath);
	strcat(stmp,sfilename);
	
	//在這使用加載類
	CLoad3DS cLoad3ds;
	//載入文件
	if(cLoad3ds.Import3DS(&m_3DModel, stmp)==false)	
	{
		//失敗
		m_bModelOK=FALSE;
		return FALSE;
	}
	//成功
	for(int i = 0; i < m_3DModel.numOfMaterials; i++)
	{
		// Check to see if there is a file name to load in this material
		if(strlen(m_3DModel.vctMaterials[i].strFile) > 0)
		{
			strcpy(stmp,g_sMediaPath);
			strcat(stmp,m_3DModel.vctMaterials[i].strFile);
			//此處改動,設(shè)置材料號
			CreateTexture(g_Texture,stmp , ntextID);	
			m_3DModel.vctMaterials[i].texureId = g_Texture[ntextID];
			ntextID++;

		}
		else
			m_3DModel.vctMaterials[i].texureId = 0;
	}
	m_bModelOK=TRUE;
	return TRUE;
}
//對齊到最低點(diǎn)(Y值)
void C3DSModel::AlignBottom()
{
	CLoad3DS::t3DObject *pObject;
	float fminy=10000;
	float foffset=0;
	int i=0;
	//找到最小Y
	for(i = 0; i < m_3DModel.numOfObjects; i++)
	{
		pObject = &m_3DModel.vctObjects[i];
		for(int j=0;j<pObject->numOfVerts;j++)
		{
			if(fminy>pObject->pVerts[j].y)fminy=pObject->pVerts[j].y;
		}
	}
	foffset=-fminy;
	//對齊所有點(diǎn)(平移)
	for(i = 0; i < m_3DModel.numOfObjects; i++)
	{
		pObject = &m_3DModel.vctObjects[i];
		for(int j=0;j<pObject->numOfVerts;j++)
		{
			pObject->pVerts[j].y+=foffset;
		}
	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合天天综合网国产成人综合天| 丁香婷婷综合激情五月色| 精品国产乱码久久久久久久 | 午夜精品福利一区二区蜜股av| 精品久久久久久无| 欧美专区日韩专区| 成人深夜视频在线观看| 日本vs亚洲vs韩国一区三区二区| 一区精品在线播放| 久久亚洲二区三区| 91精品国产aⅴ一区二区| 91免费看视频| 国产不卡在线一区| 国产一区二区91| 久久精品国产久精国产| 亚洲国产精品影院| 一区二区三区视频在线观看 | 亚洲国产成人porn| 综合分类小说区另类春色亚洲小说欧美| 日韩精品影音先锋| 欧美久久久久久蜜桃| 日本道免费精品一区二区三区| 国产成人精品亚洲午夜麻豆| 久久99国内精品| 美女mm1313爽爽久久久蜜臀| 水野朝阳av一区二区三区| 亚洲曰韩产成在线| 亚洲激情图片一区| 亚洲精品大片www| 亚洲黄色小说网站| 亚洲影院免费观看| 亚洲一区欧美一区| 亚洲韩国精品一区| 亚洲va欧美va人人爽| 亚洲成人在线网站| 日韩激情一二三区| 美腿丝袜亚洲三区| 久久精品国产亚洲高清剧情介绍 | 91在线视频播放地址| 国产成人亚洲综合a∨猫咪| 国产在线精品一区在线观看麻豆| 久久99国产精品成人| 六月婷婷色综合| 激情六月婷婷久久| 国产成人日日夜夜| 97se亚洲国产综合自在线| 一本一本大道香蕉久在线精品| 91久久香蕉国产日韩欧美9色| 欧美系列亚洲系列| 日韩一区国产二区欧美三区| 日韩欧美高清在线| 国产午夜精品久久久久久免费视| 国产三级欧美三级| 亚洲日本丝袜连裤袜办公室| 亚洲一区二区三区视频在线播放 | 在线播放中文一区| 日韩精品一区二区三区视频在线观看| 欧美mv和日韩mv国产网站| 久久先锋影音av| 亚洲欧美在线高清| 亚洲一区二区三区国产| 蜜臀av一级做a爰片久久| 国产最新精品免费| 成人黄色软件下载| 欧美性xxxxxxxx| 久久日韩粉嫩一区二区三区 | 亚洲美女少妇撒尿| 日本欧美韩国一区三区| 国产成a人无v码亚洲福利| 一本久久精品一区二区| 91精品国产综合久久久久| 久久综合九色综合久久久精品综合 | 精品国产一区二区三区久久影院| 国产蜜臀av在线一区二区三区| 综合中文字幕亚洲| 五月激情丁香一区二区三区| 国内精品久久久久影院一蜜桃| 99久久亚洲一区二区三区青草| 欧美日韩精品一区二区天天拍小说 | 99精品久久久久久| 91精品婷婷国产综合久久性色| 国产人伦精品一区二区| 亚洲自拍偷拍综合| 国产91在线|亚洲| 欧美人与禽zozo性伦| 国产日产欧美一区二区视频| 色婷婷一区二区| 宅男在线国产精品| 国产精品国产馆在线真实露脸 | 欧美电影精品一区二区| 日韩毛片一二三区| 久久精品99久久久| 欧美性xxxxx极品少妇| 国产亚洲人成网站| 午夜电影久久久| 国产91精品在线观看| 欧美日韩精品是欧美日韩精品| 国产日产精品一区| 日本成人在线网站| 欧美亚一区二区| 中文字幕精品在线不卡| 麻豆专区一区二区三区四区五区| 99久久国产免费看| 国产日韩精品一区| 美国三级日本三级久久99 | 欧美视频一区二区三区在线观看 | 亚洲免费高清视频在线| 国产精品中文字幕一区二区三区| 制服丝袜中文字幕亚洲| 伊人一区二区三区| 国产成人精品一区二区三区四区 | 欧美一级国产精品| 亚洲综合一区二区精品导航| 成人激情av网| 欧美国产1区2区| 国产精品中文字幕一区二区三区| 欧美一区永久视频免费观看| 亚洲欧美视频一区| 不卡视频在线看| 久久久久亚洲蜜桃| 蜜桃久久精品一区二区| 欧美日韩高清不卡| 夜夜揉揉日日人人青青一国产精品| 国产乱人伦偷精品视频免下载| 欧美不卡一区二区| 麻豆免费看一区二区三区| 日韩一区二区在线免费观看| 日本不卡一区二区三区| 欧美日韩国产综合一区二区| 亚洲一区二区三区四区在线观看| 91国内精品野花午夜精品| 一区二区三区欧美日| 91无套直看片红桃| 一区二区三区加勒比av| 91久久久免费一区二区| 亚洲丰满少妇videoshd| 欧美色男人天堂| 日韩av在线发布| 欧美一级片在线观看| 蜜桃视频免费观看一区| 精品国产成人在线影院| 国产一区二区三区观看| 久久久精品综合| 成人免费黄色大片| 亚洲欧洲制服丝袜| 欧美日韩国产一级片| 懂色一区二区三区免费观看| 日本一区二区免费在线观看视频 | 日韩美女视频在线| 狠狠色丁香婷综合久久| 久久久综合网站| 99久久精品免费看国产免费软件| 亚洲色图丝袜美腿| 欧美午夜理伦三级在线观看| 日日欢夜夜爽一区| 欧美va亚洲va| 丁香婷婷综合五月| 一区二区久久久久久| 日韩一区二区三区电影| 国产一区二区三区香蕉| 日韩伦理av电影| 欧美三日本三级三级在线播放| 久久精品久久久精品美女| 日本一区二区三区在线观看| 91视频在线观看免费| 日日夜夜精品免费视频| 久久久久久久综合色一本| 色网综合在线观看| 麻豆一区二区在线| 中文字幕一区二区视频| 欧美无乱码久久久免费午夜一区| 美女网站色91| 国产精品国产三级国产| 欧美一区永久视频免费观看| 福利一区福利二区| 亚洲国产欧美日韩另类综合| 日韩美女视频一区二区在线观看| 99热这里都是精品| 日本不卡视频在线| 日韩美女精品在线| 欧美v国产在线一区二区三区| 99r精品视频| 久久国产尿小便嘘嘘| 亚洲日本va在线观看| 日韩一级大片在线| 色婷婷国产精品| 国产伦精品一区二区三区视频青涩 | 亚洲va欧美va人人爽| 国产欧美日韩在线| 91麻豆精品国产91久久久使用方法| 国产91丝袜在线观看| 美女精品自拍一二三四| 一区二区三区成人| 国产日韩三级在线| 日韩欧美国产午夜精品| 欧美视频在线一区二区三区 | 亚洲成av人片一区二区| 国产日产欧美一区| 日韩你懂的在线播放| 欧美综合欧美视频|