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


C++ IDirect3DDevice9::GetTexture方法代码示例

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


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

示例1: Save

void CState::Save()
{
	// viewport
	m_D3DDev->GetViewport(&m_Vp);

	// render states
	m_D3DDev->GetRenderState(D3DRS_ZENABLE, &m_Z);
	m_D3DDev->GetRenderState(D3DRS_CULLMODE, &m_CullMode);
	m_D3DDev->GetRenderState(D3DRS_ALPHATESTENABLE, &m_AlphaTest);
	m_D3DDev->GetRenderState(D3DRS_ALPHABLENDENABLE, &m_AlphaBlend);
	m_D3DDev->GetRenderState(D3DRS_BLENDOP, &m_BlendOp);
	m_D3DDev->GetRenderState(D3DRS_SRCBLEND, &m_SrcBlend);
	m_D3DDev->GetRenderState(D3DRS_DESTBLEND, &m_DstBlend);
	m_D3DDev->GetRenderState(D3DRS_CLIPPLANEENABLE, &m_ClipPlane);
	m_D3DDev->GetRenderState(D3DRS_FILLMODE, &m_FillMode);
	m_D3DDev->GetRenderState(D3DRS_LASTPIXEL, &m_LastPixel);
	m_D3DDev->GetRenderState(D3DRS_FOGENABLE, &m_Fog);
	m_D3DDev->GetRenderState(D3DRS_STENCILENABLE, &m_Stencil);
	m_D3DDev->GetRenderState(D3DRS_COLORWRITEENABLE, &m_ColorWrite);
	m_D3DDev->GetRenderState(D3DRS_SCISSORTESTENABLE, &m_Scissor);
	if( m_Caps.PrimitiveMiscCaps & D3DPMISCCAPS_SEPARATEALPHABLEND )
		m_D3DDev->GetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, &m_SeparateAlphaBlend);
	//if( m_Caps.LineCaps & D3DLINECAPS_ANTIALIAS )
		m_D3DDev->GetRenderState(D3DRS_ANTIALIASEDLINEENABLE, &m_AntiAliasedLine);

	// primitive
	m_D3DDev->GetFVF(&m_FVF);
	m_D3DDev->GetStreamSource(0, &m_StreamData, &m_StreamOffset, &m_StreamStride);
	m_D3DDev->GetVertexShader(&m_VertexShader);

	// texture
	m_D3DDev->GetTexture(0, &m_Tex);
	m_D3DDev->GetPixelShader(&m_PixelShader);

	// texture stage states
	m_D3DDev->GetTextureStageState(0, D3DTSS_COLOROP, &m_ColorOp);
	m_D3DDev->GetTextureStageState(0, D3DTSS_COLORARG1, &m_ColorArg1);
	m_D3DDev->GetTextureStageState(0, D3DTSS_COLORARG2, &m_ColorArg2);
	m_D3DDev->GetTextureStageState(0, D3DTSS_ALPHAOP, &m_AlphaOp);
	m_D3DDev->GetTextureStageState(0, D3DTSS_ALPHAARG1, &m_AlphaArg1);
	m_D3DDev->GetTextureStageState(0, D3DTSS_TEXCOORDINDEX, &m_TexCoordIndex);
	m_D3DDev->GetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, &m_TexTransfFlags);
	m_D3DDev->GetSamplerState(0, D3DSAMP_ADDRESSU, &m_AddressU);
	m_D3DDev->GetSamplerState(0, D3DSAMP_ADDRESSV, &m_AddressV);
	m_D3DDev->GetSamplerState(0, D3DSAMP_MAGFILTER, &m_MagFilter);
	m_D3DDev->GetSamplerState(0, D3DSAMP_MINFILTER, &m_MinFilter);
	m_D3DDev->GetSamplerState(0, D3DSAMP_MIPFILTER, &m_MipFilter);
}
开发者ID:Mashewnutz,项目名称:Slo,代码行数:48,代码来源:TwDirect3D9.cpp

示例2:

void TextureDX9::Disable(const unsigned int texUnit) const
{
	IDirect3DDevice9* device = RendererDX9::GetInstance()->GetDevice();
	HRESULT hr;

#ifdef _DEBUG
	IDirect3DBaseTexture9* activeTex = nullptr;
	hr = device->GetTexture(texUnit, &activeTex);
	assert(SUCCEEDED(hr));
	assert(activeTex == m_pTexture);
	unsigned int refCount = 1;
	refCount = activeTex->Release();
	assert(refCount == 1);
#endif

	hr = device->SetTexture(texUnit, 0);
	assert(SUCCEEDED(hr));
}
开发者ID:iftodebogdan,项目名称:ShaderEditor,代码行数:18,代码来源:TextureDX9.cpp

示例3: Disable

//----------------------------------------------------------------------------
void PdrTextureCube::Disable (Renderer* renderer, int textureUnit)
{
	IDirect3DDevice9* device = renderer->mData->mDevice;
	HRESULT hr;
	PX2_UNUSED(hr);

#ifdef PX2_PDR_DEBUG
	// 检测需要被取消激活的数据,是否匹配。
	IDirect3DBaseTexture9 *activeTexture = 0;
	hr = device->GetTexture(textureUnit, &activeTexture);
	assertion(hr == D3D_OK, "Failed to get cube texture, unit %d: %s\n",
		textureUnit, DXGetErrorString(hr));
	assertion(activeTexture == mTexture, "Mismatched textures\n");
	activeTexture->Release();
#endif

	hr = device->SetTexture(textureUnit, 0);
	assertion(hr == D3D_OK, "Failed to disable cube texture, unit %d: %s\n",
		textureUnit, DXGetErrorString(hr));
}
开发者ID:JamShan,项目名称:Phoenix3D_2.1,代码行数:21,代码来源:PX2Dx9TextureCube.cpp

示例4: assertion

//----------------------------------------------------------------------------
void PdrTexture3D::Disable (Renderer* renderer, int textureUnit)
{
    IDirect3DDevice9* device = renderer->mData->mDevice;
    HRESULT hr;
    WM5_UNUSED(hr);

#ifdef WM5_PDR_DEBUG
    // Verify that the active texture is the one making the disable request.
    IDirect3DBaseTexture9 *activeTexture = 0;
    hr = device->GetTexture(textureUnit, &activeTexture);
    assertion(hr == D3D_OK, "Failed to get 3D texture, unit %d: %s\n",
        textureUnit, DXGetErrorString(hr));
    assertion(activeTexture == mTexture, "Mismatched textures\n");
    activeTexture->Release();
#endif

    // Disable the texture by clearing the state.
    hr = device->SetTexture(textureUnit, 0);
    assertion(hr == D3D_OK, "Failed to disable 3D texture, unit %d: %s\n",
        textureUnit, DXGetErrorString(hr));
}
开发者ID:2asoft,项目名称:GeometricTools,代码行数:22,代码来源:Wm5Dx9Texture3D.cpp


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