CG标准函数】的更多相关文章

1.CG标准函数库 和C的标准函数库类似,CG也提供了一系列的内建函数库,这些函数用于计算数学上的通用计算或算法(如纹理映射).例如:求取入射光线的反射光线用Reflect函数,求折射光线用Reflact函数,作矩阵乘法运算用mul函数.有些函数和GPU指令相对,所以执行效率非常高.绝大部分标准函数都被重载过,用于支持不同长度的数组或向量做参数. 2.CG标准函数库分为5个部分(1)数学函数(Mathematical Functions) 数学函数用于数学上的计算,包括三角函数.幂函数.圆函数.…
(1)数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回ture: 否则返回flase.&&运算 any(x) 输入参数只要有其中一个不为0,则返回true. asin(x) 反正弦函数,输入参数取值区间为[−1,1],返回角度值范围为, [−π2,π2] atan(x) 反正切函数,返回角度值范围为[−π2,π2] atan2(y,x) 计算y/x的…
(1)数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回ture: 否则返回flase.&&运算 any(x) 输入参数只要有其中一个不为0,则返回true. asin(x) 反正弦函数,输入参数取值区间为[−1,1],返回角度值范围为, [−π2,π2] atan(x) 反正切函数,返回角度值范围为[−π2,π2] atan2(y,x) 计算y/x的…
和 C 的标准函数库类似, Cg 提供了一系列内建的标准函数.这些函数用于执行数学上的通用计算或通用算法(纹理映射等),例如,需要求取入射光线的反射光线方向向量可以使用标准函数库中的 reflect 函数,求取折射光线方向向量可以使用 refract 函数,做矩阵乘法运算时可以使用 mul 函数. 有些函数直接和 GPU 指令相对应,所以执行效率非常高.绝大部分标准函数都被重载过,用于支持不同长度的数组和向量作为输入参数. Cg 标准函数会随着未来 GPU 硬件的发展而不断优化,所以基于标准函数…
一.Cg基本数据类型 float 32位浮点数 half 16位浮点数 int 32位整型 fixed 12位定点数 bool 布尔数据 simpler* 纹理对象的句柄( the handle to a texture object ) ,分为 6 类:sampler, sampler1D, sampler2D, sampler3D, samplerCUBE, 和 samplerRECT  string 字符类型(几乎不使用) 例如float4,bool4等 向量数据类型,向量长度不能超过4元…
摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人”  投影纹理映射( Projective Texture Mapping )最初由 Segal 在文章 “Fast shadows and lighting effects using texture maaping” 中提出,用于映射一个纹理到物体上,就像将幻灯片投影到墙上一样.该方法不需要在应用程序中指定顶点纹理坐标,实际上,投影纹理映…
摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人”  投影纹理映射( Projective Texture Mapping )最初由 Segal 在文章 “Fast shadows and lighting effects using texture maaping” 中提出,用于映射一个纹理到物体上,就像将幻灯片投影到墙上一样.该方法不需要在应用程序中指定顶点纹理坐标,实际上,投影纹理映…
Cg 支持7 种基本的数据类型:1. float,32 位浮点数据,一个符号位.浮点数据类型被所有的profile 支持(但是DirectX8 pixel profiles 在一些操作中降低了浮点数的精度和范围):2. half,16 为浮点数据:3. int,32 位整形数据,有些profile 会将int 类型作为float 类型使用:4. fixed,12 位定点数,被所有的fragment profiles 所支持:5. bool,布尔数据,通常用于if 和条件操作符(?:),布尔数据类…
全面巩固所知所学,往精通方向迈进! Standard C 语言标准函数库速查 (Cheat Sheet) from:http://ganquan.info/standard-c/function/ C语言标准头 <assert.h> 断言 <ctype.h> 字符类测试 <errno.h> (部分)库函数抛出的错误代码 <float.h> 浮点数运算 <limits.h> 检测整型数据类型值范围 <locale.h> 本土化 <…
0.前言 这篇文章写于去年的暑假.大二的假期时间多,小组便开发一个手机游戏的项目,开发过程中忙里偷闲地了解了Unity的shader编写,而CG又与shaderLab相似,所以又阅读了<CG教程>.<GPU 编程与CG 语言之阳春白雪下里巴人>学习图形学的基础.尝试编写unity shader时还恶补了些3D数学.这些忙里偷闲的日子,坏了空调的闷热的实验室,还真是有点怀念.当时写这些文章并不是想作为教程,只是自己的总结方便日后温习,所以文章内容都很基础. 2015/08/04 于工…
CG语言中: 不支持 switch 语句(可以写,但不能很好的执行.) 循环语句中, 循环次数不能大于 1024 ,否则会报错. If...ELSE 条件判断语句: if (true) { } else { } If...ELSE IF...ELSE... 嵌套语句 if (true) { } else if (true) { } else { } While语句: while (bool) { } Do...While语句: do { } while (bool) For 循环语句: for…
CG 跟 HLSL几乎是一摸一样的. (HLSL官方参考,包含语法格式,函数库,关键字,在这个地方: http://msdn.microsoft.com/en-us/library/bb509638(v=VS.85).aspx, 如果链接失效,用“Reference for HLSL”搜索.) Shader本身是一个单纯的单元,就是对输入(顶点或像素或物体)进行能做的算术运算,然后把结果送出的一个固件. 1.内置元类型 float: 32 bit浮点类型half:  16 bit浮点int:  …
浏览器的渲染技术 v.s. CG渲染器的渲染技术 看了两篇文章: 浏览器的渲染原理简介, How browsers work(译文), 想到了一些东西, 对比两者, 或许有些东西能想得更明白些. 以下CG Rendering 简称R, Browser简称B. 共同点: -两者都有文本描述文件 R: rib, ass, .... B: html -两者的任务都是渲染 R:从文本描述文件得到一张图片(图片里包含了模型, 材质, 灯光,....) B:从文本描述文件得到一个网页, 包含文字, 图片(位…
Turtle Talk Prior to the on-set motion capture, the team had the actors perform expressions while being scanned with Disney Research's Medusa system. The Muse team decomposed those scans into components within Fez, ILM's facial animation system that…
前文完成了最基本的镜面反射着色器,单平行光源下的逐顶点着色(per-vertex lighting),又称为古罗着色(Gouraud shading).这篇文章作为后续讨论更光滑的镜面反射方式,逐像素着色(per-pixcel lighting),又称为冯氏着色(Phong shading) 逐像素着色Per-Pixel Lighting (冯氏着色Phong Shading) 别把冯氏着色与冯氏反射模型搞混淆了,前问提到了冯氏反射模型,冯氏反射模型是为使计算机模拟接近真实的物体表面光泽提出的模…
转自http://www.itnose.net/detail/6117378.html 讨论完漫反射之后,接下来肯定就是镜面反射了 在开始镜面反射shader的coding之前,要扩充一下前面提到的知识,加深理解镜面反射与漫反射的区别. 引用一下一位前人博文中的一些基础概念,特别是关于冯氏反射模型的: 平行光(directional light) 一种是从特定方向射入并只会照亮面对入射方向的物体,我们称之为平行光(directional light). 环境光(ambient light) 另一…
转自 http://www.itnose.net/detail/6116553.html 如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开始关于反射的内容了. 折射与反射 在物理世界中,光的反射与折射往往是同时存在的,光源由真空或者空气中射入一种材料,光在进入这种材料的同时就发生了折射,折射的程度与各个介质的折射率有关,使光的传播路线偏离原来的路线: 继而如果光在通过不同传播介质的表面时,会像乒乓球一样弹回来,我们人眼能够看到东西,都…
转自 http://www.itnose.net/detail/6098474.html 经过前面的系列文章中的三个例子,尽管代码简单,但是我想应该还有些地方没有100%弄明白,我们现在得回过头来补充一些必备的数学.图形学知识 1.图形管道 第一个例子中我有提到顶点着色和片段着色在整个图形绘制过程中属于一个环节,整个过程叫做管道,这个管道的所有环节包括:     在整个管道中,只有顶点着色与片段着色是可编程的,顶点数据和帧缓存是具体的数据,剩下的环节是固定功能的环节,即不能用cg去编程的环节.…
转自 http://www.itnose.net/detail/6097625.html 上篇文章中我们掌握了表面剔除和剪裁模式 这篇文章将利用这些知识实现一个简单的,但是又很常用的例子:把一张图片做成圆角矩形 例3:圆角矩形Shader 好吧我承认在做这个例子的时候走了不少弯路,由于本人对矩阵的知识掌握已经悉数还给老师,所以一开始用了一些笨办法计算圆角矩形区域. 我们知道TEXTCOORD0是一个以对象为坐标系的坐标,并且范围在该坐标的第一象限,取值为(0,0)到(1,1) 那么我们把每一张图…
转自http://www.itnose.net/detail/6096068.html 在上一个例子中,我们得到了由mesh组件传递的信息经过数学转换至合适的颜色区间以颜色的形式着色到物体上.这篇文章将要在此基础上研究片段的擦除(discarding fragments)和前面剪裁.后面剪裁(front face culling and back face culling)来达到透明效果. 当一个mesh组件的信息被传递后,我们可以通过代码决定哪些部分渲染(render)出来,而哪些部分不要,这…
转自http://www.itnose.net/detail/6095323.html 前提知识点: 1.CG代码必须用 CGPROGRAM ... ENDCG括起来 2.顶点着色器与片段着色器的主函数名称可随意,但需要再#pragma vert 与#pragma fragment中声明并且与主函数名完全匹配,shader才会找到入口 3.float4是一种压缩数组,float4 vert与float vert[4]严格意义上讲不同,虽然都是存放4个float,但float4作为向量类型做点乘.…
Computational Geometry The Geometry Center (UIUC) Computational Geometry Pages (UIUC) Geometry in Action (UIC) Geometric Resource (UFL) CAGD Applets (UKA) Voronoi/Delaunay Applet (CornellUniversity) Directory of Computational Geometry Software (Dr. N…
一些常用的C++标准函数 double atof(const char* p); int atoi(const char* p); long atol(const char* p); cstdlib 把字符串p转化成所表示的数 与Val类似 double fabs(double);                           // cmath绝对值函数 与abs类似 double ceil(double);                            // cmath 取整函数…
Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://www.cgtsj.com/cg/f/vx3626/index.html Maya动作捕捉关键帧技术视频教程 http://www.cgtsj.com/cg/f/vx3625/index.html Maya与PS材质绘制技巧视频教程 http://www.cgtsj.com/cg/f/vx3561/i…
cg教程下载: http://cgpeers.com http://cgpersia.com http://bbs.ideasr.com/forum-328-1.html http://bbs.ideasr.com/forum-337-1.html  (杂志&期刊) http://www.rr-sc.com/ http://forum.gfxnews.orghttp://rutracker.org www.9iv.com http://www.ccgtv.cn/     资讯 http://ww…
Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?page_id=1271 ------------------------------Animation------------------------------Basics Animation 03 Drawing for Animation (基础动画03绘图动画电子书)http://www.9…