在线调查
 前10名:
1. Python8.5% 
2. PHP5.5% 
3. MFC4.1% 
4. C++3.7% 
5. 黑客3.2% 
6. Java2.9% 
7. C语言2.3% 
8. Lua2.1% 
9. C#2% 
10. 汇编2% 
搜索全部课程   搜索套餐课程   搜索课程类别  
输入课程名称关键字             

OpenGL 快速入门(四) -- Cg着色器语言



OpenGL 快速入门(四) -- Cg着色器语言 
◆ 价格:,电脑上网在线播放,学习有效期一年,有效期内下载需补差价10-15元

 ◆ 本课程讲解《Cg教程-可编程实时图形权威指南》

 ◆ 本课程注重通用性和基础性,通俗易懂,理论联系实际

 ◆ 本课程循序渐进,基础知识详细,实例丰富

 ◆ 本课程采用官方标准教材

 ◆ 本课程适合初学者

◆ 本课程一共 43 讲,课程视频 30小时24分钟





 
试学试看:只能用电脑,不能用手机或平板。

我要进入试听模式。


 课程简介
    本课程讲解如何编写Cg程序,课程内容一共10章,第1章简要介绍Cg语言,随后的每一章分别介绍Cg中的一个概念和编程技术,从简单的Cg程序开始,讲解参数、纹理和表达式,如何进行顶点变换,如何用Cg实现光照模型,如何用Cg顶点程序实现模型的动画和变换,如何实现环境贴图,如何实现凹凸贴图,雾、卡通光照、投影聚光、阴影贴图和复合技术等等,本课程适合初学者。
 课程内容

本课程一共 43 讲,课程视频 30小时24分钟


第1讲   第1章 简介(一)

第2讲   第1章 简介(二)

第3讲   第2章 最简单的程序(一)

第4讲   第2章 最简单的程序(二)

第5讲   第2章 最简单的程序(三)

第6讲   第3章 参数、纹理和表达式(一)

第7讲   第3章 参数、纹理和表达式(二)

第8讲   第3章 参数、纹理和表达式(三)

第9讲   第3章 参数、纹理和表达式(四)

第10讲  第4章 变换(一)

第11讲  第4章 变换(二)

第12讲  第5章 光照(一)

第13讲  第5章 光照(二)

第14讲  第5章 光照(三)

第15讲  第5章 光照(四)

第16讲  第5章 光照(五)

第17讲  第5章 光照(六)

第18讲  第5章 光照(七)

第19讲  第6章 动画(一)

第20讲  第6章 动画(二)

第21讲  第6章 动画(三)

第22讲  第6章 动画(四)

第23讲  第6章 动画(五)

第24讲  第6章 动画(六)

第25讲  第6章 动画(七)

第26讲  第7章 环境映射(一)

第27讲  第7章 环境映射(二)

第28讲  第7章 环境映射(三)

第29讲  第7章 环境映射(四)

第30讲  第8章 凹凸映射(一)

第31讲  第8章 凹凸映射(二)

第32讲  第8章 凹凸映射(三)

第33讲  第8章 凹凸映射(四)

第34讲  第8章 凹凸映射(五)

第35讲  第9章 高级论题 - 雾(一)

第36讲  第9章 高级论题 - 雾(二)

第37讲  第9章 高级论题 - 雾(三)

第38讲  第9章 高级论题 - 卡通着色(一)

第39讲  第9章 高级论题 - 卡通着色(二)

第40讲  第9章 高级论题 - 投影贴图(一)

第41讲  第9章 高级论题 - 投影贴图(二)

第42讲  第9章 高级论题 - 投影贴图(三)

第43讲  第10章 Profile和性能 - 课程结束






 教师简介
   主讲教师:
姓名  吴志强
单位  珠海市斯坦德软件开发有限公司·斯坦德软件人才培训中心·斯坦德大学生实训基地
职务  总经理
职称  总工程师、系统架构师

教育简历
  • 学历:硕士

  • 毕业时间:1993年

  • 毕业院校:哈尔滨工业大学


  • 技术认证
  • 微软认证讲师

  • 微软认证数据库管理员MCDBA

  • 微软认证网站开发专家MCP+SB

  • 微软认证解决方案开发专家MCSD

  • ISO9001软件企业质量认证评审技术专家


  • 专业技能
  • 总工程师

  • 系统架构师

  • Java架构师

  • .NET架构师




  • 吴志强老师是斯坦德软件开发有限公司总经理、斯坦德软件大学生实训基地首席教官,著名项目管理、软件工程专家。具有扎实的理论基础,丰富的项目开发、管理经验,自斯坦德软件创办以来,领导技术团队成功进行数十个应用软件项目开发和系统集成。丰富的项目开发经验、项目管理经验和坚实的理论基础使其授课过程中能充分理论联系实际,深入浅出形象生动,先后为政府机关、大型企业进行高端技术培训,获得用户及学员一致好评;公司创建的大学生实训基地被评为第一批共青团青年就业见习基地。

     教材目录
    第1章 简介 
    1.1 什么是Cg 
    1.1.1 为可编程图形硬件设计的语言 
    1.1.2 Cg的数据流模型 
    1.1.3 图形处理器的特殊性和中央处理器的通用性 
    1.1.4 Cg性能的基本原理 
    1.1.5 与传统编程语言共存 
    1.1.6 Cg的其他方面 
    1.1.7 Cg程序的有限执行环境 
    1.2 顶点、片段和图形流水线 
    1.2.1 计算机图形硬件的发展史 
    1.2.2 四代计算机图形硬件 
    1.2.3 图形硬件流水线 
    1.2.4 可编程图形流水线 
    1.2.5 Cg提供了顶点和片段的可编程能力 
    1.3 Cg的发展史 
    1.3.1 Microsoft和NVIDIA协作开发了Cg和HLSL 
    1.3.2 非交互的着色语言 
    1.3.3 三维图形的编程接口 
    1.4 Cg环境 
    1.4.1 标准三维编程接口OpenGL和Direct3D 
    1.4.2 Cg编译器和运行库(Runtime) 
    1.4.3 CgFX工具箱和文件格式 
    
    第2章 最简单的程序 
    2.1 一个简单的顶点程序 
    2.1.1 输出结构(Output Structure) 
    2.1.2 标识符 
    2.1.3 结构成员 
    2.1.4 向量 
    2.1.5 矩阵 
    2.1.6 语义 
    2.1.7 函数 
    2.1.8 输入和输出语义是不同的 
    2.1.9 函数体 
    2.2 编译你的例子 
    2.2.1 顶点程序Profile 
    2.2.2 Cg编译错误类别 
    2.2.3 依赖Profile的错误 
    2.2.4 标准多重入口函数 
    2.2.5 下载和配置顶点和片段程序 
    2.3 一个简单的片段程序 
    2.4 用顶点和片段示例程序渲染 
    2.4.1 用OpenGL渲染一个三角形 
    2.4.2 用Direct3D渲染一个三角形 
    2.4.3 获得同样的结果 
    
    第3章 参数、纹理和表达式 
    3.1 参数 
    3.1.1 Uniform参数 
    3.1.2 const类型限制符 
    3.1.3 Varying参数 
    3.2 纹理样本 
    3.2.1 样本对象 
    3.2.2 纹理采样 
    3.2.3 在对一个纹理采样的时候,发送纹理坐标 
    3.3 数学表达式 
    3.3.1 操作符 
    3.3.2 依赖于profile的数值数据类型 
    3.3.3 标准库内置的函数 
    3.3.4 二维扭曲 
    3.3.5 重影效果 
    
    第4章 变换 
    4.1 坐标系统 
    4.1.1 物体空间 
    4.1.2 齐次坐标 
    4.1.3 世界空间 
    4.1.4 建模变换 
    4.1.5 眼睛空间 
    4.1.6 视变换 
    4.1.7 剪裁空间 
    4.1.8 投影变换 
    4.1.9 标准化的设备坐标 
    4.1.10 窗口坐标 
    4.2 理论应用 
    
    第5章 光照 
    5.1 光照和光照模型 
    5.2 实现基本的每个顶点的光照模型 
    5.2.1 基本的光照模型 
    5.2.2 一个基本的每个顶点光照的顶点程序 
    5.2.3 每个顶点光照的片段程序 
    5.2.4 单个顶点光照结果 
    5.3 单个片段光照 
    5.3.1 实现每个片段的光照 
    5.3.2 用于每个片段光照的顶点程序 
    5.3.3 用于每个片段光照的片段程序 
    5.4 创建一个光照函数 
    5.4.1 声明一个函数 
    5.4.2 一个光照函数 
    5.4.3 结构 
    5.4.4 数组 
    5.4.5 流控制 
    5.4.6 计算漫反射和镜面反射光照 
    5.5 扩展基本模型 
    5.5.1 距离衰减 
    5.5.2 增加一个聚光灯效果 
    5.5.3 平行光 
    
    第6章 动画 
    6.1 随时间运动 
    6.2 一个有规律搏动的物体 
    6.2.1 顶点程序 
    6.2.2 位移计算 
    6.3 粒子系统 
    6.3.1 初始化条件 
    6.3.2 向量化计算 
    6.3.3 粒子系统的参数 
    6.3.4 顶点程序 
    6.3.5 修饰你的粒子系统 
    6.4 关键帧插值 
    6.4.1 关键帧的背景知识 
    6.4.2 插值方法 
    6.4.3 基本的关键帧插值 
    6.4.4 带光照的关键帧插值 
    6.5 顶点混合 
    6.5.1 顶点混合理论 
    6.5.2 在顶点程序中的顶点混合 
    
    第7章 环境映射技术 
    7.1 环境映射 
    7.1.1 立方贴图纹理 
    7.1.2 生成立方贴图 
    7.1.3 环境映射的概念 
    7.1.4 计算反射向量 
    7.1.5 环境映射的一些假设 
    7.2 反射环境映射 
    7.2.1 应用程序指定的参数 
    7.2.2 顶点程序 
    7.2.3 片段程序 
    7.2.4 控制贴图 
    7.2.5 顶点程序与片段程序 
    7.3 折射环境映射 
    7.3.1 折射的物理原理 
    7.3.2 顶点程序 
    7.3.3 片段程序 
    7.4 菲涅耳效果和颜色色散 
    7.4.1 菲涅耳效果 
    7.4.2 颜色色散 
    7.4.3 应用程序指定的参数 
    7.4.4 顶点程序 
    7.4.5 片段程序 
    
    第8章 凹凸映射 
    8.1 凹凸映射一个砖墙 
    8.1.1 砖墙的法向量贴图 
    8.1.2 把凹凸贴图存储成法向量贴图纹理 
    8.1.3 对一个砖墙的简单凹凸映射 
    8.1.4 带镜面反射的凹凸映射 
    8.1.5 凹凸映射其他几何图形 
    8.2 凹凸映射一个砖铺的地板 
    8.3 凹凸映射一个圆环 
    8.3.1 圆环的数学表示 
    8.3.2 凹凸映射的圆环的顶点程序 
    8.4 凹凸映射纹理的多边形网格 
    8.4.1 考察单独一个三角形 
    8.4.2 一些告诫 
    8.4.3 推广到一个多边形的网格 
    8.5 把凹凸映射和其他效果结合在一起 
    8.5.1 印花贴图(Decal Map) 
    8.5.2 光泽贴图 
    8.5.3 投射自己的几何阴影(Geometric Self-Shadowing) 
    
    第9章 高级论题 
    9.1 雾 
    9.1.1 均匀的雾 
    9.1.2 雾的属性 
    9.1.3 雾的数学运算 
    9.1.4 直觉化公式 
    9.1.5 用Cg创建均匀的雾 
    9.2 非真实性渲染 
    9.2.1 卡通着色 
    9.2.2 实现卡通着色 
    9.2.3 集成在一起 
    9.2.4 卡通着色技术存在的一些问题 
    9.3 投影贴图 
    9.3.1 投影纹理如何工作 
    9.3.2 实现投影纹理贴图 
    9.3.3 投影纹理贴图的代码 
    9.4 阴影映射 
    9.5 合成 
    9.5.1 把输入映射到输出像素 
    9.5.2 基本的合成操作 
    
    第10章 Profile和性能 
    10.1 Profile描述 
    10.1.1 DirectX8的顶点着色器Profile 
    10.1.2 OpenGL的基本NVIDIA顶点程序Profile 
    10.1.3 OpenGL的ARB顶点程序Profile 
    10.1.4 DirectX 9的顶点着色器Profile 
    10.1.5 OpenGL高级NVIDIA顶点程序Profile 
    10.1.6 DirectX 8的像素着色器Profile 
    10.1.7 用于OpenGL的基本NVIDIA片段程序Profile 
    10.1.8 DirectX 9像素着色器Profile 
    10.1.9 OpenGL的ARB片段程序Profile 
    10.1.10 OpenGL高级NVIDIA片段程序Profile 
    10.2 性能 
    10.2.1 使用Cg标准库 
    10.2.2 充分利用统一参数 
    10.2.3 使用顶点程序与片段程序 
    10.2.4 数据类型和它们对性能的影响 
    10.2.5 充分利用向量化 
    10.2.6 使用纹理来编码函数 
    10.2.7 自由使用重组(Swizzling)和取反(Negation) 
    10.2.8 只对必须着色的像素进行着色 
    10.2.9 简短的汇编代码并不是更快的性能所必须的 
    

     

              

    登录学习平台可以找老师答疑,下面是随机显示的一些学习问题解答:

     

    学生(ID-AB66FA):
    老师:首先表示衷心的感谢!老师就是技高一筹。我试了一下,输出结果:

    “Tuesday

    今天是".$weekday.",保持昨天的好状态,继续努力”

    有一点小问题,变量$weekday还是原样输出(用的是双引号)。

    另外,应该怎样修改相关设置?否则以后也会麻烦不断的。而且,我们还是用中文的时候多,现在我就有意识的能用中文的地方尽量用中文。刚刚做过了“数组”的

    练习,“索引”我就尝试写成中文的了。

    请老师给予具体指导,再一次表示衷心感谢!!

    梁老师:
    小龙同学:
        你好,你可能没有留意你的输出语句例如
           echo  '今天是" .$weekday. ",新的一周又开始啦!';
        这个输出语句外面是单引号,如果是单引号,那么" .$weekday. "这部分就会被当做字符串输出,而不是变量和字符串的连接。应该改成":
          echo  '今天是' .$weekday. ',新的一周又开始啦!';
    或者
          echo  "今天是$weekday,新的一周又开始啦!";
    这两句才可以。

        此外,如果你想多用中文的是好的,那么要注意字符集要尽量保持一致的。比如网页中所用的字符集及数据库对应的字符集。还要注意所使用的函数对中文的支持。因为PHP中基本都是函数的使用,所以最好手头有关于PHP函数的手册或电子文档,可以帮助查看这些函数的使用说明。

    学生(ID-3CBB47):
    老师:本例如果第二个玩家用W,A,S,D操作,该怎么写,书中提到的字母键码名称“VK_W”"VK_A"好像用不了啊。

    吴老师:
    这些常量,都是在WinUser.h头文件里定义的,右击VK_UP-->转到定义,就可以打开这个头文件。

    头文件里有一些关于VK_A - VK_Z的说明,

    #define VK_LEFT           0x25
    #define VK_UP             0x26
    #define VK_RIGHT          0x27
    #define VK_DOWN           0x28
    #define VK_SELECT         0x29
    #define VK_PRINT          0x2A
    #define VK_EXECUTE        0x2B
    #define VK_SNAPSHOT       0x2C
    #define VK_INSERT         0x2D
    #define VK_DELETE         0x2E
    #define VK_HELP           0x2F

    /*
     * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
     * 0x40 : unassigned
     * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)  <--- 就是这里!
     */

    微软说,现在不写VK_A,VK_B这些了,直接写'A','B'等等,你把游戏改成下面的代码,第二个玩家就可以玩了。

    #define VK_LWIN           0x5B


    void HandleKeys()
    {
    if(!g_bGameOver)
    {
    if(GetAsyncKeyState(VK_UP)<0)
    SteerCycle(0,0);
    else if(GetAsyncKeyState(VK_RIGHT)<0)
    SteerCycle(0,1);
    else if(GetAsyncKeyState(VK_DOWN)<0)
    SteerCycle(0,2);
    else if(GetAsyncKeyState(VK_LEFT)<0)
    SteerCycle(0,3);
    else if(GetAsyncKeyState('A')<0)
    SteerCycle(1,3);
    else if(GetAsyncKeyState('D')<0)
    SteerCycle(1,1);
    else if(GetAsyncKeyState('W')<0)
    SteerCycle(1,0);
    else if(GetAsyncKeyState('S')<0)
    SteerCycle(1,2);
    }else if(GetAsyncKeyState(VK_RETURN)<0)
    NewGame();
    }

    祝学习进步!

    学生(ID-5DAACF):
    老师,网校有没有ajax实战教程啊,比如实现搜索提示啊这些常用功能
    help i cheated on my boyfriend i dreamed i cheated on my boyfriend how to cheat on boyfriend

    吴老师:
    猎豹网校上有《Java Ajax 经典教程》、《PHP Ajax 经典教程》、《ASP.NET Ajax 经典教程》。


     
     
     
     
     

      电话: 13726235258
    2281446216  2281446216(王老师) 1845930532  1845930532(杨老师)
    购物车 查看交学费帐号信息 登录学习平台
    网站备案信息   网络警察,举报有奖。  

    版权所有 2000-2018 猎豹网校 斯坦德学习网 - 珠海市斯坦德软件开发有限公司 电话:13726235258

    粤ICP备11083568号 珠海市公安局备案编号:4404024022371