游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2556|回复: 7

关于多层(4层)纹理混合(多遍渲染)的问题

[复制链接]

20

主题

65

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2009-8-25 19:14:00 | 显示全部楼层 |阅读模式
大家好,向大家提一个问题,
我现在话一个地形 ,有两层纹理,使用两次渲染来进行混合。第一次不透明的渲染,第二次根据顶点的DIFFUSE进行渲染。
如下
Device->SetTexture(0, Tex_1);
Device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
Device->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
Device->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
Device->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1 );

Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0,rowidth*colheight,0,(rowidth-1)*(colheight-1)*2);
               

Device->SetTexture(0, Tex_2);
Device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
Device->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
Device->SetRenderState( D3DRS_ALPHABLENDENABLE,TRUE);
Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0,rowidth*colheight,0,(rowidth-1)*(colheight-1)*2);
Device->SetRenderState( D3DRS_ALPHABLENDENABLE,FALSE);

现在我想增加2个纹理,总纹理达到4层,想用同样的方法进行混合。但是DIFFUSE 这个东东只有一个,无法表示2、3、4层纹理的透明程度。我想问一下各位达人有什么办法来记录顶点第2、3、4层的透明程度吗?
我听说可以使用DIFFUSE 的前两位表示第一次 2-3位表示第二层 4-5位表示第三层。请问这样需要怎么来实现?

谢谢大家,希望不吝赐教。谢谢

20

主题

65

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2009-8-26 11:39:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

ding

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-8-27 08:33:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

同问

15

主题

40

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2009-8-27 10:26:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

多遍渲染? 要达到什么样的效果?

9

主题

75

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2009-8-27 11:07:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

一般是专门用一张纹理来表示权重,用ARGB来记录1,2,3,4层的alpha权重

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-8-27 12:37:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

用专门的纹理来表示权重的话,会不会太浪费了阿。因为我用四张纹理可以绘制出来很多地图,仅仅是高度点和漫反射颜色不同,但是如果用一张纹理来表示权重的话,那么这些地图每一个都需要配置一个权重纹理?

13

主题

312

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2009-8-27 13:51:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

我见过最NB的方式吝啬到用一个MIPMAP的奇数层放纹理A,偶数层放纹理B,然后Shader自己控制LOD,效果也不是太差。

.


------------------------------------------------------------------------------------------------
欢迎访问 http://www.opengpu.org/bbs/

OpenGPU图形开源社区,聚焦各种GPU Architecture(图形处理器体系结构)以及各种Graphics Algorithm(图形算法),Open Source Rendering Engine(开源渲染器)、Open Source GPU Simulator/RTL Implement(开源GPU模拟器)的项目,欢迎访问


2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-8-27 20:50:00 | 显示全部楼层

Re:关于多层(4层)纹理混合(多遍渲染)的问题

哦,谢谢大家,还有谁能给点建议马?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-21 04:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表