游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1556|回复: 3

问难的没人搭理,问个简单的,渲染两个平面需要几个缓冲区?

[复制链接]

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
发表于 2007-12-19 16:24:00 | 显示全部楼层 |阅读模式
问难的没人搭理,问个简单的,渲染两个平面需要几个缓冲区?
渲染一个面至少需要一个缓冲区吧,如果渲染两个或更多个面时,需要几个缓冲区?还是一个的话,那多个纹理如何处理?谢谢,答对有奖

7

主题

41

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2007-12-19 16:46:00 | 显示全部楼层

Re:问难的没人搭理,问个简单的,渲染两个平面需要几个缓

不明白你的缓冲区指的是什么缓冲区.

不过即然是缓冲区,那么根据实际情况,可能是0个,也可能是1个,还有可能是N个,按需而定的,没有必须要几个的说法.

13

主题

46

帖子

46

积分

注册会员

Rank: 2

积分
46
 楼主| 发表于 2007-12-19 16:55:00 | 显示全部楼层

Re:问难的没人搭理,问个简单的,渲染两个平面需要几个缓

在OPENGL中,是先设置纹理,再设置纹理过滤,就可以使用多个纹理,像下面这样(使用两个)
    //路面
    //glTranslatef(0,0,0);
    SelectTextureRepeat(oTexture[5]);
    glBegin(GL_QUADS);            
        glTexCoord2f(0,0);        glVertex3f(-MX/2,0,-MZ/2);
        glTexCoord2f(10,0);        glVertex3f( MX/2,0,-MZ/2);
        glTexCoord2f(10,10);    glVertex3f( MX/2,0, MZ/2);
        glTexCoord2f(0,10);        glVertex3f(-MX/2,0, MZ/2);
    glEnd();

    //地面
    glTranslatef(0,-0.1,0);
    SelectTextureRepeat(oTexture[6]);
    glBegin(GL_QUADS);            
        glTexCoord2f(0,0);        glVertex3f(-MX/16,0,-MZ/2);
        glTexCoord2f(2,0);        glVertex3f( MX/16,0,-MZ/2);
        glTexCoord2f(2,20);        glVertex3f( MX/16,0, MZ/2);
        glTexCoord2f(0,20);        glVertex3f(-MX/16,0, MZ/2);
    glEnd();







但是在DX中,不知道怎么弄了,因为它的代码如下
                //在后台缓冲区绘制图形
                pd3dDevice->SetTexture(0,g_pTexture);

                //设置过滤模式
                pd3dDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);//D3DTEXF_POINT,D3DTEXF_LINEAR,D3DTEXF_ANISOTROPIC
                pd3dDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);//最近点采样,线性纹理过滤,各项异性纹理过滤
               
                //重叠纹理寻址模式
                pd3dDevice->SetSamplerState(0,D3DSAMP_ADDRESSU,D3DTADDRESS_WRAP);
                pd3dDevice->SetSamplerState(0,D3DSAMP_ADDRESSV,D3DTADDRESS_WRAP);

                pd3dDevice->SetStreamSource(0,g_pVB,0,sizeof(CUSTOMVERTEX));

                pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
                pd3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);

        V( pd3dDevice->EndScene() );


可我想用两个纹理怎么做呀?像OGL哪样,

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2007-12-23 17:22:00 | 显示全部楼层

Re:问难的没人搭理,问个简单的,渲染两个平面需要几个缓

LZ可以看看多纹理渲染这方面的知识
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 20:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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