U3DC.COM | 优三帝研究院

Menu

Cg教程(一):什么是Cg语言,什么是渲染管线

什么是Cg?

Cg即:C for graphics。

Cg是专门用来变换顶点和片段的。

它提供了数组和机构,拥有现代语言的:循环、条件和函数调用。

支持向量和矩阵。
Cg包含了一套标准库,内置了大部分Cg程序所需的声明,这样就不需要像c或者c++一样需要用#include来引入。

Cg包含了一个硬件的配置(profile),指定一个配置对应一个硬件和图形api的组合(就是类似unity中指定不同硬件的pass一样样的,而随着摩尔定律的推动,这个profile将越来越不重要);


渲染流水线:

顶点—顶点变换—图元装配和光栅化(顶点连接信息)—片段—片段纹理映射和着色(片段着色)—光栅化(更新像素)。


什么是顶点:

顶点包含的信息:位置、颜色、第二颜色(反射)、一个或者多个纹理坐标集、法向量(方向,用来计算光照)

渲染管线每个阶段都做了什么:
顶点变换:将顶点的位置变换到屏幕以便光栅化操作
图元装配:装配成三角形,光栅器根据多边形的方向来丢弃一些多边形,进行裁剪。
光栅化:把几何图元光栅为像素大小的片段填充三角形

插值、贴图和着色:从顶点得到的值被用来插值,然后用于贴图和着色。


Cg在渲染流水线中如何起作用:
顶点程序是在顶点变换之前和顶点变换之后这中间做的事情。
而片段程序是在光栅化之前和光栅化之后这中间做的事情。
打赏
— 于 共写了545个字
— 文内使用到的标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据