wiki http://en.wikipedia.org/wiki/Shadeop Shadeop is a term used in computer graphics rendering to refer to an atomic, built-in function used in ashader. shadeop 的意思是 计算机图形渲染领域,其实就是renderman, shader 所使用的内建的函数 可以自己写shadeop(个人理解写完以后编译成dso或者dll 2009.10.10) The term is specifically used in the context of shaders written in the RenderMan Shading Language (RSL) for use with RenderMan-compliant renderers. User-defined functions written in RSL are just referred to as "functions". Hence, use of the term mostly serves as a means to distinguish the latter type from built-in type functions. However, RSL allows for binary plugins written in C to be loaded and treated like built-in shadeops. These are commonly referred to as DSO shadeops. Two RenderMan implementations, 3Delight and PhotoRealistic RenderMan, have recently added a new type called RSL plugin shadeop. This type uses a newer C++ API but otherwise can't be distinguished from the older type by a user, when called from within a shader. 用rsl写的函数只是被称为'funtions' shadeop大部分时间指内建的函数。 不过rsl允许使用C语言编写的编译过的plugin作为内建shadeop, 即DSO shadeops. 新的3delight 和prman最近支持C++ API的dso 下面的例子中, ambient(), diffuse(), faceforward(), normalize() and transform() 是内建的shadeop checkerboard()是用户自定义的shadeop plugin "checkerboard"; surface checkmatte(float Ka = 1, Kd = 1;) { normal Nf = faceforward(normalize(N), I); color pattern = checkerboard(transform("object", P)); Oi = Os; Ci = Oi * Cs * pattern * (Ka * ambient() + Kd * diffuse(Nf)); }

转载于:https://www.cnblogs.com/rdRoad/archive/2009/10/30/1592666.html

shaderop的定义相关推荐

  1. 非本地类型不能定义方法 cannot define new methods on non-local type time.Duration

    能够随意地为各种类型起名字,是否意味着可以在自己包里为这些类型任意添加方法 ? 参见下面的代码演示 : package mainimport "time"type MyDurati ...

  2. etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease

    1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...

  3. Go 知识点(05)— 类型别名与类型定义

    1. 类型别名 类型别名需要在别名和原类型之间加上赋值符号 = ,使用类型别名定义的类型与原类型等价,Go 语言内建的基本类型中就存在两个别名类型. byte 是 uint8 的别名类型: rune ...

  4. Go 学习笔记(71)— Go 接口 interface (接口定义、接口实现、接口调用、值接收者、指针接收者)

    1. 接口的定义 接口是和调用方的一种约定,它是一个高度抽象的类型,不用和具体的实现细节绑定在一起.接口要做的是定义好约定,告诉调用方自己可以做什么,但不用知道它的内部实现,这和我们见到的具体的类型如 ...

  5. 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin

    1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...

  6. OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出

    1. 定义和输出二维点 Point2f p2(3, 4);cout << "[二维点] is "<< endl << p2 << e ...

  7. 条件随机场(CRF) - 2 - 定义和形式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xueyingxue001/article/details/51498968 声明: 1,本篇为个人对 ...

  8. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用

    视图的定义与使用 1. 定义视图 2. 使用视图 1. 定义视图 在EDUC数据库中,已Student.Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G:该视图包含Stude ...

  9. MLIR: 编译器基础架构重定义

    MLIR: 编译器基础架构重定义 MLIR(多级中间表示)是语言(如 C)或库(如 TensorFlow)与编译器后端(如 LLVM)之间的中间表示 (IR) 系统.允许不同语言的不同编译器堆栈之间的 ...

最新文章

  1. AC-Tek Sidewinder v7.2.2 输送机设计+IDEA StatiCa v9.1.31.50722 钢结构混凝土结构件设计...
  2. 每天写出好代码的5个建议
  3. LeetCode 206 Reverse Linked List 解题报告
  4. MySQL Workbench Failed to Connect to MySQL at 127.0.0.1:3306 with user root Bad handshake
  5. numpy 归一化_图卷积网络到底怎么做,这是一份极简的Numpy实现
  6. 微信公众号爬虫方案分析
  7. 计算机部分应用显示模糊,电脑应用显示模糊怎么办
  8. 在iOS中高效的加载图片
  9. 16种英语时态总结归纳
  10. 算算职场薪水账 到手3000元税前工资约3760元
  11. 向武 清华大学 计算机,双胞胎兄弟向威、向武同时考上清华大学
  12. 联想服务器怎么装系统和配置,联想服务器的配置及操作系统的安装.pdf
  13. 【老罗笔记】异类(Outliers)
  14. 狼牙月下----纳兰的、执子之手,生死勿离
  15. WIn10编译Audacity——C++
  16. oracle文件系统挂载点,挂载和取消挂载文件系统概述
  17. 聚划算火拼如何参团 聚划算火拼效果怎么样
  18. 企业IT管理员IE11升级指南【17】—— F12 开发者工具
  19. C语言中的分支结构和循环结构有哪些,【单选题】下面哪种不是C语言中的基本结构______。 A. 顺序结构 B. 分支结构 C. 跳转结构 D. 循环结构...
  20. 25000 字详解 23 种设计模式,原来可以这么简单!

热门文章

  1. 互联网连菜市场也不放过
  2. 为什么以前的电视一打雷就容易烧坏,现在的电视就不那么怕雷?
  3. 你们的苹果手机,关闭哪些功能比较省电?
  4. 计算机四级数据库往年考试题,全国计算机等级考试四级数据库论述题历年真题(四年)...
  5. oracle ola_Ola HallengrenSQL Server维护解决方案–安装和SQL Server备份解决方案
  6. aws rds监控慢sql_如何将AWS RDS SQL Server与AWS Glue连接
  7. ssma迁移助手_如何使用SQL Server迁移助手(SSMA)和SSIS将MySQL表迁移到SQL Server
  8. 表级触发器不支持ddl语句_用于视图,过程和函数的数据库级DDL触发器
  9. 行存储索引改换成列存储索引_索引策略–第2部分–内存优化表和列存储索引
  10. Objective-C 学习 (一):Objective-C 概述