当前位置: 首页>>代码示例>>C++>>正文


C++ VertexElement::SetData方法代码示例

本文整理汇总了C++中VertexElement::SetData方法的典型用法代码示例。如果您正苦于以下问题:C++ VertexElement::SetData方法的具体用法?C++ VertexElement::SetData怎么用?C++ VertexElement::SetData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在VertexElement的用法示例。


在下文中一共展示了VertexElement::SetData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Mesh

	Mesh	*LoadCM3DFile( char const *file )
	{
		int const	nVertices = 3;

		// DUMMY DATA ---------------------------------------------------------
		// create vertices
		XMFLOAT3A	pos[nVertices];
		pos[0] = XMFLOAT3A(0.0f,  .5f, -1.0f);
		pos[1] = XMFLOAT3A( -.5f,  -.5f, -1.0f);
		pos[2] = XMFLOAT3A(0.5f, -0.5f, -1.0f);

		// colors
		XMFLOAT4	colors[nVertices] =
		{
			XMFLOAT4(1, 1, 1, 1), XMFLOAT4(1, 0, 0, 1), XMFLOAT4(0, 0, 1, 1)
		};

		// 1)	load mesh file
		// 2)	parse mesh file
		// 3)	mesh is made up of N subsets
		// 4)	for each subset:
		//			- get subset material
		//			- get subset geom info (vertex start, count, indices...)
		//			- create input element and add it to the mesh
		// 5)	load the shaders and create the input layout

		// fill the Mesh object with geom data (positions, normals...) --------
		(void)file;
		Mesh *mesh = new Mesh(/*nVertices*/);

		VertexElement	*vePos = new VertexElement(sizeof(XMFLOAT3A), nVertices);
		vePos->elementDesc.SemanticName = SemanticName::Position;
		vePos->elementDesc.InputSlot = 0;
		vePos->elementDesc.Format = DXGI_FORMAT_R32G32B32_FLOAT;
		vePos->elementDesc.InputSlot = 0;
		vePos->SetData((float *)pos);
		
		VertexElement	*veClr = new VertexElement(sizeof(XMFLOAT4), nVertices);
		veClr->elementDesc.SemanticName = SemanticName::Color;
		veClr->elementDesc.InputSlot = 0;
		veClr->elementDesc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
		veClr->elementDesc.InputSlot = 0;
		veClr->elementDesc.AlignedByteOffset = D3D11_APPEND_ALIGNED_ELEMENT;
		veClr->SetData((float *)colors);

		mesh->AddVertexElement(vePos);
		mesh->AddVertexElement(veClr);
		//mesh->LoadToBuffers();

		return mesh;
	}
开发者ID:dotminic,项目名称:code,代码行数:51,代码来源:GeometryLoader.cpp


注:本文中的VertexElement::SetData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。