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);

Cg学习记录002 之Uniform参数相关推荐

  1. Cg学习记录003 之Varying参数

    其实在Cg中是没有varying这种类型限制符的. 如何让程序不仅仅输出一个单一的颜色,而是可以随顶点改变的颜色或纹理坐标集呢? Cg教程中给出如下范例: // This is C3E2v_varyi ...

  2. python学习记录--转义字符 字符串 特殊参数

    转义字符与字符串 \ #转义字符.例: 如果不希望前置 \ 的字符转义成特殊字符,可以使用 原始字符串,在引号前添加 r 即可: >>>print('C:\some\name') # ...

  3. CG学习记录(四)函数

    一.入口函数 二.标准函数库 数学函数 几何函数 纹理映射函数 偏导数 调试函数

  4. ROS学习记录002:机器语音学习

    一.科大讯飞官网资料 科大讯飞:https://www.xfyun.cn/ 使用指引:https://www.xfyun.cn/doc/platform/quickguide.html#%E7%AC% ...

  5. 《SysML精粹》学习记录--第九章

    <SysML精粹>学习记录 第九章:参数图 参数图简介 参数图元素 小结 第九章:参数图 参数图简介   参数图是一种独特的SysML图,它用于说明系统的约束.这些约束一般以数学模型的方式 ...

  6. 学习记录之revised maunscript 和 response letter

    前言 这一周提交了TGCN的修订稿和回复信,有一些心得体会,记录一下. 提示:以下是本篇文章正文内容,下面案例可供参考 一.如何回复审稿意见更能打动reviewer 1.在开始前要注意回复信的结构,层 ...

  7. [转]Python3之max key参数学习记录

    Python3之max key参数学习记录 转自https://www.cnblogs.com/zhangwei22/p/9892422.html 今天用Python写脚本,想要实现这样的功能:对于给 ...

  8. OGRE+CG学习日记[1]-简单的3D程序

    OGRE+CG学习日记[1]-简单的3D程序 终于有时间开始研究OGRE和CG这些3D技术方面的东西了 先对今天的成果进行一下简单介绍 ­ 创建一个OGRE窗口,在里面放入一个怪兽头模型 ­ 写一个输 ...

  9. 【VUE】学习记录一

    [VUE]学习记录 学习视频为:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通 1.查询vue知识点: https://v2.cn.vuejs.org/ 2. 下载和引入 2.1 下 ...

最新文章

  1. bzoj1601【Usaco2008 Oct】灌水
  2. 记2018年技术人一次短暂的创业
  3. Spring 3.1:缓存和EhCache
  4. bzoj 3668 数位DP
  5. thymeleaf 判断checkbox是否选中_一日看尽长安花——复选框(CheckBox)数据清洗和统计的SAS实现...
  6. YzmCMS轻量级开源CMS v6.2
  7. 递归总结 By greenhand
  8. boost::shared_ptr文档翻译
  9. 查看linux的机器内存大小,linux 查看机器内存方法 (free命令)
  10. springboot集成钉钉_SpringBoot集成钉钉报警sdk(解决Failed to introspect Class异常)
  11. 基于DMD实现透过多模光纤(MMF)的聚焦
  12. 软媒硬盘装机 linux,魔方软媒硬盘装机一键搞定图文教程
  13. linux内核网桥源码,Linux-kernel网桥代码分析(二)
  14. GD32F103ZET6奋斗者开发板W5500通信——01 基础移植
  15. Antv X6 画布平移
  16. 套用bi模板,轻松搞定各类数据分析报表
  17. 登录outlook显示无法登录服务器,无法登录到 Outlook Web Access
  18. 阅文java面试_【上海阅文集团Java面试】阅文后端Java,二轮技术一轮HR-看准网
  19. 论文记录1_YOLO系列(v1 v2 v3 v4)
  20. thinkphp6-----微信授权登录

热门文章

  1. grep -v grep的作用
  2. Qt的QProgressDialog使用两条总结(去掉帮助和关闭、设置尺寸)
  3. 大数据有哪些软件可以使用?
  4. 百看不如一练 100道python经典题目,拿去参考学习练手(附答案)可复制
  5. 我最爱用的一款 Redis 可视化管理工具——Another Redis Desktop Manager
  6. win10系统由于服务器出错翻译失败,win10系统下谷歌浏览器翻译失败怎么办
  7. matlab 五数总括,Matlab 数据类型  五、表
  8. 城市集中供热系统 热力管网监控系统
  9. 核范数与规则项参数选择
  10. ubuntu系统添加新的字体——JetBrains Mono 字体添加实例