游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2385|回复: 9

再请教个问题:固定功能流水线下如何指定用于cubic env-ma

[复制链接]

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
发表于 2006-7-31 19:55:00 | 显示全部楼层 |阅读模式
固定功能流水线下如何指定用于cubic env-mapping的摄像机位置坐标?
谢谢。

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-8-1 10:41:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2006-8-1 11:30:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

楼上说的方法我试过了,出来的结果只反射-Z方向的环境。

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2006-8-1 11:34:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

SetTransform World应该会自动把顶点法线变换了吧?现在不管我的摄像机在什么位置,他反射出来的都好像实在-Z轴上某处看到的样子,到底怎么回事????
technique FixedFunc
{
    pass p0
    {
        // Set up reasonable material defaults
        MaterialAmbient = {0.0, 0.0, 0.0, 0.0};
        MaterialDiffuse = {0.9, 0.9, 0.9, 0.0};
        MaterialSpecular = {1.0, 1.0, 1.0, 1.0};
        MaterialPower = 10.0f;
        
        //
        NormalizeNormals = true;

        // Set up one directional light
        LightType[0]      = DIRECTIONAL;
        LightDiffuse[0]   = {1.0, 1.0, 1.0, 1.0};
        LightSpecular[0]  = {1.0, 1.0, 1.0, 1.0};
        LightAmbient[0]   = {0.0, 0.0, 0.0, 1.0};
        LightDirection[0] = <lightDir>; // Use the vector parameter defined above
        LightRange[0]     = 100000.0;
        
        // Turn lighting on and use light 0
        LightEnable[0] = true;
        Lighting = true;
        SpecularEnable = true;
               

        // Set up texture stage 0
        Texture[0] = <texDiffuse>; // Use the texture parameter defined above
        ColorOp[0] = modulate;
        ColorArg1[0] = Texture;
        ColorArg2[0] = Diffuse;
        AlphaOp[0] = Modulate;
        AlphaArg1[0] = Texture;
        AlphaArg2[0] = Diffuse;
        MinFilter[0] = Linear;
        MagFilter[0] = Linear;
        MipFilter[0] = Linear;
        TexCoordIndex[0] = PassThru;

        // Enable texture stage 1
        Texture[1] = <texEnv>;
        MinFilter[1] = Linear;
        MagFilter[1] = Linear;
        MipFilter[1] = Linear;
        ColorArg1[1] = Texture;
        ColorArg2[1] = Current;
        ColorOp[1] = Add;
        AlphaOp[1] = disable;
        TexCoordIndex[1] = CAMERASPACEREFLECTIONVECTOR;//SPHEREMAPCAMERASPACEPOSITION;
        

    }
}

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2006-8-1 11:57:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

会不会固定功能的就只能采样单个surface的环境,只有用shader才能写出真正的对六个面的环境采样?
现在我手头的参考资料全都使用shader写的立方体环境查找,fixed function版本的找不到,郁闷ing...

18

主题

92

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2006-8-1 16:47:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

会不会大侠没有开启3D的纹理坐标?

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2006-8-2 10:06:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

“开启3D的纹理坐标”是指什么? 是D3DFVF_TEXCOORDSIZE3(0)么?

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-8-2 11:52:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

指的是SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT3 );
自动生成的纹理坐标会忽略你的FVF,但需要指定变换出来的纹理坐标维数

65

主题

518

帖子

521

积分

高级会员

Rank: 4

积分
521
 楼主| 发表于 2006-8-2 23:45:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

“SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT3 );“
这句我写了,没有变化。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-8-3 09:50:00 | 显示全部楼层

Re:再请教个问题:固定功能流水线下如何指定用于cubic env

找 dx8.1 的 SDK,里面的 cubic env-mapping 是用 ffp 写的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 01:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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