示例#1
0
		private ListMeshStream<int> EnsureStream(SeparateStreamsSubmesh separateStreamsSubmesh, string key, int channel)
		{
			return separateStreamsSubmesh.GetIndexStream(key, channel) as ListMeshStream<int> ?? separateStreamsSubmesh.SetIndexStream(key, channel, new ListMeshStream<int>(streamConverterFactory));
		}
示例#2
0
		private List<Tuple<int, ListMeshStream<int>>> StreamListOrderedByOffset(MeshInputs meshInputs, SeparateStreamsSubmesh subMesh)
		{
			var streamList = new List<Tuple<int, ListMeshStream<int>>>();
			foreach (var meshInput in meshInputs.Inputs.OrderBy(x => x.Offset))
			{
				var listMeshStream = new ListMeshStream<int>(meshInputs.Count, streamConverterFactory);
				streamList.Add(new Tuple<int, ListMeshStream<int>>(meshInput.Offset, listMeshStream));
				var key = meshInput.Semantic;
				if (key == "VERTEX") key = Streams.Position;
				subMesh.SetIndexStream(key, meshInput.Set, listMeshStream);
			}
			return streamList;
		}