游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1711|回复: 1

请教大家一个问题CG里如何传输结构类型参数

[复制链接]

2

主题

6

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2011-12-20 16:14:00 | 显示全部楼层 |阅读模式
[em24]
void SpotLight_ps(float4 position : TEXCOORD,
                                  float3 normal   : TEXCOORD,
                                  
                                  out float4 oColor : COLOR,
                                  
                                  uniform stLight light,
                                  uniform stMaterial Mtrl, // 结构
                                  uniform float3 eyePosition,
                                  uniform float3 globalAmbient)
{
        float3 V = position.xyz;
        float3 N = normalize(normal);

        // 放射值
        float3 Emissive = Mtrl.Ke;

        // 环境光值
        float3 Ambient = Mtrl.Ka * globalAmbient;

        float3 Diffuse, Specular;
        AttenuationLighting(light, V, N, eyePosition,
                                                Mtrl.shininess, Diffuse, Specular);

        oColor.xyz = Emissive + Ambient + Diffuse + Specular;
        oColor.w = 1;
}

0

主题

22

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2011-12-28 02:41:00 | 显示全部楼层

Re: 请教大家一个问题CG里如何传输结构类型参数

好像不行,我看到的例子都是这样写的:
void C5E3f_basicLight(float4 position  : TEXCOORD0,
                      float3 normal    : TEXCOORD1,
                      out float4 color     : COLOR,

              uniform float3 globalAmbient,
              uniform float3 lightColor,
              uniform float3 lightPosition,
              uniform float3 eyePosition,

              uniform float3 Ke,
              uniform float3 Ka,
              uniform float3 Kd,
              uniform float3 Ks,
              uniform float  shininess)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-9 05:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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