`
yiyeqinghuasoon
  • 浏览: 663185 次
文章分类
社区版块
存档分类
最新评论

IDirect3DDevice9::SetTexture 方法

 
阅读更多

原文:Assigns a texture to a stage for a device.

译文:分配一个纹理到一个设备层

语法(Syntax)

HRESULTSetTexture(

DWORDStage, IDirect3DBaseTexture9*pTexture );

参数(Parameters)

Stage
[in]Stage identifier to which the texture is set. Stage identifiers are zero-based. The maximum number of stages supported is determined from two caps: D3DCAPS.MaxSimultaneousTextureStages and D3DCAPS9.MaxTextureBlendingStages.

Displacement Mapping uses a special stage index, called D3DDDMAPSAMPLER.

Vertex Textures use a special stage index called D3DVERTEXTEXTURESAMPLER.

[in(用户给出参数的值)]标志要设置纹理的设备层,从0开始.支持的最大设备层数由两个标志决定:

D3DCAPS.MaxSimultaneousTextureStages和 D3DCAPS9.MaxTextureBlendingStages.

位移映射 使用特殊的层索引,称为 D3DDDMAPSAMPLER

顶点文理 使用特殊的层索引,称为 D3DVERTEXTEXTURESAMPLER

pTexture
[in]Pointer to an IDirect3DBaseTexture9 interface, representing the texture being set.
IDirect3DBaseTexture9的指针,代表要设置的纹理

返回值(Return Value)

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value can be D3DERR_INVALIDCALL.

如果该方法成功,返回值是D3D_OK

如果该方法失败,返回值可能是D3DERR_INVALICALL

备注(Remarks)

IDirect3DDevice9::SetTexture is not allowed if the texture is created with a pool type of D3DPOOL_SCRATCH. IDirect3DDevice9::SetTexture is not allowed with a pool type of D3DPOOL_SYSTEMMEM texture unless DevCaps is set with D3DDEVCAPS_TEXTURESYSTEMMEMORY.

IDirect3DDevice9::SetTexture 不允许(调用)若文理是以D3DPOOL_SCRATCH类型池创建的话.

同样D3DPOOL_SYSTEMMEM池类型创建的纹理也不允许,除非DevCaps设置为D3DDEVCAPS_TEXTURESYSTEMMEMORY.

分享到:
评论

相关推荐

    简单的D3D9纹理共享

    5. 应用纹理:在绘制3D模型时,我们使用`IDirect3DDevice9::SetTexture`函数将纹理绑定到特定的纹理阶段,然后使用相应的纹理坐标进行渲染。 现在,让我们转向纹理共享。在D3D9中,不同设备之间共享纹理可以提高...

    D3D的初始化

    使用`IDirect3DDevice9::CreateTexture`可以创建纹理,然后通过`IDirect3DTexture9::GetSurfaceLevel`获取其表面,再用`IDirect3DDevice9::SetTexture`将其设置为当前贴图。 5. **设置视口**: 视口定义了3D场景在2D...

    Direct的初学技术

    Direct3D提供了加载和应用纹理的功能,例如通过`IDirect3DDevice9::CreateTexture`创建纹理对象,然后用`IDirect3DDevice9::SetTexture`将其绑定到着色器的特定纹理槽。纹理坐标与顶点数据结合,使得3D模型能够正确...

    Direct3D纹理贴图

    4. 绑定纹理:在渲染前,使用`IDirect3DDevice9::SetTexture`方法将纹理对象绑定到纹理阶段。 5. 应用纹理:在顶点着色器或像素着色器中,使用纹理坐标映射纹理到模型表面。 同时,Direct3D中的光源和材质设置也是...

    Direct3D的Sample程序 Lesson6

    通过IDirect3DDevice9::CreateTexture接口,我们可以创建纹理对象,然后使用IDirect3DDevice9::SetTexture方法将纹理应用到特定的纹理阶段。此外,我们还需要设置纹理坐标来确定纹理如何覆盖3D模型的表面,这通常...

    direct3d立方体多个贴图及旋转

    在Direct3D中,可以通过IDirect3DDevice9::SetTexture方法加载和应用纹理,并使用IDirect3DDevice9::SetTextureStageState设置纹理混合参数,控制不同纹理的融合效果。 4. **物体旋转**: 在3D空间中,物体的旋转...

    RenderToTexture.rar

    接着,我们要将这个纹理设置为渲染目标,这通过调用`IDirect3DDevice9::SetRenderTarget`方法实现,传入纹理对象的句柄作为参数。同时,可能还需要设置深度缓冲区,以便正确处理3D场景的深度关系。 在渲染到纹理的...

    direct3d_texture.rar_Talk Talk

    3. **纹理绑定**: 纹理需要与特定的渲染阶段(如顶点纹理、像素纹理等)关联,这通过`IDirect3DDevice9::SetTexture`函数完成,传入对应的阶段索引和纹理对象。 4. **纹理过滤**: 为了实现平滑缩放和视距模糊效果,...

    DX中纹理的加载

    这通过IDirect3DDevice9::SetTexture方法实现,传入纹理对象和贴图阶段的索引。 5. 设置纹理坐标:在顶点着色器或像素着色器中指定纹理坐标,以便正确地映射纹理到几何体。 6. 绘制:最后,调用IDirect3DDevice9::...

    Direct3D9初级教程(程序)

    5. 纹理和材质:Direct3D9支持纹理映射,通过IDirect3DDevice9::SetTexture和IDirect3DDevice9::SetTextureStageState可以设置纹理。材质则通过D3DMATERIAL9结构体定义,它可以控制物体的反射、漫射、高光等属性。 ...

    shanxing.rar_directx9

    这通常涉及创建纹理对象、加载位图数据,然后在绘制时使用IDirect3DDevice9::SetTexture方法设置当前纹理。 6. **渲染状态**:在绘制过程中,开发者需要频繁地设置和改变渲染状态,如深度测试、混合模式、抗锯齿等...

    Direct3D9 初级教程

    - **纹理应用**: 通过IDirect3DDevice9::SetTexture和D3DTEXTUREFILTERTYPE设置纹理贴图和过滤方式。 6. **视口和投影** - **视口设置**: 使用IDirect3DDevice9::SetViewport调整渲染区域,关联3D空间和屏幕空间...

    Texture Mapping

    通过调用`IDirect3DDevice9::SetTexture`方法,你可以将纹理资源与特定的纹理阶段关联起来。 4. **设置纹理坐标栈**:Direct3D9支持多纹理混合,因此可以同时使用多个纹理。这就需要使用纹理坐标栈(Texture ...

    DX 纹理贴图 事例

    这可以通过调用`IDirect3DDevice9::SetTexture`函数完成,传入纹理对象和纹理阶段号(通常为0)。 5. **绘制3D模型**:在渲染循环中,使用`IDirect3DDevice9::DrawPrimitive`或`IDirect3DDevice9::...

    天空盒DirectX9.0(C++代码)

    4. **绘制立方体**:在每帧渲染时,先清除颜色和深度缓冲区,然后使用`IDirect3DDevice9::SetTexture`方法设置六个面的纹理。接着,绑定顶点缓冲区,调用`IDirect3DDevice9::DrawPrimitiveUP`绘制立方体的六个面。 ...

    DirectX9基础代码--纹理

    3. 应用纹理:在绘制3D模型时,将纹理与顶点坐标结合,使用`IDirect3DDevice9::SetTexture`将纹理绑定到特定的纹理阶段。 4. 绘制:调用`IDirect3DDevice9::DrawPrimitive`等方法绘制带纹理的3D模型。 在项目代码中...

    D3D顶点索引绘制椎体并进行纹理贴图

    在渲染椎体时,通过设置IDirect3DDevice9::SetTexture和IDirect3DDevice9::SetTextureStageState来应用纹理,并在顶点着色器或像素着色器中使用纹理坐标。 至于"投影变换"和"取景变换",这是D3D中进行场景视图和...

    VC_中利用DirectX实现3DS文件的读取和控制

    在DirectX中,可以通过`IDirect3DDevice9::SetTexture`函数来设置纹理。 4. **光照与阴影**:光照效果是实现高质量渲染的关键因素之一。DirectX提供了丰富的光照模型,包括环境光、漫反射光、高光等。 5. **动画与...

    dx9凹凸贴图程序实例

    然后,我们会调用IDirect3DDevice9::SetTexture函数来设置凹凸贴图纹理,并使用IDirect3DDevice9::SetTextureStageState函数配置纹理阶段,确保高度贴图被正确地应用于光照计算。 在着色器(Shader)部分,我们将...

    加载X文件 DirectX VC++有注释

    DirectX提供`D3DXCreateTextureFromFile()`函数来加载纹理文件,并使用`IDirect3DDevice9::SetTexture()`将纹理绑定到渲染管线。 6. **渲染**:在所有资源准备就绪后,我们可以在每帧开始时设置适当的渲染状态,如...

Global site tag (gtag.js) - Google Analytics