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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ogremayamesh.h

?? 赫赫大名的 OGRE 游戲引擎
?? H
字號:
/*
============================================================================
This source file is part of the Ogre-Maya Tools.
Distributed as part of Ogre (Object-oriented Graphics Rendering Engine).
Copyright (C) 2003 Fifty1 Software Inc., Bytelords

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
or go to http://www.gnu.org/licenses/gpl.txt
============================================================================
*/
#ifndef _OGREMAYA_MESH_H_
#define _OGREMAYA_MESH_H_

#include "OgreMayaCommon.h"

#include <maya/MGlobal.h>
#include <maya/MFloatArray.h>
#include <maya/MPointArray.h>
#include <maya/MFloatVectorArray.h>
#include <maya/MColorArray.h>
#include <maya/MObjectArray.h>
#include <maya/MFnMesh.h>
#include <maya/MStatus.h>
#include <maya/MItMeshPolygon.h>

#include <fstream>

#include <string>
#include <list>
#include <vector>

namespace OgreMaya {

	using std::ofstream;
	using std::list;
	using std::string;
	using std::vector;

	//	===========================================================================
	/** \struct		MeshUV
		Simple structure with single set of UV coordinates for a single vertex.
	*/	
	//	===========================================================================
	struct MeshVertexUV {
		Real u;
		Real v;
        
		MeshVertexUV() {
			u = (Real)0.0;
			v = (Real)0.0;
		}

        bool operator ==(const MeshVertexUV& other) const {
            return u==other.u && v==other.v;
        }
	};
	typedef list<MeshVertexUV> MeshVertexUVList;
	

	//	===========================================================================
	/** \struct		MeshMayaUVSet
		Structure that holds UVs for all vertex-faces for a single UV set.
	*/	
	//	===========================================================================
	struct MeshMayaUVSet {
		MFloatArray	uArray;
		MFloatArray	vArray;
		MString		sName;
	};
	typedef list<MeshMayaUVSet> MeshMayaUVSetList;


    //	===========================================================================
	/** \struct		MeshMayaUVSet
		Structure that holds UVs for all vertex-faces for a single UV set.
	*/	
	//	===========================================================================
	struct VertexBoneAssigment {
        int boneId;
		float weight;
	};
	typedef list<VertexBoneAssigment> VertexBoneAssigmentList;


	//	===========================================================================
	/** \struct		MeshMayaGeometry
		Structure that holds all data for a single Maya mesh.
	*/	
	//	===========================================================================
	struct MeshMayaGeometry {
		MString                  Name;
		MString                  MaterialName;
		MPointArray			     Vertices;
		MFloatVectorArray	     FaceVertexNormals;	 // face-vertex normals
		MColorArray			     FaceVertexColours;
		MIntArray			     TriangleVertexIds;	 // face-relative ids
		MIntArray			     TrianglePolygonIds; // polygon number for each triangle
		MeshMayaUVSetList	     UVSets;
        vector<MFloatArray>      Weights;
	};

	//	===========================================================================
	/** \struct		MeshFaceVertex
		Structure that defines a face-vertex.
	*/	
	//	===========================================================================
	struct MeshFaceVertex {
		Vector3          vecPosition;
		Vector3          vecNormal;
		ColourValue      colour;
		MeshVertexUVList listUV;

        VertexBoneAssigmentList boneAssigments;

		bool operator==(const MeshFaceVertex& other) const {
            // that's enough for equality (boneAssigment is not neccessery)
            return
                colour == other.colour
                && vecPosition == other.vecPosition
                && vecNormal == other.vecNormal
                && listEqual(
                    listUV.begin(), other.listUV.begin(),
                    listUV.end(), other.listUV.end()
                );                
		}
	};
	typedef vector<MeshFaceVertex> MeshFaceVertexVector;


	//	===========================================================================
	/** \struct		MeshTriFace
		Structure that defines a triangular face as a set of 3 indices into an
		arrray of MeshFaceVertex'es.
	*/	
	//	===========================================================================
	struct MeshTriFace {
		unsigned long index0;
		unsigned long index1;
		unsigned long index2;
	};
	typedef list<MeshTriFace> MeshTriFaceList;


	//	===========================================================================
	/** \class		MeshGenerator
		\author		John Van Vliet, Fifty1 Software Inc.
		\version	1.0
		\date		June 2003

		Generates an Ogre mesh from a Maya scene. The complete Maya scene is 
		represented by a single Ogre Mesh, and Maya meshes are represented by 
		Ogre SubMeshes.
	*/	
	//	===========================================================================
	class MeshGenerator	{
	public:

		/// Standard constructor.
		MeshGenerator();
		
		/// Destructor.
		virtual ~MeshGenerator();

		/// Export the complete Maya scene (called by OgreMaya.mll or OgreMaya.exe).
		bool exportAll();

		/// Export selected parts of the Maya scene (called by OgreMaya.mll).
		bool exportSelection();

	protected:
		/// Required for OptionParser interface.
		//bool _validateOptions();

		/// Return visibility of a DAG node.
		bool _isVisible(MFnDagNode &fnDag, MStatus &status);
		
		/// Process a Maya polyMesh.
		MStatus _processPolyMesh(ofstream& out, const MDagPath dagPath);
		MStatus _queryMayaGeometry(MFnMesh &fnMesh, MeshMayaGeometry &rGeom);
		MStatus _parseMayaGeometry(MFnMesh &fnMesh,
			                       MeshMayaGeometry &MayaGeometry, 
			                       MeshFaceVertexVector &FaceVertices, 
								   MeshTriFaceList &TriFaces);		

		void _convertObjectToFace(MItMeshPolygon &iterPoly, MIntArray &objIndices, MIntArray &faceIndices);

        MString getMaterialName(MFnMesh &fnMesh);

	};

} // namespace OgreMaya

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜精品17c| 在线观看亚洲精品| 91视视频在线直接观看在线看网页在线看| 成人国产电影网| 色综合久久九月婷婷色综合| 欧美日韩另类国产亚洲欧美一级| 欧美一区二区国产| 国产精品嫩草久久久久| 五月婷婷色综合| 成人黄色综合网站| 欧美另类videos死尸| 欧美国产日韩精品免费观看| 香蕉影视欧美成人| 不卡电影免费在线播放一区| 欧美酷刑日本凌虐凌虐| 中文一区在线播放| 蜜桃91丨九色丨蝌蚪91桃色| 99久久国产综合精品麻豆| 精品成a人在线观看| 亚洲一区二区三区三| 丁香六月久久综合狠狠色| 欧美精品高清视频| 亚洲国产日韩综合久久精品| 国产一区二区三区美女| 日韩午夜精品视频| 天天综合色天天| 91丨九色porny丨蝌蚪| 中文一区在线播放| 成人福利在线看| 国产精品理论片| 国产91丝袜在线18| 中文字幕的久久| 国产成人免费在线视频| 久久久亚洲精品一区二区三区| 蜜乳av一区二区| 日韩黄色在线观看| 国产一区 二区 三区一级| 欧美日韩五月天| 日韩一区中文字幕| 在线精品视频一区二区| 亚洲三级电影全部在线观看高清| 成人精品视频一区二区三区尤物| 欧美精品一区二区三| 国产aⅴ精品一区二区三区色成熟| 久久精品视频一区二区三区| 国产精品一区二区91| 国产精品久久夜| 在线免费一区三区| 亚洲超碰97人人做人人爱| 欧美日韩的一区二区| 轻轻草成人在线| 久久久精品2019中文字幕之3| 国产高清成人在线| 一区二区三区四区在线播放 | 精品国产一区二区三区忘忧草| 国内欧美视频一区二区| 国产精品久久久久精k8| 欧美特级限制片免费在线观看| 色综合亚洲欧洲| 蜜桃视频在线一区| 亚洲欧美日韩电影| 久久人人97超碰com| 91美女福利视频| 国产在线视视频有精品| 亚洲精品v日韩精品| 精品奇米国产一区二区三区| 99久久久久久| 国产一区二区福利| 亚洲成av人在线观看| 久久精品夜夜夜夜久久| 欧美日韩高清一区二区| 国产成人福利片| 麻豆精品一区二区av白丝在线| 国产精品网站导航| 欧美精品一区男女天堂| 欧美日韩国产高清一区二区三区 | 91美女精品福利| 福利91精品一区二区三区| 日韩成人精品在线观看| 一区二区三区毛片| 国产日韩欧美精品在线| 精品国产91亚洲一区二区三区婷婷| 一本久道久久综合中文字幕| 丰满岳乱妇一区二区三区 | 欧美在线观看一区二区| 成人国产精品视频| 粉嫩久久99精品久久久久久夜| 国产在线精品一区二区夜色| 天天影视网天天综合色在线播放| 日韩一区有码在线| 综合色天天鬼久久鬼色| 国产精品福利电影一区二区三区四区 | 国产精品亲子伦对白| 久久精品国内一区二区三区| 麻豆精品视频在线观看免费| 日本不卡视频在线观看| 国产精品一线二线三线| 狠狠久久亚洲欧美| 国产不卡视频一区| 99久久免费国产| 色悠悠久久综合| 欧美丰满一区二区免费视频| 7777精品伊人久久久大香线蕉完整版 | 欧美男女性生活在线直播观看| 欧美疯狂做受xxxx富婆| 欧美电影免费观看完整版| 久久久久9999亚洲精品| 亚洲精品成人悠悠色影视| 日日骚欧美日韩| 国产原创一区二区| 91社区在线播放| 精品久久久久av影院| 亚洲视频在线一区二区| 午夜精品123| 国产精品一区二区在线观看网站| 国产视频在线观看一区二区三区| 亚洲欧美电影一区二区| 久久99久久精品| 91理论电影在线观看| 精品国产露脸精彩对白| 亚洲午夜激情网页| 成人污视频在线观看| 欧美一级电影网站| 亚洲私人黄色宅男| 国产美女在线观看一区| 欧美日韩精品欧美日韩精品一 | 欧美午夜电影一区| 久久久另类综合| 日韩高清在线电影| 在线视频你懂得一区| 中文一区在线播放| 久久精品理论片| 宅男在线国产精品| 亚洲午夜在线观看视频在线| 成人av网站在线观看免费| 日韩亚洲电影在线| 日韩精品一级中文字幕精品视频免费观看| 国产成人精品网址| 2023国产精品自拍| 欧美96一区二区免费视频| 欧美日韩一本到| 亚洲电影视频在线| 在线观看www91| 亚洲一区二区综合| 欧美色视频在线| 日韩精品亚洲一区二区三区免费| 精品视频全国免费看| 亚洲国产美女搞黄色| 欧美巨大另类极品videosbest| 亚洲一区二区三区国产| 精品视频在线免费| 免费视频最近日韩| 久久久五月婷婷| 99久久精品国产网站| 亚洲欧美日韩成人高清在线一区| 在线日韩一区二区| 午夜精品免费在线| 精品成人在线观看| 99麻豆久久久国产精品免费| 亚洲精品国产a| 欧美日韩电影一区| 国产精品影视天天线| 成人免费一区二区三区视频| 欧美色偷偷大香| 国产成人在线影院| 午夜影院久久久| 久久一留热品黄| 色先锋资源久久综合| 美女在线视频一区| 综合激情成人伊人| 精品av久久707| 色乱码一区二区三区88| 麻豆国产一区二区| 一区二区三区国产| 国产欧美一区二区在线观看| 色综合天天综合给合国产| 免费观看一级特黄欧美大片| 中文字幕一区二区三区在线不卡| 欧美色大人视频| 99免费精品在线观看| 狠狠网亚洲精品| 肉丝袜脚交视频一区二区| 国产精品色在线| 亚洲精品一区二区精华| 欧美日韩一区二区不卡| bt7086福利一区国产| 麻豆国产精品777777在线| 亚洲国产精品久久一线不卡| 国产精品视频你懂的| 久久精品人人做人人综合| 日韩一区二区不卡| 91精品国产综合久久香蕉的特点| 一本大道综合伊人精品热热 | 欧美96一区二区免费视频| 亚洲成人精品影院| 一区二区高清在线| 樱花草国产18久久久久| 中文字幕一区二区三区在线观看| 欧美国产精品中文字幕| 国产精品热久久久久夜色精品三区 |