Cg学习记录002 之Uniform参数

Uniform参数这一节书中给出的cg顶点程序参考代码如下:

// This is C2E2f_passthru from "The Cg Tutorial" (Addison-Wesley, ISBN
// 0321194969) by Randima Fernando and Mark J. Kilgard.  See page 62.

struct C3E1v_Output {
  float4 position : POSITION;
  float3 color    : COLOR;
};

C3E1v_Output C3E1v_anycolor(float2 position : POSITION,
                           uniform float3 constantColor)
{
  C3E1v_Output OUT;

  OUT.position = float4(position,0,1);
  OUT.color = constantColor;  // some RGB color

  return OUT; 
}

在应用程序中是如何将参数uniform float3 constantColor传进来的呢?

在查看了对应的应用程序之后我的理解如下:

第一步,应用程序首先声明了一个static的CGparameter类型的变量myCgVertexParam_constantColor。这个变量类型是一种能够指向Cg入口函数参数的句柄。

 

然后,应用程序调用Cg库函数如下:

myCgVertexParam_constantColor =
    cgGetNamedParameter(myCgVertexProgram, "constantColor");

这样该应用程序就从Cg入口程序C3E1v_anycolor中得到名为“constantColor”的参数句柄。

 

最后,使用myCgVertexParam_constantColor句柄将颜色值载入图形处理器中。如下:

  cgSetParameter3f(myCgVertexParam_constantColor,
                   0.7, 0.1, 0.1);  /* Red */
  cgUpdateProgramParameters(myCgVertexProgram);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值