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


C++ VertexFormat::SetElement方法代码示例

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


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

示例1: CreateQuad

void DefferedShadingDemo::CreateQuad()
{
	using namespace engine;
	struct Vertex
	{
		math::Vector3			pos;
		math::Vector2			uv;
	};

	Vertex verts[] = 
	{
		{ math::Vector3(-1, 1, 0), math::Vector2(0, 0),},
		{ math::Vector3(1, 1, 0), math::Vector2(1, 0),},
		{ math::Vector3(1, -1, 0), math::Vector2(1, 1),},
		{ math::Vector3(-1, 1, 0), math::Vector2(0, 0),},
		{ math::Vector3(1, -1, 0), math::Vector2(1, 1),},
		{ math::Vector3(-1, -1, 0), math::Vector2(0, 1),},
	};

	m_pQuadVB = m_pCore->GetSysGraphics()->CreateBuffer(BT_VERTEX_BUFFER, sizeof(Vertex) * 6, verts, true);


	m_pQuadMaterial = m_pCore->GetSysGraphics()->CreateMaterialFromFile("./assets/standard/material/ds2.fx");

	VertexElement vf[] = 
	{
		VertexElement(0, VertexElement::POSITION,G_FORMAT_R32G32B32_FLOAT),
		VertexElement(0, VertexElement::TEXCOORD,G_FORMAT_R32G32_FLOAT),
	};
	VertexFormat format;

	format.SetElement(vf, 2);

	m_pQuadMaterial->SetVertexFormat(format);
}
开发者ID:lythm,项目名称:orb3d,代码行数:35,代码来源:DefferedShadingDemo.cpp

示例2: Initialize

	bool PostEffect_SSAO::Initialize(RenderSystemPtr pRS)
	{
		
		m_pMaterial = pRS->CreateMaterialFromFile("./assets/standard/material/dr_render_ssao.fx");

		VertexElement vf[] = 
		{
			VertexElement(0, VertexElement::POSITION,G_FORMAT_R32G32B32_FLOAT),
		};
		VertexFormat format;

		format.SetElement(vf, 1);

		m_pMaterial->SetVertexFormat(format);

		m_pSSAORandomTex = pRS->CreateTextureFromFile("./assets/standard/texture/ssao_rand.jpg");
		
		m_pMaterial->SetTextureByName("tex_ssao_rand", m_pSSAORandomTex);


		int w = pRS->GetFrameBufferWidth();

		int h = pRS->GetFrameBufferHeight();
		G_FORMAT rt_format[1] = {G_FORMAT_R8G8B8A8_UNORM,};
		m_pGBlurTarget = pRS->CreateRenderTarget(1, w , h , rt_format);

		if(m_pGBlurTarget == nullptr)
		{
			return false;
		}

		m_pGBlurMaterial = pRS->CreateMaterialFromFile("./assets/standard/material/dr_render_BBlur.fx");

		if(m_pGBlurMaterial == nullptr)
		{
			return false;
		}
		
		m_pGBlurMaterial->SetVertexFormat(format);
		return true;
	}
开发者ID:lythm,项目名称:orb3d,代码行数:41,代码来源:PostEffect_SSAO.cpp

示例3: Initialize

bool PostEffect_GaussianBlur::Initialize(RenderSystemPtr pRS)
{
    m_pRS = pRS;

    m_pMaterial = pRS->CreateMaterialFromFile("./assets/standard/material/dr_render_GBlur.fx");

    if(m_pMaterial == nullptr)
    {
        return false;
    }
    VertexElement vf[] =
    {
        VertexElement(0, VertexElement::POSITION,G_FORMAT_R32G32B32_FLOAT),
    };
    VertexFormat format;

    format.SetElement(vf, 1);

    m_pMaterial->SetVertexFormat(format);


    return true;

}
开发者ID:lythm,项目名称:orb3d,代码行数:24,代码来源:PostEffect_GaussianBlur.cpp


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