cg

Cg, C for graphic, NviDIA与Microsoft合作, 兼容D3D与OpenGL;跨windows, linux, Mac和Xbox等。 在GPU上执行的


Cg的数据流模型, 输入是顶点和片段(像素), 经过Cg处理后输出。 在渲染三维场景时, 每当一个顶点被处理或者光栅器产生一个片段, 对应的顶点和片段Cg程序就会被执行。



顶点着色器与片段着色器:

<p>http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/flashplayer/articles/vertex-fragment-shaders/fig01.jpg</p>
<p>http://zhidao.baidu.com/link?url=FgKJL3xH93VmY7gWUeuTg2DYcc5bQPAs5E3P4bktIgON0vx-4VJWXHbeHucX_0x3FPUsAyeojqQuH_GXtgFlXq</p>
<p>http://zhidao.baidu.com/question/24055324.html?fr=qrl&index=4&qbl=topic_question_4&word=%B6%A5%B5%E3%D7%C5%C9%AB%C6%F7%20%C6%AC%B6%CE%D7%C5%C9%AB%C6%F7</p>
现阶段的显卡(主要是针对微软DIRECTX(驱动和操作系统的接口技术)的版本来说的)都是非统一架构的,也就是分为顶点渲染和像素渲染。
那么在显示核心的内部就分为两大区域,一个区域就是顶点渲染单元(也叫顶点着色或顶点着色引擎),主要负责描绘图形,也就是建立模形。
一个就是像素渲染管线(也叫像素渲染管道),主要负责把顶点绘出的图形填上填色。

纹理:

三维物体的绘制技术分为表面绘制和体绘制两种技术。表面绘制技术如同字面上的含义,光照、材质等等都发生在物体的表面,这也是和三维物体的表面表达技术有关(surface representation或border representation);这种技术绘制不了物体内部的细节,所以通常不能称之为真三维的表达。
比如说人体的CT三维重建,是可以看到皮肤甚至骨骼下面的组织和结构,但是表面绘制的技术如同给人照相,相片是不能反映人体的深层真实三维构造的,不能给医生以更多的判断信息;又如矿藏,通过探井数据我们可以大体推断其真三维结构。
因而,2D纹理贴图是将平面的、二维的相片贴到物体的几何表面上;(注意到2D相片可能和物体的几何表面大小不一致,所以需要一个灵活的映射机制,即插值函数,才能将纹理相片的像素值合理地映射到物体表面上); 3D纹理就是立体的“图形”,如同2D纹理是一个(x,y)形式的像素矩阵,3D纹理是一个(x,y,z)形式的三维像素矩阵,每一个(x,y,z)对应一个标量值;3D纹理贴图就是要把这个三维的像素阵列映射到三维的物体空间中去;通常将物体和3D纹理处理成立方体或圆柱体,可以更容易理解相关理论和实现。3D纹理和体绘制技术密切相关,体绘制(volume rendering)是科学可视化的重要手段。




固定管线:图形算法固定在硬件中。

可编程管线:顶点和片段处理是可编程的。 Cg是此种编程语言。


Cg专门用来处理顶点和片段的。 Cg程序的执行是独立的。一个顶点或片段的处理时, 对其他顶点或片段无影响。 执行Cg无任何副作用。


顶点---->顶点变换------>图元装配和光栅化---->片段纹理映射和着色---->光栅化


片段与像素。 像素代表帧缓存中某个指定位置的内容,如颜色、深度等。 光栅化会将覆盖的像素分解成像素大小的片段, 每个片段有一个与之关联的像素位置、深度、差值参数等。当片段经过各种各样的光栅化测试后,片段将被用于更新帧缓存中的像素。


Cg程序经过Cg编译器编译成D3D调用或者OpenGL调用。







05-14
<think>好的,我现在需要处理用户关于错误代码CG5017的查询。首先,用户提到他们想查找与CG5017相关的IT内容或错误代码,但根据提供的引用资料,里面并没有提到CG5017,而是引用了类代码53的错误,比如53038、53040等。这可能意味着用户混淆了错误代码的格式,或者是打错了代码。 接下来,我需要确认用户是否可能输入了错误的代码。例如,CG5017中的“CG”可能是一个前缀,而“5017”是错误编号。但根据引用中的信息,类代码53的错误通常以53开头,后面跟着三位数字,比如53038。因此,用户提到的CG5017可能与这些类代码53的错误无关。 另外,用户提供的引用内容涉及SQL操作中的错误,比如无效操作数或不一致的规范,这可能属于数据库或SQL执行时的错误。而CG5017可能属于其他系统或应用程序的错误代码,需要进一步确定来源。 考虑到用户可能是在使用某个特定的系统、软件或编程语言时遇到了这个错误,我需要询问更多上下文信息。例如,用户是否在使用某个数据库管理系统(如DB2)、特定的开发框架,或者是在运行某个应用程序时遇到该错误。 此外,用户之前的对话中引用了类代码53的错误,这可能表明他们之前在处理数据库相关的问题。因此,可能需要检查是否CG5017是该环境中的扩展错误代码,或者是其他组件的错误代码。 由于现有的信息不足以确定CG5017的具体含义,我应该建议用户提供更多上下文,例如错误出现的环境、操作步骤、完整的错误消息等。同时,可以建议用户检查官方文档、技术支持资源或错误代码手册,以获取准确的信息。 最后,需要确保回答结构清晰,帮助用户逐步解决问题,并保持真实可靠。如果无法找到CG5017的相关信息,应如实告知用户,并提供进一步的帮助建议。</think>关于错误代码“CG5017”的IT相关内容,目前公开的技术文档和常见错误代码库中暂未明确记录该代码的定义[^1]。根据常见的错误代码命名规则分析如下: ### 错误代码结构解析 1. **前缀分析**: - 若采用类似IBM DB2的类代码体系,类代码常以2位数字开头(如示例中的53) - "CG"前缀可能指向特定子系统,例如: * 图形子系统(Computer Graphics) * 编译器生成(Code Generation) * 自定义应用模块代码 2. **数字段分析**: - 5017可能包含层级信息: * 50:主分类(如编译错误) * 17:子分类(如类型不匹配) ### 建议排查步骤 1. **确认环境来源**: ```bash # 查看日志完整上下文 grep "CG5017" /var/log/app/system.log ``` 2. **检查关联文档**: - 若是开发环境错误,查看对应SDK文档的"Error Codes"章节 - 若是运行时错误,查阅中间件/框架的官方错误代码表 3. **验证操作一致性**: - 检查是否存在类似类代码53的规范冲突场景: ```sql -- 示例:检查SQL语句编码一致性 SELECT CHAR(0x41 USING ASCII), CHAR(0xC1 USING EBCDIC) -- 可能触发编码方案冲突错误[^1] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值