游戏开发论坛

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

一个很简单的PixelShader,大家看看有错误吗?

[复制链接]

19

主题

42

帖子

44

积分

注册会员

Rank: 2

积分
44
发表于 2008-7-13 22:31:00 | 显示全部楼层 |阅读模式
给面上的纹理加上光照效果是不是这样(光照的计算还是用固定管线)

sampler layer0Texture;

struct PS_INPUT
{
        vector diffuse : COLOR0;  //这个应该是已经用固定管线算好的值
        float2 basecoord        : TEXCOORD0;
};

struct PS_OUTPUT
{
        vector diffuse : COLOR0;
};


PS_OUTPUT Main(PS_INPUT input)
{
        PS_OUTPUT output = (PS_OUTPUT)0;

        half3 layer0 = tex2D(layer0Texture, input.basecoord).xyz;

        layer0 = layer0 * input.diffuse.xyz;  //不知道是不是这样
        output.diffuse.xyz = layer0;
        output.diffuse.w=1;
        return output;
}

51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2008-7-13 23:04:00 | 显示全部楼层

Re:一个很简单的PixelShader,大家看看有错误吗?

那个xyz是什么 能连着写吗

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2008-7-14 09:37:00 | 显示全部楼层

Re:一个很简单的PixelShader,大家看看有错误吗?

既然要用shader,就不要用fixed function来计算光照
这样混用非常不好

19

主题

42

帖子

44

积分

注册会员

Rank: 2

积分
44
 楼主| 发表于 2008-7-14 17:36:00 | 显示全部楼层

Re:一个很简单的PixelShader,大家看看有错误吗?

恩 我就想知道这个PS能不能和固定管线计算出来的光照后的顶点颜色混合??
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 23:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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